Package cdc.enums

Class EnumMask<E extends Enum<E>>

java.lang.Object
cdc.enums.AbstractMask<EnumMask<E>,E>
cdc.enums.EnumMask<E>
Type Parameters:
E - The enum type.
All Implemented Interfaces:
Mask<EnumMask<E>,E>

public final class EnumMask<E extends Enum<E>> extends AbstractMask<EnumMask<E>,E>
Specialization of AbstractEnumMask dedicated to non nullable standard enums masks.

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

Author:
Damien Carbonne
  • Method Details

    • support

      public static <E extends Enum<E>> MaskSupport<EnumMask<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 EnumMask<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>> EnumMask<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 EnumMask<E>.
    • full

      public static <E extends Enum<E>> EnumMask<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 EnumMask<E>.