Class DelegatePropertySet
- java.lang.Object
-
- com.inductiveautomation.ignition.common.config.DelegatePropertySet
-
- All Implemented Interfaces:
Countable
,Extendable<PropertySet>
,Mergable<PropertySet>
,MutablePropertyValueSource
,PropertySet
,PropertyValueSource
,java.io.Serializable
,java.lang.Iterable<PropertyValue>
- Direct Known Subclasses:
BasicVersionedPropertySet
public class DelegatePropertySet extends java.lang.Object implements PropertySet
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:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface com.inductiveautomation.ignition.common.config.PropertySet
EMPTY
-
-
Constructor Summary
Constructors Constructor Description DelegatePropertySet()
DelegatePropertySet(PropertySet target)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
contains(Property<?> prop)
<T> T
get(Property<T> prop)
Retrieves the value of the property, or null if this set doesn't contain that property.int
getCount()
<T> T
getOrDefault(Property<T> prop)
<T> T
getOrElse(Property<T> prop, T value)
Get the value for a givenProperty
, or else fall back to value if it's not present.java.util.Collection<Property<?>>
getProperties()
PropertySet
getTarget()
java.util.List<PropertyValue>
getValues()
boolean
hasTarget()
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.java.util.Iterator<PropertyValue>
iterator()
void
merge(PropertySet other, boolean local)
Merges the values from other collection into this one.void
remove(Property<?> prop)
<T> void
set(Property<T> prop, T value)
void
set(PropertyValue propValue)
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.PropertySet
extend, getExtension, newDefaultInstance, newExtension
-
Methods inherited from interface com.inductiveautomation.ignition.common.config.PropertyValueSource
getNonNull, getNonNull
-
-
-
-
Constructor Detail
-
DelegatePropertySet
public DelegatePropertySet()
-
DelegatePropertySet
public DelegatePropertySet(PropertySet target)
-
-
Method Detail
-
setDelegateTarget
public void setDelegateTarget(PropertySet value)
-
hasTarget
public boolean hasTarget()
-
getTarget
public PropertySet getTarget()
-
get
public <T> T get(Property<T> prop)
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
public <T> void set(Property<T> prop, T value)
- Specified by:
set
in interfaceMutablePropertyValueSource
-
contains
public boolean contains(Property<?> prop)
- Specified by:
contains
in interfacePropertyValueSource
- Returns:
- True if the source contains a value for prop.
-
set
public void set(PropertyValue propValue)
- Specified by:
set
in interfaceMutablePropertyValueSource
-
iterator
public java.util.Iterator<PropertyValue> iterator()
- Specified by:
iterator
in interfacejava.lang.Iterable<PropertyValue>
-
remove
public void remove(Property<?> prop)
- Specified by:
remove
in interfaceMutablePropertyValueSource
-
getOrDefault
public <T> T getOrDefault(Property<T> prop)
- 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
public java.util.Collection<Property<?>> getProperties()
- Specified by:
getProperties
in interfacePropertyValueSource
-
getValues
public java.util.List<PropertyValue> getValues()
- Specified by:
getValues
in interfacePropertyValueSource
-
isExtended
public boolean isExtended(Property<?> prop)
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
public <T> T getOrElse(Property<T> prop, T value)
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
public boolean isInherited(Property<?> prop)
Description copied from interface:PropertySet
Indicates whether the property was inherited from a parent type.- Specified by:
isInherited
in interfacePropertySet
-
merge
public void merge(PropertySet other, boolean local)
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
-
-