Class JandexReflection.TypeVariableReferenceImpl<D extends java.lang.reflect.GenericDeclaration>

  • All Implemented Interfaces:
    java.lang.reflect.AnnotatedElement, java.lang.reflect.Type, java.lang.reflect.TypeVariable<D>
    Enclosing class:
    JandexReflection

    private static class JandexReflection.TypeVariableReferenceImpl<D extends java.lang.reflect.GenericDeclaration>
    extends java.lang.Object
    implements java.lang.reflect.TypeVariable<D>
    A delegating implementation of TypeVariable that is NOT compatible with the JDK's implementation (as in, the equals() and hashCode() methods do not work as expected).

    The delegate is expected to be set after construction using setDelegate(TypeVariableImpl). It is useful to represent recursive type variables.

    • Constructor Detail

      • TypeVariableReferenceImpl

        private TypeVariableReferenceImpl()
    • Method Detail

      • getBounds

        public java.lang.reflect.Type[] getBounds()
        Specified by:
        getBounds in interface java.lang.reflect.TypeVariable<D extends java.lang.reflect.GenericDeclaration>
      • getGenericDeclaration

        public D getGenericDeclaration()
        Specified by:
        getGenericDeclaration in interface java.lang.reflect.TypeVariable<D extends java.lang.reflect.GenericDeclaration>
      • getName

        public java.lang.String getName()
        Specified by:
        getName in interface java.lang.reflect.TypeVariable<D extends java.lang.reflect.GenericDeclaration>
      • getAnnotatedBounds

        public java.lang.reflect.AnnotatedType[] getAnnotatedBounds()
        Specified by:
        getAnnotatedBounds in interface java.lang.reflect.TypeVariable<D extends java.lang.reflect.GenericDeclaration>
      • getAnnotation

        public <T extends java.lang.annotation.Annotation> T getAnnotation​(java.lang.Class<T> annotationClass)
        Specified by:
        getAnnotation in interface java.lang.reflect.AnnotatedElement
      • getAnnotations

        public java.lang.annotation.Annotation[] getAnnotations()
        Specified by:
        getAnnotations in interface java.lang.reflect.AnnotatedElement
      • getDeclaredAnnotations

        public java.lang.annotation.Annotation[] getDeclaredAnnotations()
        Specified by:
        getDeclaredAnnotations in interface java.lang.reflect.AnnotatedElement
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object