Class PropertySetDiff
- java.lang.Object
-
- com.inductiveautomation.ignition.common.config.PropertySetDiff
-
- All Implemented Interfaces:
Countable
,Extendable<PropertySet>
,Mergable<PropertySet>
,MutablePropertyValueSource
,PropertySet
,PropertySetEdit
,PropertyValueSource
,VersionedPropertySet
,java.io.Serializable
,java.lang.Iterable<PropertyValue>
- Direct Known Subclasses:
AlarmDefinitionDiff
,BoundPropertySetDiff
,TagDiff
public class PropertySetDiff extends java.lang.Object implements PropertySet, PropertySetEdit, VersionedPropertySet
- See Also:
- Serialized Form
-
-
Field Summary
-
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 PropertySetDiff()
PropertySetDiff(PropertySet copy)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
compactChanges()
boolean
contains(Property<?> prop)
<T> T
get(Property<T> prop)
Retrieves the value of the property, or null if this set doesn't contain that property.int
getCount()
For the diff, returns the combined size of modified and removed, so it can be used to see if there are any changes, as the value will be >0.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()
protected java.lang.Object
getRaw(Property<?> prop)
java.util.Collection<Property<?>>
getRemoved()
java.util.List<PropertyValue>
getValues()
Returns the opaque PropertyValue objects.boolean
hasChanges()
boolean
isExtended(Property<?> prop)
The diff object always returns false for isExtended.boolean
isInherited(Property<?> prop)
Indicates whether the property was inherited from a parent type.boolean
isModified(Property<?> prop)
boolean
isRemoved(Property<?> prop)
java.util.Iterator<PropertyValue>
iterator()
void
remove(Property<?> prop)
void
revert(Property<?> property)
Removes the property from the modified map, but unlike "remove", doesn't add it to the removed set.<T> void
set(Property<T> prop, T value)
void
set(PropertyValue propValue)
protected void
setRaw(Property<?> prop, java.lang.Object value)
java.lang.String
toString()
-
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.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
-
-
-
-
Constructor Detail
-
PropertySetDiff
public PropertySetDiff()
-
PropertySetDiff
public PropertySetDiff(PropertySet copy)
-
-
Method Detail
-
isRemoved
public boolean isRemoved(Property<?> prop)
-
isModified
public boolean isModified(Property<?> prop)
- Specified by:
isModified
in interfacePropertySetEdit
- Specified by:
isModified
in interfaceVersionedPropertySet
-
getModified
public java.util.Set<Property<?>> getModified()
- Specified by:
getModified
in interfaceVersionedPropertySet
-
revert
public void revert(Property<?> property)
Removes the property from the modified map, but unlike "remove", doesn't add it to the removed set.- Specified by:
revert
in interfacePropertySetEdit
-
hasChanges
public boolean hasChanges()
-
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
-
setRaw
protected void setRaw(Property<?> prop, java.lang.Object value)
-
getRaw
protected java.lang.Object getRaw(Property<?> prop)
-
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.
-
getCount
public int getCount()
For the diff, returns the combined size of modified and removed, so it can be used to see if there are any changes, as the value will be >0.
-
getProperties
public java.util.Collection<Property<?>> getProperties()
- Specified by:
getProperties
in interfacePropertyValueSource
-
getRemoved
public java.util.Collection<Property<?>> getRemoved()
-
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)
The diff object always returns false for isExtended.- 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
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
compactChanges
public void compactChanges()
-
-