Interface ConfigurationPropertyModel

All Superinterfaces:
PropertyResolver, Serializable
All Known Subinterfaces:
MutableConfigurationPropertyModel
All Known Implementing Classes:
BasicConfigurationPropertyModel, BasicMutableConfigurationPropertyModel

public interface ConfigurationPropertyModel extends 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 Details

  • Method Details

    • getCurrentModelVersion

      long getCurrentModelVersion()
      Returns the current model version, incremented when the model is changed.
    • getModelProperties

      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

      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> Optional<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

      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.
    • containsAll

      boolean containsAll(ConfigurationPropertyModel target)
      True if the ConfigurationPropertyModel contains all the properties and allowed values of the target