Package cdc.enums

Class NullableEnumMask<E extends Enum<E>>

  • Type Parameters:
    E - The enum type.
    All Implemented Interfaces:
    Mask<NullableEnumMask<E>,​E>

    public final class NullableEnumMask<E extends Enum<E>>
    extends AbstractMask<NullableEnumMask<E>,​E>
    Specialization of AbstractEnumMask dedicated to standard enums.

    This class must not (and can not) be specialized to work correctly.
    If specialization is needed, use AbstractEnumMask directly.

    Author:
    Damien Carbonne
    • Method Detail

      • newSupport

        public static <E extends Enum<E>> MaskSupport<NullableEnumMask<E>,​E> newSupport​(Class<E> enumClass)
        Creates a Support implementation for a standard enum.
        Type Parameters:
        E - The enum type.
        Parameters:
        enumClass - The enum class.
        Returns:
        A Support implementation.
      • support

        public static <E extends Enum<E>> MaskSupport<NullableEnumMask<E>,​E> support​(Class<E> enumClass)
        Returns the support associated to an enum class.
        Type Parameters:
        E - The enum type.
        Parameters:
        enumClass - The enum class.
        Returns:
        The support for NullableEnumMask<E>.
      • getEnumClasses

        public static Set<Class<? extends Enum<?>>> getEnumClasses()
        Returns:
        A set of enums for which a support has been created.
      • empty

        public static <E extends Enum<E>> NullableEnumMask<E> empty​(Class<E> enumClass)
        Returns the empty mask corresponding to an enum.
        Type Parameters:
        E - The enum type.
        Parameters:
        enumClass - The enum class.
        Returns:
        The empty NullableEnumMask<E>.
      • full

        public static <E extends Enum<E>> NullableEnumMask<E> full​(Class<E> enumClass)
        Returns the full mask corresponding to an enum.
        Type Parameters:
        E - The enum type.
        Parameters:
        enumClass - The enum class.
        Returns:
        The full NullableEnumMask<E>.