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
,Serializable
,Iterable<PropertyValue>
- Direct Known Subclasses:
BoundExtendedPropertySet
,ExtendedPropertySet
public abstract class AbstractExtendedPropertySet<T extends PropertySet>
extends Object
implements PropertySet
- See Also:
-
Field Summary
FieldsFields inherited from interface com.inductiveautomation.ignition.common.config.PropertySet
EMPTY
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
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
Modifier and TypeMethodDescriptionboolean
<P> P
Retrieves the value of the property, or null if this set doesn't contain that property.int
getCount()
This returns an object that represents the value only for the most "local" level.protected <P> P
getLocal()
protected T
<P> P
getOrDefault
(Property<P> prop) <P> P
Get the value for a givenProperty
, or else fall back to value if it's not present.<P> P
getParentProperty
(Property<P> prop) Collection<Property<?>>
protected abstract T
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 localDefinitionsOnly) Merges the values from other collection into this one.void
<P> void
void
set
(PropertyValue propValue) protected void
void
void
toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
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 Details
-
parent
-
local
-
-
Constructor Details
-
AbstractExtendedPropertySet
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 Details
-
getLocal
-
getParent
-
setLocal
-
setParent
-
getImpl
-
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
-
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.
-
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:
property
- 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.
-
getParentProperty
-
instantiateLocal
-
getOrCreateLocal
-
set
- Specified by:
set
in interfaceMutablePropertyValueSource
-
set
- Specified by:
set
in interfaceMutablePropertyValueSource
-
setImpl
-
remove
- Specified by:
remove
in interfaceMutablePropertyValueSource
-
contains
- Specified by:
contains
in interfacePropertyValueSource
- Returns:
- True if the source contains a value for prop.
-
getCount
public int getCount() -
getProperties
- Specified by:
getProperties
in interfacePropertyValueSource
-
iterator
- Specified by:
iterator
in interfaceIterable<T extends PropertySet>
-
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
-
isInherited
Description copied from interface:PropertySet
Indicates whether the property was inherited from a parent type.- Specified by:
isInherited
in interfacePropertySet
-
getExtension
Description copied from interface:Extendable
This 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:
getExtension
in interfaceExtendable<T extends PropertySet>
- Specified by:
getExtension
in interfacePropertySet
-
toString
-
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<T extends PropertySet>
- Specified by:
merge
in interfaceMutablePropertyValueSource
-