Class TypePath


  • public final class TypePath
    extends java.lang.Object
    The path to a type argument, wildcard bound, array element type, or static inner type within an enclosing type.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int ARRAY_ELEMENT
      A type path step that steps into the element type of an array type.
      (package private) byte[] b
      The byte array where the path is stored, in Java class file format.
      static int INNER_TYPE
      A type path step that steps into the nested type of a class type.
      (package private) int offset
      The offset of the first byte of the type path in 'b'.
      static int TYPE_ARGUMENT
      A type path step that steps into a type argument of a generic type.
      static int WILDCARD_BOUND
      A type path step that steps into the bound of a wildcard type.
    • Constructor Summary

      Constructors 
      Constructor Description
      TypePath​(byte[] b, int offset)
      Creates a new type path.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static TypePath fromString​(java.lang.String typePath)
      Converts a type path in string form, in the format used by toString(), into a TypePath object.
      int getLength()
      Returns the length of this path.
      int getStep​(int index)
      Returns the value of the given step of this path.
      int getStepArgument​(int index)
      Returns the index of the type argument that the given step is stepping into.
      java.lang.String toString()
      Returns a string representation of this type path.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • ARRAY_ELEMENT

        public static final int ARRAY_ELEMENT
        A type path step that steps into the element type of an array type. See getStep.
        See Also:
        Constant Field Values
      • INNER_TYPE

        public static final int INNER_TYPE
        A type path step that steps into the nested type of a class type. See getStep.
        See Also:
        Constant Field Values
      • WILDCARD_BOUND

        public static final int WILDCARD_BOUND
        A type path step that steps into the bound of a wildcard type. See getStep.
        See Also:
        Constant Field Values
      • TYPE_ARGUMENT

        public static final int TYPE_ARGUMENT
        A type path step that steps into a type argument of a generic type. See getStep.
        See Also:
        Constant Field Values
      • b

        byte[] b
        The byte array where the path is stored, in Java class file format.
      • offset

        int offset
        The offset of the first byte of the type path in 'b'.
    • Constructor Detail

      • TypePath

        TypePath​(byte[] b,
                 int offset)
        Creates a new type path.
        Parameters:
        b - the byte array containing the type path in Java class file format.
        offset - the offset of the first byte of the type path in 'b'.
    • Method Detail

      • getLength

        public int getLength()
        Returns the length of this path.
        Returns:
        the length of this path.
      • getStepArgument

        public int getStepArgument​(int index)
        Returns the index of the type argument that the given step is stepping into. This method should only be used for steps whose value is TYPE_ARGUMENT.
        Parameters:
        index - an index between 0 and getLength(), exclusive.
        Returns:
        the index of the type argument that the given step is stepping into.
      • fromString

        public static TypePath fromString​(java.lang.String typePath)
        Converts a type path in string form, in the format used by toString(), into a TypePath object.
        Parameters:
        typePath - a type path in string form, in the format used by toString(). May be null or empty.
        Returns:
        the corresponding TypePath object, or null if the path is empty.
      • toString

        public java.lang.String toString()
        Returns a string representation of this type path. ARRAY_ELEMENT steps are represented with '[', INNER_TYPE steps with '.', WILDCARD_BOUND steps with '*' and TYPE_ARGUMENT steps with their type argument index in decimal form.
        Overrides:
        toString in class java.lang.Object