Package cdc.enums

Class NullableEnumMask<E extends Enum<E>>

java.lang.Object
cdc.enums.AbstractMask<NullableEnumMask<E>,E>
cdc.enums.NullableEnumMask<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 Details

    • 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>.