Class ImmutablePropertySet
- java.lang.Object
-
- com.inductiveautomation.ignition.common.config.ImmutablePropertySet
-
- All Implemented Interfaces:
Countable,Extendable<PropertySet>,Mergable<PropertySet>,MutablePropertyValueSource,PropertySet,PropertyValueSource,java.io.Serializable,java.lang.Iterable<PropertyValue>
public class ImmutablePropertySet extends java.lang.Object implements PropertySet
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface com.inductiveautomation.ignition.common.config.PropertySet
EMPTY
-
-
Constructor Summary
Constructors Constructor Description ImmutablePropertySet()ImmutablePropertySet(PropertySet internal)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancontains(Property<?> prop)PropertySetextend(PropertySet parent)If called on a child, gets the extension with the given parent.voidforEach(java.util.function.Consumer<? super PropertyValue> action)<T> Tget(Property<T> prop)Retrieves the value of the property, or null if this set doesn't contain that property.intgetCount()PropertySetgetExtension()This returns an object that represents the value only for the most "local" level.<T> TgetOrDefault(Property<T> prop)<T> TgetOrElse(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()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)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)java.util.Spliterator<PropertyValue>spliterator()-
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
newDefaultInstance, newExtension
-
Methods inherited from interface com.inductiveautomation.ignition.common.config.PropertyValueSource
getNonNull, getNonNull
-
-
-
-
Constructor Detail
-
ImmutablePropertySet
public ImmutablePropertySet()
-
ImmutablePropertySet
public ImmutablePropertySet(PropertySet internal)
-
-
Method Detail
-
merge
public void merge(PropertySet other)
- Specified by:
mergein interfaceMergable<PropertySet>
-
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
-
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
-
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
-
contains
public boolean contains(Property<?> prop)
- Specified by:
containsin interfacePropertyValueSource- Returns:
- True if the source contains a value for prop.
-
getProperties
public java.util.Collection<Property<?>> getProperties()
- Specified by:
getPropertiesin interfacePropertyValueSource
-
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.
-
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
-
extend
public PropertySet extend(PropertySet parent)
Description copied from interface:ExtendableIf called on a child, gets the extension with the given parent.- Specified by:
extendin interfaceExtendable<PropertySet>- Specified by:
extendin interfacePropertySet
-
iterator
public java.util.Iterator<PropertyValue> iterator()
- Specified by:
iteratorin interfacejava.lang.Iterable<PropertyValue>
-
getOrElse
public <T> T getOrElse(Property<T> prop, 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:
prop- 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.
-
getExtension
public PropertySet getExtension()
Description copied from interface:ExtendableThis returns an object that represents the value only for the most "local" level. That is, this is the difference between the inherited base and the current extension. Complex objects should ensure that trait is true for all aspects of the returned value.- Specified by:
getExtensionin interfaceExtendable<PropertySet>- Specified by:
getExtensionin interfacePropertySet
-
forEach
public void forEach(java.util.function.Consumer<? super PropertyValue> action)
- Specified by:
forEachin interfacejava.lang.Iterable<PropertyValue>
-
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
-
spliterator
public java.util.Spliterator<PropertyValue> spliterator()
- Specified by:
spliteratorin interfacejava.lang.Iterable<PropertyValue>
-
-