Class AbstractExtendedPropertySet<T extends PropertySet>
- java.lang.Object
-
- com.inductiveautomation.ignition.common.config.AbstractExtendedPropertySet<T>
-
- All Implemented Interfaces:
Countable,Extendable<PropertySet>,Mergable<PropertySet>,MutablePropertyValueSource,PropertySet,PropertyValueSource,java.io.Serializable,java.lang.Iterable<PropertyValue>
- Direct Known Subclasses:
BoundExtendedPropertySet,ExtendedPropertySet
public abstract class AbstractExtendedPropertySet<T extends PropertySet> extends java.lang.Object implements PropertySet
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractExtendedPropertySet()Protected, because only sub classes can set the data.AbstractExtendedPropertySet(T local, T parent)Use the static function if you want to optionally create this only when necessary.
-
Method Summary
All Methods Instance Methods Abstract 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()PropertySetgetExtension()This returns an object that represents the value only for the most "local" level.protected <T> TgetImpl(Property<T> prop, T orElse, boolean orDefault)TgetLocal()protected TgetOrCreateLocal()<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.TgetParent()<T> TgetParentProperty(Property<T> prop)java.util.Collection<Property<?>>getProperties()protected abstract TinstantiateLocal()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 localDefinitionsOnly)Merges the values from other collection into this one.voidremove(Property<?> prop)<T> voidset(Property<T> prop, T value)voidset(PropertyValue propValue)protected voidsetImpl(Property prop, java.lang.Object val)voidsetLocal(T value)voidsetParent(T value)java.lang.StringtoString()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.inductiveautomation.ignition.common.config.PropertySet
extend, newDefaultInstance, newExtension
-
Methods inherited from interface com.inductiveautomation.ignition.common.config.PropertyValueSource
getNonNull, getNonNull, getValues
-
-
-
-
Field Detail
-
parent
protected T extends PropertySet parent
-
local
protected T extends PropertySet local
-
-
Constructor Detail
-
AbstractExtendedPropertySet
public AbstractExtendedPropertySet(T local, T parent)
Use the static function if you want to optionally create this only when necessary.
-
AbstractExtendedPropertySet
protected AbstractExtendedPropertySet()
Protected, because only sub classes can set the data.
-
-
Method Detail
-
getLocal
public T getLocal()
-
getParent
public T getParent()
-
setLocal
public void setLocal(T value)
-
setParent
public void setParent(T value)
-
getImpl
protected <T> T getImpl(Property<T> prop, T orElse, boolean orDefault)
-
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
-
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.
-
getParentProperty
public <T> T getParentProperty(Property<T> prop)
-
instantiateLocal
protected abstract T instantiateLocal()
-
getOrCreateLocal
protected T getOrCreateLocal()
-
set
public <T> void set(Property<T> prop, T value)
- Specified by:
setin interfaceMutablePropertyValueSource
-
set
public void set(PropertyValue propValue)
- Specified by:
setin interfaceMutablePropertyValueSource
-
setImpl
protected void setImpl(Property prop, java.lang.Object val)
-
remove
public void remove(Property<?> prop)
- Specified by:
removein interfaceMutablePropertyValueSource
-
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
-
iterator
@Nonnull public java.util.Iterator<PropertyValue> iterator()
- Specified by:
iteratorin interfacejava.lang.Iterable<T extends PropertySet>
-
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
-
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<T extends PropertySet>- Specified by:
getExtensionin interfacePropertySet
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
merge
public void merge(PropertySet other, boolean localDefinitionsOnly)
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<T extends PropertySet>- Specified by:
mergein interfaceMutablePropertyValueSource
-
-