de.caff.util.settings

## Class EnumEnumValue<E extends java.lang.Enum<E>>

- java.lang.Object
- - java.lang.Number
  - - de.caff.util.settings.AbstractBasicEnumValue<java.lang.Enum<E>>
    - - de.caff.util.settings.EnumEnumValue<E>

- All Implemented Interfaces:
    EnumValue<java.lang.Enum<E>>, java.io.Serializable

      public class EnumEnumValue<E extends java.lang.Enum<E>>
      extends AbstractBasicEnumValue<java.lang.Enum<E>>

  Enum value which contains a Java enum.
  Author:
    Rammi
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `EnumEnumValue(java.lang.String baseTag, java.lang.Enum<E> value)` Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `double` | `doubleValue()` Returns the value of the specified number as a `double`.
    `float` | `floatValue()` Returns the value of the specified number as a `float`.
    `java.lang.Enum<E>` | `getRealValue()` Get the real value which is used in this enum.
    `java.lang.Enum<E>` | `getValue()` Get the integer value.
    `int` | `intValue()` Returns the value of the specified number as an `int`.
    `boolean` | `isEqualTo(java.util.prefs.Preferences preferences, java.lang.String key)` Is this value equal to the value which is stored in the preferences under the given key?
    `long` | `longValue()` Returns the value of the specified number as a `long`.
    `void` | `storeTo(java.util.prefs.Preferences preferences, java.lang.String key)` Store this value to the preferences under the given key.

    - ### Methods inherited from class de.caff.util.settings.AbstractBasicEnumValue

      `getBasicValue, getIcon, getLongName, getShortName`

    - ### Methods inherited from class java.lang.Number

      `byteValue, shortValue`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### EnumEnumValue

          public EnumEnumValue(@NotNull
                               java.lang.String baseTag,
                               java.lang.Enum<E> value)

      Constructor.
      Parameters:
        `baseTag` - basic i18n tag
        `value` - the real value

  - ### Method Detail

    - #### storeTo

          public void storeTo(@NotNull
                              java.util.prefs.Preferences preferences,
                              @NotNull
                              java.lang.String key)

      Store this value to the preferences under the given key.
      Parameters:
        `preferences` - preferences to store to
        `key` - key under which to store

    - #### isEqualTo

          public boolean isEqualTo(@NotNull
                                   java.util.prefs.Preferences preferences,
                                   @NotNull
                                   java.lang.String key)

      Is this value equal to the value which is stored in the preferences under the given key?
      Parameters:
        `preferences` - preferences where a enum value is stored
        `key` - key under which the enum value is stored
      Returns:
        `true` if the enum value is equal to the one stored in the preferences, `false` otherwise

    - #### getRealValue

          public java.lang.Enum<E> getRealValue()

      Get the real value which is used in this enum.
      Returns:
        the real value

    - #### getValue

          public java.lang.Enum<E> getValue()

      Get the integer value.
      Returns:
        value

    - #### doubleValue

          public double doubleValue()

      Returns the value of the specified number as a `double`. This may involve rounding.
      Specified by:
        `doubleValue` in class `java.lang.Number`
      Returns:
        the numeric value represented by this object after conversion to type `double`.

    - #### floatValue

          public float floatValue()

      Returns the value of the specified number as a `float`. This may involve rounding.
      Specified by:
        `floatValue` in class `java.lang.Number`
      Returns:
        the numeric value represented by this object after conversion to type `float`.

    - #### intValue

          public int intValue()

      Returns the value of the specified number as an `int`. This may involve rounding or truncation.
      Specified by:
        `intValue` in class `java.lang.Number`
      Returns:
        the numeric value represented by this object after conversion to type `int`.

    - #### longValue

          public long longValue()

      Returns the value of the specified number as a `long`. This may involve rounding or truncation.
      Specified by:
        `longValue` in class `java.lang.Number`
      Returns:
        the numeric value represented by this object after conversion to type `long`.