Interface ConfigurationPropertyModel
-
- All Superinterfaces:
PropertyResolver
,java.io.Serializable
- All Known Subinterfaces:
MutableConfigurationPropertyModel
- All Known Implementing Classes:
BasicConfigurationPropertyModel
,BasicMutableConfigurationPropertyModel
public interface ConfigurationPropertyModel extends java.io.Serializable, PropertyResolver
The ConfigurationPropertyModel is a transferable (serializable) model of properties. The main role of the model is to track property inter-dependencies. That is, which properties are valid based on the values of other properties. Also, it tracks the allowed value for properties (assuming the values are restricted). For example, properties that reference extension point profiles.
-
-
Field Summary
Fields Modifier and Type Field Description static ConfigurationPropertyModel
EMPTY_MODEL
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
contains(Property<?> property)
Returns whether this property is contained in the model at all.java.util.Set<Property<?>>
getAffectedProperties(Property<?> property)
Called after editing the given property, this returns the props whose isRelevant/isEditable should be called.<T> java.util.Optional<java.util.Collection<T>>
getAllowedValues(Property<T> property)
If the range of allowed properties is restricted, this will return the valid values.java.util.List<Property<?>>
getApplicableProperties(PropertySet config)
Given the current config, returns the properties that should be displayed.long
getCurrentModelVersion()
Returns the current model version, incremented when the model is changed.java.util.Set<Property<?>>
getModelProperties()
Returns properties that are in some way registered with the model.boolean
isApplicable(PropertySet config, Property<?> property)
Returns whether a property is relevant given the current configuration.boolean
isCustomizable(Property<?> property)
Returns whether a property that has allowed values defined also allows custom values.boolean
isModelProperty(Property<?> property)
Returns true if this is a property that is contained in the Model Properties.void
mergeTo(MutableConfigurationPropertyModel target)
Takes the traits of this configuration prop model and puts them in the target model.-
Methods inherited from interface com.inductiveautomation.ignition.common.config.PropertyResolver
resolve
-
-
-
-
Field Detail
-
EMPTY_MODEL
static final ConfigurationPropertyModel EMPTY_MODEL
-
-
Method Detail
-
getCurrentModelVersion
long getCurrentModelVersion()
Returns the current model version, incremented when the model is changed.
-
getModelProperties
java.util.Set<Property<?>> getModelProperties()
Returns properties that are in some way registered with the model. Any property in a PropertySet that is not in this Set is a custom property.
-
isModelProperty
boolean isModelProperty(Property<?> property)
Returns true if this is a property that is contained in the Model Properties.
-
getApplicableProperties
java.util.List<Property<?>> getApplicableProperties(PropertySet config)
Given the current config, returns the properties that should be displayed. There is no need to call isApplicable for each, as that would be true. The properties are returned in desired display order.
-
isApplicable
boolean isApplicable(PropertySet config, Property<?> property)
Returns whether a property is relevant given the current configuration.
-
getAllowedValues
<T> java.util.Optional<java.util.Collection<T>> getAllowedValues(Property<T> property)
If the range of allowed properties is restricted, this will return the valid values. Otherwise it will return Optional.empty, in which case the editor should be built based on the property type.
-
isCustomizable
boolean isCustomizable(Property<?> property)
Returns whether a property that has allowed values defined also allows custom values.
-
getAffectedProperties
java.util.Set<Property<?>> getAffectedProperties(Property<?> property)
Called after editing the given property, this returns the props whose isRelevant/isEditable should be called. The result of those calls means that properties might be added or removed to the editable property list.
-
contains
boolean contains(Property<?> property)
Returns whether this property is contained in the model at all. Does not indicate whether it would be applicable to the current config or not.
-
mergeTo
void mergeTo(MutableConfigurationPropertyModel target)
Takes the traits of this configuration prop model and puts them in the target model.
-
-