private void initialise(YVariable variable, boolean isInputOutput, String decompositionID) { startValues = new Values(); startValues.name = variable.getName(); startValues.dataType = variable.getDataTypeName(); startValues.index = variable.getOrdering(); startValues.attributes = variable.getAttributes(); startValues.logPredicate = variable.getLogPredicate(); startValues.value = null; if (isInputOutput) { startValues.scope = YDataHandler.INPUT_OUTPUT; } else if (variable instanceof YParameter) { if (((YParameter) variable).getParamType() == YParameter._INPUT_PARAM_TYPE) { startValues.scope = YDataHandler.INPUT; } else { startValues.scope = YDataHandler.OUTPUT; startValues.value = variable.getDefaultValue(); } } else { startValues.scope = YDataHandler.LOCAL; startValues.value = variable.getInitialValue(); } endValues = startValues.copy(); setDecompositionID(decompositionID); initialiseValidity(); }
// new row added at runtime, so no starting values public VariableRow(int scope) { startValues = new Values(); // just to avoid NPEs endValues = new Values(); endValues.name = ""; endValues.dataType = "string"; endValues.scope = scope; endValues.value = ""; endValues.attributes = new YAttributeMap(); initialiseValidity(); }
public Values copy() { Values copy = new Values(); copy.name = name; copy.dataType = dataType; copy.scope = scope; copy.index = index; copy.value = value; copy.inputBinding = inputBinding; copy.outputBinding = outputBinding; copy.attributes = new YAttributeMap(attributes); copy.logPredicate = cloneLogPredicate(); return copy; }
public void setDataType(String dataType) { if (!(dataType == null || dataType.equals(getDataType()))) { endValues.dataType = dataType; if (isLocal()) initialiseValue(dataType); } }