Class AnnotationValue.ForEnumerationDescription.UnknownRuntimeEnumeration

  • All Implemented Interfaces:
    AnnotationValue.Loaded<java.lang.Enum<?>>
    Enclosing class:
    AnnotationValue.ForEnumerationDescription<U extends java.lang.Enum<U>>

    public static class AnnotationValue.ForEnumerationDescription.UnknownRuntimeEnumeration
    extends AnnotationValue.Loaded.AbstractBase<java.lang.Enum<?>>

    Represents an annotation's enumeration value for a constant that does not exist for the runtime enumeration type.

    Note: Neither of Object.hashCode(), Object.toString() and Object.equals(Object) are implemented specifically what resembles the way such exceptional states are represented in the Open JDK's annotation implementations.

    • Constructor Detail

      • UnknownRuntimeEnumeration

        public UnknownRuntimeEnumeration​(java.lang.Class<? extends java.lang.Enum<?>> enumType,
                                         java.lang.String value)
        Creates a new representation for an unknown enumeration constant of an annotation.
        Parameters:
        enumType - The loaded enumeration type.
        value - The value for which no enumeration constant exists at runtime.
    • Method Detail

      • resolve

        public java.lang.Enum<?> resolve()
        Description copied from interface: AnnotationValue.Loaded
        Resolves the value to the actual value of an annotation. Calling this method might throw a runtime exception if this value is either not defined or not resolved.
        Returns:
        The actual annotation value represented by this instance.
      • represents

        public boolean represents​(java.lang.Object value)
        Description copied from interface: AnnotationValue.Loaded
        Verifies if this loaded value represents the supplied loaded value.
        Parameters:
        value - A loaded annotation value.
        Returns:
        true if the supplied annotation value is represented by this annotation value.