Interface BoundPropertySet

All Superinterfaces:
Countable, Extendable<PropertySet>, Iterable<PropertyValue>, Mergable<PropertySet>, MutablePropertyValueSource, PropertySet, PropertyValueSource, Serializable
All Known Subinterfaces:
TagConfiguration, TagConfigurationModel, VersionedPropertySet
All Known Implementing Classes:
BasicBoundPropertySet, BasicTagConfiguration, BasicTagConfigurationModel, BasicVersionedPropertySet, BoundExtendedPropertySet, BoundPropertySetConfig, BoundPropertySetDiff, DelegatePropertySet, IntersectedBoundPropertySet, IntersectedTagEditModel, StorageTagConfiguration

public interface BoundPropertySet extends PropertySet
  • Method Details

    • getValues

      default 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
    • isBound

      boolean isBound(Property<?> prop)
    • setBoundValue

      void setBoundValue(Property<?> prop, BoundValue value)
    • getBoundValue

      BoundValue getBoundValue(Property<?> prop)
    • getBoundOrDefault

      @Nullable default Object getBoundOrDefault(Property<?> prop)
      If the property is bound, return the bound value. Otherwise return the value or default.
    • getBoundProperties

      Collection<Property<?>> getBoundProperties()
    • newExtension

      default PropertySet newExtension()
      Description copied from interface: Extendable
      Called on a base object, gets a new extension with a default config object for the child.
      Specified by:
      newExtension in interface Extendable<PropertySet>
      Specified by:
      newExtension in interface PropertySet
    • extend

      default PropertySet extend(PropertySet parent)
      Description copied from interface: Extendable
      If called on a child, gets the extension with the given parent.
      Specified by:
      extend in interface Extendable<PropertySet>
      Specified by:
      extend in interface PropertySet
    • newDefaultInstance

      default PropertySet newDefaultInstance()
      Specified by:
      newDefaultInstance in interface PropertySet