Class BasicPropertySet

    • 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

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

        public java.util.Iterator<PropertyValue> iterator()
        Specified by:
        iterator in interface java.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 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
      • 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 interface Extendable<PropertySet>
        Specified by:
        getExtension in interface PropertySet
      • 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)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object