Registers 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.
addClassifiedValue
<T>voidaddClassifiedValue(String classification,
Property<T> keyProp,
T value)
Links a particular value to a given classification. This value will become one of the allowed values for the
property, and then the properties registered for the classification will become available when the value is
selected.
Resource 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.
Resource 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.
addDependantProperties
default<T>voidaddDependantProperties(Property<T> prop,
T value,
Property<?>... properties)
Registers properties that are only available if the specified property is equal to the given value.
Same as single-value registerDependentProperties, but when multiple values are valid. Slightly more efficient
than registering each value independently.
removeDependantProperties
<T>voidremoveDependantProperties(Property<T> prop,
T value)
Removes all dependant properties for the given value.
Registers 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.
This 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.