Class EnumFactory<E extends Enum<E>>


  • public class EnumFactory<E extends Enum<E>>
    extends Object
    Enum Factory for managing mapping between Enum name and Enum label
    Author:
    dcaruana
    • Constructor Detail

      • EnumFactory

        public EnumFactory​(Class<E> enumClass)
      • EnumFactory

        public EnumFactory​(Class<E> enumClass,
                           E defaultEnum)
      • EnumFactory

        public EnumFactory​(Class<E> enumClass,
                           E defaultEnum,
                           boolean caseSensitive)
        Parameters:
        caseSensitive - case-sensitive lookup for Enum label
    • Method Detail

      • getDefaultEnum

        public Enum<E> getDefaultEnum()
        Gets the default enum
        Returns:
        default enum (or null, if no default specified)
      • getDefaultLabel

        public String getDefaultLabel()
        Gets the default label
        Returns:
        label of default enum (or null, if no default specified)
      • label

        public String label​(E e)
        Gets the label for the specified enum
        Parameters:
        e - enum
        Returns:
        label (or null, if no label specified)
      • validLabel

        public boolean validLabel​(String label)
        Is valid label?
        Parameters:
        label - String
        Returns:
        true => valid, false => does not exist for this enum
      • fromLabel

        public E fromLabel​(String label)
        Gets enum from label
        Parameters:
        label - String
        Returns:
        enum (or null, if no enum has specified label)
      • toEnum

        public E toEnum​(String label)
        Gets enum from label NOTE: If specified label is invalid, the default enum is returned
        Parameters:
        label - String
        Returns:
        enum (or default enum, if label is invalid)