Class PropertySetConfig
- java.lang.Object
-
- com.inductiveautomation.ignition.common.config.PropertySetConfig
-
- All Implemented Interfaces:
Countable
,Extendable<PropertySet>
,Mergable<PropertySet>
,MutablePropertyValueSource
,ObservablePropertySet
,PropertySet
,PropertySetEdit
,PropertyValueSource
,VersionedPropertySet
,java.io.Serializable
,java.lang.Iterable<PropertyValue>
- Direct Known Subclasses:
AlarmDefinitionConfig
,BoundPropertySetConfig
public class PropertySetConfig extends java.lang.Object implements VersionedPropertySet, PropertySetEdit, ObservablePropertySet
Like other Config entities, this object houses a source PropertySet and a Diff. Changes are made to the diff, and the diff is consulted first for retrieving values. The source object is consulted with the diff has no information for the property.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected PropertySetDiff
edit
protected PropertySet
source
-
Fields inherited from interface com.inductiveautomation.ignition.common.config.PropertySet
EMPTY
-
Fields inherited from interface com.inductiveautomation.ignition.common.config.VersionedPropertySet
EMPTY
-
-
Constructor Summary
Constructors Constructor Description PropertySetConfig(PropertySet source)
PropertySetConfig(PropertySet source, PropertySetDiff editTarget)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addPropertyChangeListener(Property<?> property, java.beans.PropertyChangeListener listener)
void
addPropertyChangeListener(java.beans.PropertyChangeListener listener)
protected java.beans.PropertyChangeSupport
change()
boolean
contains(Property<?> prop)
static PropertySetConfig
create(PropertySet source)
Returns a wrapping PropertySetConfig, unless the source already is one, then just casts it.protected PropertySetDiff
createDiff()
void
discardChanges()
protected void
firePropertyChange(Property<?> property, java.lang.Object oldValue, java.lang.Object newValue)
<T> T
get(Property<T> prop)
Retrieves the value of the property, or null if this set doesn't contain that property.int
getCount()
PropertySetDiff
getEdit()
java.util.Set<Property<?>>
getModified()
<T> T
getOrDefault(Property<T> prop)
<T> T
getOrElse(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()
PropertySet
getSource()
protected <T> T
getSuperValue(Property<T> prop)
java.util.List<PropertyValue>
getValues()
Returns the opaque PropertyValue objects.protected boolean
goToSuper(Property<?> prop)
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.boolean
isModified(Property<?> property)
protected boolean
isRemoved(Property<?> prop)
java.util.Iterator<PropertyValue>
iterator()
void
mergeDiffToSource()
void
remove(Property<?> prop)
void
removePropertyChangeListener(Property<?> property, java.beans.PropertyChangeListener listener)
void
removePropertyChangeListener(java.beans.PropertyChangeListener listener)
void
revert(Property<?> prop)
<T> void
set(Property<T> prop, T value)
void
set(PropertyValue propValue)
protected void
setImpl(Property prop, java.lang.Object val)
-
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.MutablePropertyValueSource
merge
-
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
-
-
-
-
Field Detail
-
source
protected PropertySet source
-
edit
protected PropertySetDiff edit
-
-
Constructor Detail
-
PropertySetConfig
public PropertySetConfig(PropertySet source, PropertySetDiff editTarget)
-
PropertySetConfig
public PropertySetConfig(PropertySet source)
-
-
Method Detail
-
create
public static PropertySetConfig create(PropertySet source)
Returns a wrapping PropertySetConfig, unless the source already is one, then just casts it.
-
getSource
public PropertySet getSource()
-
getEdit
public PropertySetDiff getEdit()
-
createDiff
protected PropertySetDiff createDiff()
-
mergeDiffToSource
public void mergeDiffToSource()
-
discardChanges
public void discardChanges()
-
getModified
public java.util.Set<Property<?>> getModified()
- Specified by:
getModified
in interfaceVersionedPropertySet
-
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
-
getSuperValue
protected <T> T getSuperValue(Property<T> prop)
-
goToSuper
protected boolean goToSuper(Property<?> prop)
-
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.
-
getOrElse
public <T> T getOrElse(Property<T> property, 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:
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.
-
setImpl
protected void setImpl(Property prop, java.lang.Object val)
-
set
public <T> void set(Property<T> prop, T value)
- Specified by:
set
in interfaceMutablePropertyValueSource
-
set
public void set(PropertyValue propValue)
- Specified by:
set
in interfaceMutablePropertyValueSource
-
remove
public void remove(Property<?> prop)
- Specified by:
remove
in interfaceMutablePropertyValueSource
-
revert
public void revert(Property<?> prop)
- Specified by:
revert
in interfacePropertySetEdit
-
contains
public boolean contains(Property<?> prop)
- Specified by:
contains
in interfacePropertyValueSource
- Returns:
- True if the source contains a value for prop.
-
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
-
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
-
isModified
public boolean isModified(Property<?> property)
- Specified by:
isModified
in interfacePropertySetEdit
- Specified by:
isModified
in interfaceVersionedPropertySet
-
getProperties
public java.util.Collection<Property<?>> getProperties()
- Specified by:
getProperties
in interfacePropertyValueSource
-
getValues
public java.util.List<PropertyValue> getValues()
Description copied from interface:PropertyValueSource
Returns 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:
getValues
in interfacePropertyValueSource
-
iterator
public java.util.Iterator<PropertyValue> iterator()
- Specified by:
iterator
in interfacejava.lang.Iterable<PropertyValue>
-
isRemoved
protected boolean isRemoved(Property<?> prop)
-
change
protected java.beans.PropertyChangeSupport change()
-
firePropertyChange
protected void firePropertyChange(Property<?> property, java.lang.Object oldValue, java.lang.Object newValue)
-
addPropertyChangeListener
public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
- Specified by:
addPropertyChangeListener
in interfaceObservablePropertySet
-
removePropertyChangeListener
public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
- Specified by:
removePropertyChangeListener
in interfaceObservablePropertySet
-
addPropertyChangeListener
public void addPropertyChangeListener(Property<?> property, java.beans.PropertyChangeListener listener)
- Specified by:
addPropertyChangeListener
in interfaceObservablePropertySet
-
removePropertyChangeListener
public void removePropertyChangeListener(Property<?> property, java.beans.PropertyChangeListener listener)
- Specified by:
removePropertyChangeListener
in interfaceObservablePropertySet
-
-