Class PropertySetDiff

java.lang.Object
com.inductiveautomation.ignition.common.config.PropertySetDiff
All Implemented Interfaces:
Countable, Extendable<PropertySet>, Mergable<PropertySet>, MutablePropertyValueSource, PropertySet, PropertySetEdit, PropertyValueSource, Serializable, Iterable<PropertyValue>
Direct Known Subclasses:
AlarmDefinitionDiff, BoundPropertySetDiff, TagDiff

public class PropertySetDiff extends Object implements PropertySet, PropertySetEdit
See Also:
  • Constructor Details

    • PropertySetDiff

      public PropertySetDiff()
    • PropertySetDiff

      public PropertySetDiff(PropertySet copy)
  • Method Details

    • isRemoved

      public boolean isRemoved(Property<?> prop)
    • isModified

      public boolean isModified(Property<?> prop)
      Specified by:
      isModified in interface PropertySetEdit
    • getModified

      public Set<Property<?>> getModified()
    • 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 interface PropertySetEdit
    • 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 interface PropertyValueSource
    • getOrDefault

      public <T> T getOrDefault(Property<T> prop)
      Specified by:
      getOrDefault in interface PropertyValueSource
      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 given Property, or else fall back to value if it's not present.
      Specified by:
      getOrElse in interface PropertyValueSource
      Parameters:
      property - The Property 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 interface MutablePropertyValueSource
    • set

      public void set(PropertyValue propValue)
      Specified by:
      set in interface MutablePropertyValueSource
    • setRaw

      protected void setRaw(Property<?> prop, Object value)
    • getRaw

      protected Object getRaw(Property<?> prop)
    • remove

      public void remove(Property<?> prop)
      Specified by:
      remove in interface MutablePropertyValueSource
    • contains

      public boolean contains(Property<?> prop)
      Specified by:
      contains in interface PropertyValueSource
      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.
      Specified by:
      getCount in interface Countable
    • getProperties

      public Collection<Property<?>> getProperties()
      Specified by:
      getProperties in interface PropertyValueSource
    • getRemoved

      public Collection<Property<?>> getRemoved()
    • getValues

      public 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 interface PropertyValueSource
    • iterator

      public Iterator<PropertyValue> iterator()
      Specified by:
      iterator in interface Iterable<PropertyValue>
    • isExtended

      public boolean isExtended(Property<?> prop)
      The diff object always returns false for isExtended.
      Specified by:
      isExtended in interface PropertySet
    • 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 interface PropertySet
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • compactChanges

      public void compactChanges()