Class BasicMutableConfigurationPropertyModel
java.lang.Object
com.inductiveautomation.ignition.common.config.BasicConfigurationPropertyModel
com.inductiveautomation.ignition.common.config.BasicMutableConfigurationPropertyModel
- All Implemented Interfaces:
ConfigurationPropertyModel,MutableConfigurationPropertyModel,PropertyResolver,Serializable
public class BasicMutableConfigurationPropertyModel
extends BasicConfigurationPropertyModel
implements MutableConfigurationPropertyModel
This is the basic serializable version of the configuration property model.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classNested classes/interfaces inherited from class com.inductiveautomation.ignition.common.config.BasicConfigurationPropertyModel
BasicConfigurationPropertyModel.DefaultRankedProperty, BasicConfigurationPropertyModel.InternalProperty<T>, BasicConfigurationPropertyModel.RankedProperty -
Field Summary
Fields inherited from class com.inductiveautomation.ignition.common.config.BasicConfigurationPropertyModel
resourcesFields inherited from interface com.inductiveautomation.ignition.common.config.ConfigurationPropertyModel
EMPTY_MODEL -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddClassifiedProperties(String classification, Property<?> prop, Collection<Property<?>> properties) Registers a set of properties that would be available for a given value of a certain classification.<T> voidaddClassifiedValue(String classification, Property<T> keyProp, T value) This is where we associate a particular value with a certain classification.<T> voidaddDependantProperties(Property<T> prop, Collection<T> values, Collection<Property<?>> properties) Same as single-value registerDependentProperties, but when multiple values are valid.<T> voidaddDependantProperties(Property<T> prop, T value, Collection<Property<?>> properties) Registers properties that are only available if the specified property is equal to the given value.voidaddProperties(Collection<Property<?>> properties) Registers properties that are always editable.<T> voidaddResourceValue(String classification, T... value) Resource values are a type of value that multiple properties can share.longReturns the current model version, incremented when the model is changed.Returns a serializable, non-mutable version of the model appropriate for sending to the designer or remote gateways.protected voidvoidmarkImmutable(Property<?> property) This effectively excludes a property from ever being "applicable".of(Collection<Property<?>> props) <T> voidregisterAllowedValues(Property<T> property, List<T> values) Registers a set of allowed values for the given property.voidremoveClassifiedProperties(String classification, Property<?> keyProp) <T> voidremoveClassifiedValue(String classification, Property<T> keyProp, T value) <T> voidremoveDependantProperties(Property<T> prop, T value) Removes all dependant properties for the given value.voidremoveProperties(Collection<Property<?>> properties) Unregisters tag properties.voidsetAllowCustomValue(Property<?> property, boolean value) Marks whether or not a property that has allowed values is also customizable.<T> voidsetAllowedValues(Property<T> property, List<T> values) Registers a set of allowed values for the given property.<T> voidsetResourceValues(String classification, Collection<T> values) Resource values are a type of value that multiple properties can share.<T> voidsetResourceValueSource(Property<T> property, String classification) Sets a "resource type" as the value source.Methods inherited from class com.inductiveautomation.ignition.common.config.BasicConfigurationPropertyModel
compareRankedProperties, connectDependency, contains, containsAll, getAffectedProperties, getAllowedValues, getApplicableProperties, getModelProperties, getResourceValues, isApplicable, isCustomizable, isModelProperty, mergeTo, p, resolveMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.inductiveautomation.ignition.common.config.ConfigurationPropertyModel
contains, containsAll, getAffectedProperties, getAllowedValues, getApplicableProperties, getModelProperties, isApplicable, isCustomizable, isModelProperty, mergeToMethods inherited from interface com.inductiveautomation.ignition.common.config.MutableConfigurationPropertyModel
addDependantProperties, addProperties, removePropertiesMethods inherited from interface com.inductiveautomation.ignition.common.config.PropertyResolver
resolve
-
Constructor Details
-
BasicMutableConfigurationPropertyModel
public BasicMutableConfigurationPropertyModel()
-
-
Method Details
-
getCurrentModelVersion
public long getCurrentModelVersion()Description copied from interface:ConfigurationPropertyModelReturns the current model version, incremented when the model is changed.- Specified by:
getCurrentModelVersionin interfaceConfigurationPropertyModel- Overrides:
getCurrentModelVersionin classBasicConfigurationPropertyModel
-
incrementModelVersion
protected void incrementModelVersion() -
getModelSnapshot
Description copied from interface:MutableConfigurationPropertyModelReturns a serializable, non-mutable version of the model appropriate for sending to the designer or remote gateways.- Specified by:
getModelSnapshotin interfaceMutableConfigurationPropertyModel
-
of
-
of
-
markImmutable
Description copied from interface:MutableConfigurationPropertyModelThis effectively excludes a property from ever being "applicable". However, it's still used to evaluate dependencies. Therefore, it's used when we want sets of properties to be dependent on a value that should not be changed through any sort of editing UI.- Specified by:
markImmutablein interfaceMutableConfigurationPropertyModel
-
addProperties
Description copied from interface:MutableConfigurationPropertyModelRegisters properties that are always editable.- Specified by:
addPropertiesin interfaceMutableConfigurationPropertyModel
-
removeProperties
Description copied from interface:MutableConfigurationPropertyModelUnregisters tag properties. Only affects properties registered by registerProperties.- Specified by:
removePropertiesin interfaceMutableConfigurationPropertyModel
-
registerAllowedValues
Description copied from interface:MutableConfigurationPropertyModelRegisters a set of allowed values for the given property. If values are already defined, these will be added to them.- Specified by:
registerAllowedValuesin interfaceMutableConfigurationPropertyModel
-
setAllowedValues
Description copied from interface:MutableConfigurationPropertyModelRegisters a set of allowed values for the given property. If values are already defined, they will be replaced. If the property is a string type, the empty string option will automatically be added. This function is primarily used by string options that want to allow selection from a list of profiles, or objects. Often these properties allow "" but don't provide it as a value from their model. If you really want to not allow the empty option, you can call setAllowedValues(p, null), and then call registerAllowedValues(...) with the values you want.- Specified by:
setAllowedValuesin interfaceMutableConfigurationPropertyModel
-
setAllowCustomValue
Description copied from interface:MutableConfigurationPropertyModelMarks whether or not a property that has allowed values is also customizable.- Specified by:
setAllowCustomValuein interfaceMutableConfigurationPropertyModel
-
addDependantProperties
public <T> void addDependantProperties(Property<T> prop, T value, Collection<Property<?>> properties) Description copied from interface:MutableConfigurationPropertyModelRegisters properties that are only available if the specified property is equal to the given value.- Specified by:
addDependantPropertiesin interfaceMutableConfigurationPropertyModel
-
addDependantProperties
public <T> void addDependantProperties(Property<T> prop, Collection<T> values, Collection<Property<?>> properties) Description copied from interface:MutableConfigurationPropertyModelSame as single-value registerDependentProperties, but when multiple values are valid. Slightly more efficient than registering each value independently.- Specified by:
addDependantPropertiesin interfaceMutableConfigurationPropertyModel
-
removeDependantProperties
Description copied from interface:MutableConfigurationPropertyModelRemoves all dependant properties for the given value.- Specified by:
removeDependantPropertiesin interfaceMutableConfigurationPropertyModel
-
addClassifiedProperties
public void addClassifiedProperties(String classification, Property<?> prop, Collection<Property<?>> properties) Description copied from interface:MutableConfigurationPropertyModelRegisters a set of properties that would be available for a given value of a certain classification. This is typically used for properties registered by extension points. The type id is the "class", and then as profiles are added and removed, they are registered/unregistered with registerClassifiedValue.- Specified by:
addClassifiedPropertiesin interfaceMutableConfigurationPropertyModel
-
addClassifiedValue
This is where we associate a particular value with a certain classification.- Specified by:
addClassifiedValuein interfaceMutableConfigurationPropertyModel
-
removeClassifiedProperties
- Specified by:
removeClassifiedPropertiesin interfaceMutableConfigurationPropertyModel
-
removeClassifiedValue
- Specified by:
removeClassifiedValuein interfaceMutableConfigurationPropertyModel
-
addResourceValue
Description copied from interface:MutableConfigurationPropertyModelResource values are a type of value that multiple properties can share. The are registered here, and then separately a property must be set to use a resource value type with setResourceValueSource(id). An example of this would be Tag Groups- multiple properties use them. This function adds available values to anything that was already registered.- Specified by:
addResourceValuein interfaceMutableConfigurationPropertyModel
-
setResourceValues
Description copied from interface:MutableConfigurationPropertyModelResource values are a type of value that multiple properties can share. The are registered here, and then separately a property must be set to use a resource value type with setResourceValueSource(id). An example of this would be Tag Groups- multiple properties use them. This function sets the available values, replacing anything that was previously registered.- Specified by:
setResourceValuesin interfaceMutableConfigurationPropertyModel
-
setResourceValueSource
Description copied from interface:MutableConfigurationPropertyModelSets a "resource type" as the value source. These are values that are registered through add/setResourceValue.- Specified by:
setResourceValueSourcein interfaceMutableConfigurationPropertyModel
-