public StateVariableValue(StateVariable<S> stateVariable, Object value) throws InvalidValueException { super(stateVariable.getTypeDetails().getDatatype(), value); this.stateVariable = stateVariable; }
public Datatype<S> getDatatype(ActionArgument argument) { return getRelatedStateVariable(argument).getTypeDetails().getDatatype(); }
@Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("(").append(getClass().getSimpleName()); sb.append(", Name: ").append(getName()); sb.append(", Type: ").append(getTypeDetails().getDatatype().getDisplayString()).append(")"); if (!getEventDetails().isSendEvents()) { sb.append(" (No Events)"); } if (getTypeDetails().getDefaultValue() != null) { sb.append(" Default Value: ").append("'").append(getTypeDetails().getDefaultValue()).append("'"); } if (getTypeDetails().getAllowedValues() != null) { sb.append(" Allowed Values: "); for (String s : getTypeDetails().getAllowedValues()) { sb.append(s).append("|"); } } return sb.toString(); } }
public List<ValidationError> validate() { List<ValidationError> errors = new ArrayList<>(); if (getDatatype() == null) { errors.add(new ValidationError( getClass(), if (!Datatype.Builtin.STRING.equals(getDatatype().getBuiltin())) { errors.add(new ValidationError( getClass(), "allowedValues", "Allowed value list of state variable only available for string datatype, not: " + getDatatype() ));
@Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int columns) { StateVariableValuesTableModel model = (StateVariableValuesTableModel)table.getModel(); StateVariableValue stateVariableValue = model.getValueAt(row); StateVariable stateVariable = stateVariableValue.getStateVariable(); switch (stateVariable.getTypeDetails().getDatatype().getBuiltin()) { case BOOLEAN: return new BooleanArgumentValueCellComponent(stateVariableValue); default: String stringValue; if (stateVariableValue != null && stateVariableValue.toString().length() > 0) { stringValue = stateVariableValue.toString(); } else { stringValue = "<<NULL>>"; } return super.getTableCellRendererComponent( table, stringValue, isSelected, hasFocus, row, columns ); } }
public boolean isModeratedNumericType() { return Datatype.Builtin.isNumeric( getTypeDetails().getDatatype().getBuiltin() ) && getEventDetails().getEventMinimumDelta() > 0; }
protected void validateType(StateVariable stateVariable, Class type) throws LocalServiceBindingException { // Validate datatype as good as we can // (for enums and other convertible types, the state variable type should be STRING) Datatype.Default expectedDefaultMapping = ModelUtil.isStringConvertibleType(getStringConvertibleTypes(), type) ? Datatype.Default.STRING : Datatype.Default.getByJavaType(type); log.finer("Expecting '" + stateVariable + "' to match default mapping: " + expectedDefaultMapping); if (expectedDefaultMapping != null && !stateVariable.getTypeDetails().getDatatype().isHandlingJavaType(expectedDefaultMapping.getJavaType())) { // TODO: Consider custom types?! throw new LocalServiceBindingException( "State variable '" + stateVariable + "' datatype can't handle action " + "argument's Java type (change one): " + expectedDefaultMapping.getJavaType() ); } else if (expectedDefaultMapping == null && stateVariable.getTypeDetails().getDatatype().getBuiltin() != null) { throw new LocalServiceBindingException( "State variable '" + stateVariable + "' should be custom datatype " + "(action argument type is unknown Java type): " + type.getSimpleName() ); } log.finer("State variable matches required argument datatype (or can't be validated because it is custom)"); }
setToolTipText(nodeStateVariable.getTypeDetails().getDatatype().getDisplayString()); setText(nodeStateVariable.getName() + (nodeStateVariable.getEventDetails().isSendEvents() ? " (Sends Events)" : ""));
if (stateVariable.getTypeDetails().getDatatype() instanceof CustomDatatype) { appendNewElementIfNotNull(descriptor, stateVariableElement, ELEMENT.dataType, ((CustomDatatype)stateVariable.getTypeDetails().getDatatype()).getName()); } else { appendNewElementIfNotNull(descriptor, stateVariableElement, ELEMENT.dataType, stateVariable.getTypeDetails().getDatatype().getBuiltin().getDescriptorName());
public StateVariableValue(StateVariable<S> stateVariable, Object value) throws InvalidValueException { super(stateVariable.getTypeDetails().getDatatype(), value); this.stateVariable = stateVariable; }
public Datatype<S> getDatatype(ActionArgument argument) { return getRelatedStateVariable(argument).getTypeDetails().getDatatype(); }
serviceNode.add(stateVariableNode); addIfNotNull(stateVariableNode, "Datatype: ", stateVariable.getTypeDetails().getDatatype().getDisplayString()); addIfNotNull(stateVariableNode, "Default Value: ", stateVariable.getTypeDetails().getDefaultValue());
@Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("(").append(getClass().getSimpleName()); sb.append(", Name: ").append(getName()); sb.append(", Type: ").append(getTypeDetails().getDatatype().getDisplayString()).append(")"); if (!getEventDetails().isSendEvents()) { sb.append(" (No Events)"); } if (getTypeDetails().getDefaultValue() != null) { sb.append(" Default Value: ").append("'").append(getTypeDetails().getDefaultValue()).append("'"); } if (getTypeDetails().getAllowedValues() != null) { sb.append(" Allowed Values: "); for (String s : getTypeDetails().getAllowedValues()) { sb.append(s).append("|"); } } return sb.toString(); } }
public List<ValidationError> validate() { List<ValidationError> errors = new ArrayList(); if (getDatatype() == null) { errors.add(new ValidationError( getClass(), if (!Datatype.Builtin.STRING.equals(getDatatype().getBuiltin())) { errors.add(new ValidationError( getClass(), "allowedValues", "Allowed value list of state variable only available for string datatype, not: " + getDatatype() ));
public boolean isModeratedNumericType() { return Datatype.Builtin.isNumeric( getTypeDetails().getDatatype().getBuiltin() ) && getEventDetails().getEventMinimumDelta() > 0; }
protected void validateType(StateVariable stateVariable, Class type) throws LocalServiceBindingException { // Validate datatype as good as we can // (for enums and other convertible types, the state variable type should be STRING) Datatype.Default expectedDefaultMapping = ModelUtil.isStringConvertibleType(getStringConvertibleTypes(), type) ? Datatype.Default.STRING : Datatype.Default.getByJavaType(type); log.finer("Expecting '" + stateVariable + "' to match default mapping: " + expectedDefaultMapping); if (expectedDefaultMapping != null && !stateVariable.getTypeDetails().getDatatype().isHandlingJavaType(expectedDefaultMapping.getJavaType())) { // TODO: Consider custom types?! throw new LocalServiceBindingException( "State variable '" + stateVariable + "' datatype can't handle action " + "argument's Java type (change one): " + expectedDefaultMapping.getJavaType() ); } else if (expectedDefaultMapping == null && stateVariable.getTypeDetails().getDatatype().getBuiltin() != null) { throw new LocalServiceBindingException( "State variable '" + stateVariable + "' should be custom datatype " + "(action argument type is unknown Java type): " + type.getSimpleName() ); } log.finer("State variable matches required argument datatype (or can't be validated because it is custom)"); }
if (stateVariable.getTypeDetails().getDatatype() instanceof CustomDatatype) { appendNewElementIfNotNull(descriptor, stateVariableElement, ELEMENT.dataType, ((CustomDatatype)stateVariable.getTypeDetails().getDatatype()).getName()); } else { appendNewElementIfNotNull(descriptor, stateVariableElement, ELEMENT.dataType, stateVariable.getTypeDetails().getDatatype().getBuiltin().getDescriptorName());
public StateVariableValue(StateVariable<S> stateVariable, Object value) throws InvalidValueException { super(stateVariable.getTypeDetails().getDatatype(), value); this.stateVariable = stateVariable; }
public Datatype<S> getDatatype(ActionArgument argument) { return getRelatedStateVariable(argument).getTypeDetails().getDatatype(); }
public boolean isModeratedNumericType() { return Datatype.Builtin.isNumeric( getTypeDetails().getDatatype().getBuiltin() ) && getEventDetails().getEventMinimumDelta() > 0; }