Class CompositePropertySet
- java.lang.Object
-
- com.inductiveautomation.ignition.common.config.CompositePropertySet
-
- All Implemented Interfaces:
Countable,Extendable<PropertySet>,Mergable<PropertySet>,MutablePropertyValueSource,PropertySet,PropertyValueSource,java.io.Serializable,java.lang.Iterable<PropertyValue>
public class CompositePropertySet extends java.lang.Object implements PropertySet
A composite property set holds multiple other property sets, and loops through them to find properties.In regards to the property set interface, any adds or merges will be applied to a new internal propertyset. In other words, the operations will work as expected in regards to this object, but nothing will be transfered to the other property sets. However, removal operations will be applied to each wrapped propertyset.
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface com.inductiveautomation.ignition.common.config.PropertySet
EMPTY
-
-
Constructor Summary
Constructors Constructor Description CompositePropertySet(PropertySet... sets)CompositePropertySet(java.util.List<PropertySet> sets)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancontains(Property<?> prop)<T> Tget(Property<T> prop)Retrieves the value of the property, or null if this set doesn't contain that property.intgetCount()protected PropertySetgetInternal()<T> TgetOrDefault(Property<T> prop)<T> TgetOrElse(Property<T> property, T value)Get the value for a givenProperty, or else fall back to value if it's not present.java.util.Collection<Property<?>>getProperties()java.util.List<PropertyValue>getValues()Returns the opaque PropertyValue objects.booleanisExtended(Property<?> prop)Returns whether this property set contains a value for the prop, and the prop was actually inherited.booleanisInherited(Property<?> prop)Indicates whether the property was inherited from a parent type.java.util.Iterator<PropertyValue>iterator()voidmerge(PropertySet other, boolean local)Merges the values from other collection into this one.voidremove(Property<?> prop)<T> voidset(Property<T> prop, T value)voidset(PropertyValue propValue)-
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
-
CompositePropertySet
public CompositePropertySet(java.util.List<PropertySet> sets)
-
CompositePropertySet
public CompositePropertySet(PropertySet... sets)
-
-
Method Detail
-
getInternal
protected PropertySet getInternal()
-
iterator
public java.util.Iterator<PropertyValue> iterator()
- Specified by:
iteratorin interfacejava.lang.Iterable<PropertyValue>
-
contains
public boolean contains(Property<?> prop)
- Specified by:
containsin interfacePropertyValueSource- Returns:
- True if the source contains a value for prop.
-
getOrDefault
public <T> T getOrDefault(Property<T> prop)
- Specified by:
getOrDefaultin interfacePropertyValueSource- Returns:
- The value for prop or
Property.getDefaultValue()if not present. Can return null if the value is null.
-
getOrElse
public <T> T getOrElse(Property<T> property, T value)
Description copied from interface:PropertyValueSourceGet the value for a givenProperty, or else fall back to value if it's not present.- Specified by:
getOrElsein interfacePropertyValueSource- Parameters:
property- ThePropertyfor 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.
-
get
public <T> T get(Property<T> prop)
Description copied from interface:PropertyValueSourceRetrieves the value of the property, or null if this set doesn't contain that property.- Specified by:
getin interfacePropertyValueSource
-
set
public <T> void set(Property<T> prop, T value)
- Specified by:
setin interfaceMutablePropertyValueSource
-
set
public void set(PropertyValue propValue)
- Specified by:
setin interfaceMutablePropertyValueSource
-
remove
public void remove(Property<?> prop)
- Specified by:
removein interfaceMutablePropertyValueSource
-
getProperties
public java.util.Collection<Property<?>> getProperties()
- Specified by:
getPropertiesin interfacePropertyValueSource
-
getValues
public java.util.List<PropertyValue> getValues()
Description copied from interface:PropertyValueSourceReturns 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:
getValuesin interfacePropertyValueSource
-
isExtended
public boolean isExtended(Property<?> prop)
Description copied from interface:PropertySetReturns 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:
isExtendedin interfacePropertySet
-
isInherited
public boolean isInherited(Property<?> prop)
Description copied from interface:PropertySetIndicates whether the property was inherited from a parent type.- Specified by:
isInheritedin interfacePropertySet
-
merge
public void merge(PropertySet other, boolean local)
Description copied from interface:MergableMerges the values from other collection into this one. Replaces any currently existing value with those from the other set.- Specified by:
mergein interfaceMergable<PropertySet>- Specified by:
mergein interfaceMutablePropertyValueSource
-
-