protected FlexibleStringExpander globalExdr;
protected String type;
public SetField(ModelTree.ModelNode modelNode, Element setElement) {
super (modelNode, setElement);
this.field = new FlexibleMapAccessor(setElement.getAttribute("field"));
this.fromField = UtilValidate.isNotEmpty(setElement.getAttribute("from-field")) ? new FlexibleMapAccessor(setElement.getAttribute("from-field")) : null;
this.valueExdr = UtilValidate.isNotEmpty(setElement.getAttribute("value")) ? new FlexibleStringExpander(setElement.getAttribute("value")) : null;
this.globalExdr = new FlexibleStringExpander(setElement.getAttribute("global"));
this.type = setElement.getAttribute("type");
if (this.fromField != null && this.valueExdr != null) {
throw new IllegalArgumentException("Cannot specify a from-field [" + setElement.getAttribute("from-field") + "] and a value [" + setElement.getAttribute("value") + "] on the set action in a tree widget");