Interface IMemberValuePair


  • public interface IMemberValuePair
    Represents a member-value pair of an annotation. The value is represented by an Object. To get the exact type of this object, use its value kind. If this value is an array, getValue() returns an instance of Object[] and the value kind returns the kind of the elements in this array.

    This interface is not intended to be implemented or extended by clients.

    Since:
    3.4
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int K_ANNOTATION
      Constant indicating that the value kind is an annotation represented by an instance of IAnnotation.
      static int K_BOOLEAN
      Constant indicating that the value kind is a boolean represented by an instance of Boolean.
      static int K_BYTE
      Constant indicating that the value kind is a byte represented by an instance of Byte.
      static int K_CHAR
      Constant indicating that the value kind is a char represented by an instance of Character.
      static int K_CLASS
      Constant indicating that the value kind is a Class represented by the name of the class (i.e. a String.
      static int K_DOUBLE
      Constant indicating that the value kind is a double represented by an instance of Double.
      static int K_FLOAT
      Constant indicating that the value kind is a float represented by an instance of Float.
      static int K_INT
      Constant indicating that the value kind is an int represented by an instance of Integer.
      static int K_LONG
      Constant indicating that the value kind is a long represented by an instance of Long.
      static int K_QUALIFIED_NAME
      Constant indicating that the value is a qualified name represented by a String.
      static int K_SHORT
      Constant indicating that the value kind is a short represented by an instance of Short.
      static int K_SIMPLE_NAME
      Constant indicating that the value is a simple name represented by a String.
      static int K_STRING
      Constant indicating that the value kind is a String represented by the corresponding String.
      static int K_UNKNOWN
      Constant indicating that the value kind is unknown at this stage.
    • Field Detail

      • K_INT

        static final int K_INT
        Constant indicating that the value kind is an int represented by an instance of Integer.
        See Also:
        Constant Field Values
      • K_BYTE

        static final int K_BYTE
        Constant indicating that the value kind is a byte represented by an instance of Byte.
        See Also:
        Constant Field Values
      • K_SHORT

        static final int K_SHORT
        Constant indicating that the value kind is a short represented by an instance of Short.
        See Also:
        Constant Field Values
      • K_CHAR

        static final int K_CHAR
        Constant indicating that the value kind is a char represented by an instance of Character.
        See Also:
        Constant Field Values
      • K_FLOAT

        static final int K_FLOAT
        Constant indicating that the value kind is a float represented by an instance of Float.
        See Also:
        Constant Field Values
      • K_DOUBLE

        static final int K_DOUBLE
        Constant indicating that the value kind is a double represented by an instance of Double.
        See Also:
        Constant Field Values
      • K_LONG

        static final int K_LONG
        Constant indicating that the value kind is a long represented by an instance of Long.
        See Also:
        Constant Field Values
      • K_BOOLEAN

        static final int K_BOOLEAN
        Constant indicating that the value kind is a boolean represented by an instance of Boolean.
        See Also:
        Constant Field Values
      • K_ANNOTATION

        static final int K_ANNOTATION
        Constant indicating that the value kind is an annotation represented by an instance of IAnnotation.
        See Also:
        Constant Field Values
      • K_QUALIFIED_NAME

        static final int K_QUALIFIED_NAME
        Constant indicating that the value is a qualified name represented by a String. The qualified name refers to an enum constant or another compile-time constant if the code is correct (e.g. "MyEnum.FIRST").
        See Also:
        Constant Field Values
      • K_SIMPLE_NAME

        static final int K_SIMPLE_NAME
        Constant indicating that the value is a simple name represented by a String. The simple name refers to an enum constant or another compile-time constant if the code is correct (e.g. "FIRST" when there is a static import for "MyEnum.FIRST").
        See Also:
        Constant Field Values
      • K_UNKNOWN

        static final int K_UNKNOWN
        Constant indicating that the value kind is unknown at this stage. The value is unknown in the following cases:
        • the value is an expression that would need to be further analyzed to determine its kind. For example, in @MyAnnot(1 + 2.3) the kind of the expression "1 + 2.3" is unknown
        • the value is an array of size 0, e.g. @MyAnnot({})
        • the value is an array that contains at least one expression that would need to be further analyzed to determine its kind. For example, in @MyAnnot({3.4, 1 + 2.3}), the kind of the second element "1 + 2.3" is unknown.
        • the value is an array that contains heterogeneous values, e.g. @MyAnnot({1, 2.3, "abc"})
        If the value kind is unknown, the returned value is always either null, or an array containing Objects and/or nulls for unknown elements.
        See Also:
        Constant Field Values
    • Method Detail

      • getMemberName

        String getMemberName()
        Returns the member's name of this member-value pair.
        Returns:
        the member's name of this member-value pair.
      • getValue

        Object getValue()
        Returns the value of this member-value pair. The type of this value is function of this member-value pair's value kind. It is an instance of Object[] if the value is an array.

        If the value kind is K_UNKNOWN and the value is not an array, then the value is null. If the value kind is K_UNKNOWN and the value is an array, then the value is an array containing Objects and/or nulls for unknown elements. See K_UNKNOWN for more details.

        Returns:
        the value of this member-value pair.