Class DelegatePropertySet
java.lang.Object
com.inductiveautomation.ignition.common.config.DelegatePropertySet
- All Implemented Interfaces:
BoundPropertySet
,Countable
,Extendable<PropertySet>
,Mergable<PropertySet>
,MutablePropertyValueSource
,PropertySet
,PropertyValueSource
,Serializable
,Iterable<PropertyValue>
- Direct Known Subclasses:
BasicVersionedPropertySet
This implementation of PropertySet simply delegates to a different one. Useful in cases where the target must be
updated, but the referencing object cannot update that target (in other words, a class holds a propertyset, but some
other entity must update the target).
- See Also:
-
Field Summary
Fields inherited from interface com.inductiveautomation.ignition.common.config.PropertySet
EMPTY
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
<T> T
Retrieves the value of the property, or null if this set doesn't contain that property.Collection<Property<?>>
getBoundValue
(Property<?> prop) int
getCount()
<T> T
getOrDefault
(Property<T> prop) <T> T
Get the value for a givenProperty
, or else fall back to value if it's not present.Collection<Property<?>>
Returns the opaque PropertyValue objects.boolean
boolean
boolean
isExtended
(Property<?> prop) Returns whether this property set contains a value for the prop, and the prop was actually inherited.boolean
isInherited
(Property<?> prop) Indicates whether the property was inherited from a parent type.iterator()
void
merge
(PropertySet other, boolean local) Merges the values from other collection into this one.void
<T> void
void
set
(PropertyValue propValue) void
setBoundValue
(Property<?> prop, BoundValue value) void
setDelegateTarget
(PropertySet value) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.inductiveautomation.ignition.common.config.BoundPropertySet
extend, getBoundOrDefault, newDefaultInstance, newExtension
Methods inherited from interface java.lang.Iterable
forEach, spliterator
Methods inherited from interface com.inductiveautomation.ignition.common.config.PropertySet
getExtension
Methods inherited from interface com.inductiveautomation.ignition.common.config.PropertyValueSource
getNonNull, getNonNull
-
Constructor Details
-
DelegatePropertySet
public DelegatePropertySet() -
DelegatePropertySet
-
-
Method Details
-
setDelegateTarget
-
hasTarget
public boolean hasTarget() -
getTarget
-
get
Description copied from interface:PropertyValueSource
Retrieves the value of the property, or null if this set doesn't contain that property.- Specified by:
get
in interfacePropertyValueSource
-
set
- Specified by:
set
in interfaceMutablePropertyValueSource
-
contains
- Specified by:
contains
in interfacePropertyValueSource
- Returns:
- True if the source contains a value for prop.
-
set
- Specified by:
set
in interfaceMutablePropertyValueSource
-
iterator
- Specified by:
iterator
in interfaceIterable<PropertyValue>
-
remove
- Specified by:
remove
in interfaceMutablePropertyValueSource
-
getCount
public int getCount() -
getOrDefault
- Specified by:
getOrDefault
in interfacePropertyValueSource
- Returns:
- The value for prop or
Property.getDefaultValue()
if not present. Can return null if the value is null.
-
getProperties
- Specified by:
getProperties
in interfacePropertyValueSource
-
getValues
Description copied from interface:PropertyValueSource
Returns the opaque PropertyValue objects. This can be useful when you want to avoid the strict type checking of the value, and it's important to note that if the property is bound, the value will be a BoundValue. Be very careful about overriding, and make sure to maintain the methodology of using getProperties to iterate and get (or getOrDefault), to get the value, because those are all handled differently by BoundPropertySets, ExtendedPropertySets, etc.- Specified by:
getValues
in interfaceBoundPropertySet
- Specified by:
getValues
in interfacePropertyValueSource
-
isBound
- Specified by:
isBound
in interfaceBoundPropertySet
-
setBoundValue
- Specified by:
setBoundValue
in interfaceBoundPropertySet
-
getBoundValue
- Specified by:
getBoundValue
in interfaceBoundPropertySet
-
getBoundProperties
- Specified by:
getBoundProperties
in interfaceBoundPropertySet
-
isExtended
Description copied from interface:PropertySet
Returns whether this property set contains a value for the prop, and the prop was actually inherited. In other words, this is true if the property is inherited, and an override value is present.- Specified by:
isExtended
in interfacePropertySet
-
getOrElse
Description copied from interface:PropertyValueSource
Get the value for a givenProperty
, or else fall back to value if it's not present.- Specified by:
getOrElse
in interfacePropertyValueSource
- Parameters:
prop
- TheProperty
for which a value is to be retrieved.value
- The value to default to if property isn't present.- Returns:
- The value of property if present, value if not. Can return null if the value is null.
-
isInherited
Description copied from interface:PropertySet
Indicates whether the property was inherited from a parent type.- Specified by:
isInherited
in interfacePropertySet
-
merge
Description copied from interface:Mergable
Merges the values from other collection into this one. Replaces any currently existing value with those from the other set.- Specified by:
merge
in interfaceMergable<PropertySet>
- Specified by:
merge
in interfaceMutablePropertyValueSource
-