Class DataDrivenEnum

  • All Implemented Interfaces:
    Serializable

    public class DataDrivenEnum
    extends Object
    implements Serializable
    A reference to a data driven enum, typically used as a holder for information communicated from an external service.
    Author:
    Sunny Yu
    See Also:
    Serialized Form
    • Constructor Detail

      • DataDrivenEnum

        public DataDrivenEnum()
    • Method Detail

      • addAttribute

        public void addAttribute​(String name,
                                 Object value)
        Takes in any additional attributes passed in the request not matching any defined properties.
        Parameters:
        name - Name of the additional attribute
        value - Value of the additional attribute
      • getAttribute

        public Map<String,​Object> getAttribute()
        Return any additional attributes passed in the request not matching any defined properties.
        Returns:
        any additional attributes passed in the request not matching any defined properties.
      • getId

        public String getId()
        The ID of the enum.
        Returns:
        the context ID of this enum
      • getType

        public String getType()
        Identifies the type of the associated value, this is needed to gather all the enum values based on their types.

        For example, if this enum type was to be used for a field representing product's materials, then the type would be "MATERIAL".

        Returns:
        the type for the associated value
      • getValue

        public String getValue()
        The value of the associated type.

        For example, the value for type "MATERIAL" could be "COTTON", "LEATHER", "POLYESTER", etc.

        Returns:
        the value of the associated type
      • getDisplayValue

        public String getDisplayValue()
        The display value for the associated type.

        Different from value, the display value is meant to be more user-friendly and for client-facing usages, such as searching and faceting.

        For example, the display value for type "MATERIAL" could be "Cotton", "Leather", "Polyester", etc.

        Returns:
        the display value of the associated type
      • getAttributes

        public Map<String,​Object> getAttributes()
        Map holding any additional attributes passed in the request not matching any defined properties.
      • setId

        public void setId​(String id)
        The ID of the enum.
        Parameters:
        id - the context ID of this enum
      • setType

        public void setType​(String type)
        Identifies the type of the associated value, this is needed to gather all the enum values based on their types.

        For example, if this enum type was to be used for a field representing product's materials, then the type would be "MATERIAL".

        Parameters:
        type - the type for the associated value
      • setValue

        public void setValue​(String value)
        The value of the associated type.

        For example, the value for type "MATERIAL" could be "COTTON", "LEATHER", "POLYESTER", etc.

        Parameters:
        value - the value of the associated type
      • setDisplayValue

        public void setDisplayValue​(String displayValue)
        The display value for the associated type.

        Different from value, the display value is meant to be more user-friendly and for client-facing usages, such as searching and faceting.

        For example, the display value for type "MATERIAL" could be "Cotton", "Leather", "Polyester", etc.

        Parameters:
        displayValue - the display value of the associated type
      • setAttributes

        public void setAttributes​(Map<String,​Object> attributes)
        Map holding any additional attributes passed in the request not matching any defined properties.
      • canEqual

        protected boolean canEqual​(Object other)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object