Class AnnotationValue.ForEnumerationDescription.Loaded.WithIncompatibleRuntimeType

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

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

    Represents an annotation's enumeration value for a runtime type that is not an 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.

    • Field Detail

      • type

        private final java.lang.Class<?> type
        The runtime type which is not an enumeration type.
    • Constructor Detail

      • WithIncompatibleRuntimeType

        public WithIncompatibleRuntimeType​(java.lang.Class<?> type)
        Creates a new representation for an incompatible runtime type.
        Parameters:
        type - The runtime type which is not an enumeration type.
    • Method Detail

      • getState

        public AnnotationValue.State getState()
        Returns the state of the represented loaded annotation value.
        Returns:
        The state represented by this instance.
      • resolve

        public java.lang.Enum<?> resolve()
        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)
        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.