Class BasicPropertySet
- java.lang.Object
-
- com.inductiveautomation.ignition.common.config.BasicPropertySet
-
- All Implemented Interfaces:
Countable
,Extendable<PropertySet>
,Mergable<PropertySet>
,MutablePropertyValueSource
,ObservablePropertySet
,PropertySet
,PropertyValueSource
,java.io.Serializable
,java.lang.Iterable<PropertyValue>
- Direct Known Subclasses:
AuthChallenge
,BasicAlarmDefinition
,BasicAlarmEvent
,BasicBoundPropertySet
,BasicUser
,ChartUIElement
,EventData
,IdentityTraits
,PipelineDescriptor
,TagDefinition
,TagEditResources
public class BasicPropertySet extends java.lang.Object implements java.io.Serializable, ObservablePropertySet
A collection of properties and values.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
BasicPropertySet.Builder
-
Field Summary
-
Fields inherited from interface com.inductiveautomation.ignition.common.config.PropertySet
EMPTY
-
-
Constructor Summary
Constructors Constructor Description BasicPropertySet()
BasicPropertySet(PropertySet other)
BasicPropertySet(PropertySet other, boolean localOnly)
BasicPropertySet(PropertyValue... values)
BasicPropertySet(java.util.Map<? extends Property<?>,java.lang.Object> copy)
-
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()
Returns this property set's property change support.protected java.lang.Object
coerceValue(Property<?> property, java.lang.Object object)
boolean
contains(Property<?> prop)
boolean
equals(java.lang.Object obj)
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()
PropertySet
getExtension()
This returns an object that represents the value only for the most "local" level.<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()
protected java.lang.Object
getRaw(Property<?> prop)
java.util.Map<Property<?>,java.lang.Object>
getRawValueMap()
java.util.List<PropertyValue>
getValues()
Returns the opaque PropertyValue objects.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.java.util.Iterator<PropertyValue>
iterator()
static PropertySet
of(PropertyValue... values)
void
remove(Property<?> prop)
void
removePropertyChangeListener(Property<?> property, java.beans.PropertyChangeListener listener)
void
removePropertyChangeListener(java.beans.PropertyChangeListener listener)
<T> void
set(Property<T> prop, T value)
void
set(PropertyValue propValue)
void
setDirect(Property<?> p, java.lang.Object value)
This function generally shouldn't be called by classes that do not extend.protected void
setImpl(Property<?> property, java.lang.Object object)
void
setRawValueMap(java.util.Map<? extends Property<?>,java.lang.Object> copy)
java.lang.String
toString()
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, 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, newDefaultInstance, newExtension
-
Methods inherited from interface com.inductiveautomation.ignition.common.config.PropertyValueSource
getNonNull, getNonNull
-
-
-
-
Constructor Detail
-
BasicPropertySet
public BasicPropertySet()
-
BasicPropertySet
public BasicPropertySet(PropertyValue... values)
-
BasicPropertySet
public BasicPropertySet(PropertySet other)
-
BasicPropertySet
public BasicPropertySet(PropertySet other, boolean localOnly)
-
BasicPropertySet
public BasicPropertySet(java.util.Map<? extends Property<?>,java.lang.Object> copy)
-
-
Method Detail
-
of
public static PropertySet of(PropertyValue... values)
-
getRawValueMap
public java.util.Map<Property<?>,java.lang.Object> getRawValueMap()
-
setRawValueMap
public void setRawValueMap(java.util.Map<? extends Property<?>,java.lang.Object> copy)
-
getRaw
protected java.lang.Object getRaw(Property<?> prop)
-
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
-
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.
-
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
-
setImpl
protected void setImpl(Property<?> property, java.lang.Object object)
-
coerceValue
protected java.lang.Object coerceValue(Property<?> property, java.lang.Object object)
-
setDirect
public void setDirect(Property<?> p, java.lang.Object value)
This function generally shouldn't be called by classes that do not extend. However, for composite purposes, it needs to be public.
-
remove
public void remove(Property<?> prop)
- Specified by:
remove
in interfaceMutablePropertyValueSource
-
contains
public boolean contains(Property<?> prop)
- Specified by:
contains
in interfacePropertyValueSource
- Returns:
- True if the source contains a value for prop.
-
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>
-
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
-
getExtension
public PropertySet 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<PropertySet>
- Specified by:
getExtension
in interfacePropertySet
-
change
protected java.beans.PropertyChangeSupport change()
Returns this property set's property change support. Initializes on first call.
-
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
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
-