Class CaseInsensitiveEnumStringArgumentType<T extends java.lang.Enum<T>>

  • Type Parameters:
    T - Type of enum
    All Implemented Interfaces:
    ArgumentType<T>, MetavarInference

    public class CaseInsensitiveEnumStringArgumentType<T extends java.lang.Enum<T>>
    extends CaseInsensitiveEnumArgumentType<T>

    ArgumentType subclass for enum type using case-insensitive matching of values.

    Uses Enum.toString() instead of Enum.name() as the String representation of the enum. For enums that do not override Enum.toString(), this behaves the same as CaseInsensitiveEnumNameArgumentType.

    Since:
    0.8.0
    • Constructor Detail

      • CaseInsensitiveEnumStringArgumentType

        public CaseInsensitiveEnumStringArgumentType​(java.lang.Class<T> type)
    • Method Detail

      • forEnum

        public static <T extends java.lang.Enum<T>> CaseInsensitiveEnumStringArgumentType<T> forEnum​(java.lang.Class<T> type)

        Creates a CaseInsensitiveEnumStringArgumentType for the given enum type.

        Type Parameters:
        T - The type of the enum
        Parameters:
        type - type of the enum the CaseInsensitiveEnumStringArgumentType should convert to
        Returns:
        a CaseInsensitiveEnumStringArgumentType that converts Strings to type
      • getStringRepresentations

        protected java.lang.Object[] getStringRepresentations()
        Description copied from class: CaseInsensitiveEnumArgumentType

        Get the objects to be used to generate the String representations of all enum constants. Object.toString() will be invoked on these objects to obtain the actual String representation.

        Overrides:
        getStringRepresentations in class CaseInsensitiveEnumArgumentType<T extends java.lang.Enum<T>>
        Returns:
        The objects used to generate String representations.