Class ElementProperties

  • All Implemented Interfaces:
    Serializable

    public class ElementProperties
    extends Object
    implements Serializable
    The ElementProperties class provides support for properties to be added to a metadata element, classification or relationship instances. There are variable properties that are defined in the TypeDefs. They are managed in a java.util.Map map object built around HashMap. The property name (or domain) of the map is the name of the property. The property value (or range) of the map is a subclass of PropertyValue depending on the type of the property:
    • PrimitivePropertyValue: for primitives such as strings and numbers. The full list of primitives are given in PrimitiveDefCategory.
    • EnumPropertyValue: for properties with a type consisting of an enumeration of valid values. Each
    • StructPropertyValue: for properties that have a type of a complex structure (aka struct). The Struct can be thought of as a list of related properties.
    • MapPropertyValue: for properties that have a type of map. The map holds an unordered list of name-value pairs. The pairs are of the same type and the name for the pair is unique within the map.
    • ArrayPropertyValue: for properties that have a type of Array. This is an ordered list of values of the same type.
    See Also:
    Serialized Form
    • Constructor Detail

      • ElementProperties

        public ElementProperties()
        Typical constructor
      • ElementProperties

        public ElementProperties​(ElementProperties templateProperties)
        Copy/clone constructor.
        Parameters:
        templateProperties - template object to copy.
    • Method Detail

      • getInstanceProperties

        public Map<String,​PropertyValue> getInstanceProperties()
        Return the instance properties as a map.
        Returns:
        instance properties map.
      • setInstanceProperties

        public void setInstanceProperties​(Map<String,​PropertyValue> instanceProperties)
        Set up the instance properties map.
        Parameters:
        instanceProperties - map of name valued properties
      • getPropertyNames

        public Iterator<String> getPropertyNames()
        Returns a list of the instance properties for the element. If no stored properties are present then null is returned.
        Returns:
        list of properties
      • getPropertyValue

        public PropertyValue getPropertyValue​(String name)
        Returns the requested instance property for the element. If no stored property with that name is present then null is returned.
        Parameters:
        name - String name of the property to return.
        Returns:
        requested property value.
      • setProperty

        public void setProperty​(String newPropertyName,
                                PropertyValue newPropertyValue)
        Adds or updates an instance property. If a null is supplied for the property name, an OMRS runtime exception is thrown. If a null is supplied for the property value, the property is removed.
        Parameters:
        newPropertyName - name
        newPropertyValue - value
      • getPropertyCount

        public int getPropertyCount()
        Return the number of properties stored.
        Returns:
        int property count
      • toString

        public String toString()
        Standard toString method.
        Overrides:
        toString in class Object
        Returns:
        JSON style description of variables.
      • equals

        public boolean equals​(Object objectToCompare)
        Validate that an object is equal depending on their stored values.
        Overrides:
        equals in class Object
        Parameters:
        objectToCompare - object
        Returns:
        boolean result
      • hashCode

        public int hashCode()
        Return a hash code based on the values of this object.
        Overrides:
        hashCode in class Object
        Returns:
        in hash code