Class GenericParameter<T>

  • All Implemented Interfaces:
    java.lang.reflect.AnnotatedElement, java.lang.reflect.Type

    class GenericParameter<T>
    extends Type<T>
    • Field Detail

      • _name

        private final java.lang.String _name
      • _position

        private final int _position
      • _upperBound

        private Type<?> _upperBound
      • _lowerBound

        private Type<?> _lowerBound
      • _declaringMethod

        private MethodInfo _declaringMethod
      • _declaringType

        private Type<?> _declaringType
      • _erasedClass

        private java.lang.Class<T> _erasedClass
      • _typeVariable

        private java.lang.reflect.TypeVariable<?> _typeVariable
    • Constructor Detail

      • GenericParameter

        GenericParameter​(java.lang.String name,
                         java.lang.reflect.TypeVariable<?> typeVariable,
                         int position)
      • GenericParameter

        GenericParameter​(java.lang.String name,
                         Type<?> declaringType,
                         Type<?> upperBound,
                         int position)
      • GenericParameter

        GenericParameter​(java.lang.String name,
                         MethodInfo declaringMethod,
                         Type<?> upperBound,
                         int position)
      • GenericParameter

        protected GenericParameter​(java.lang.String name,
                                   Type<?> declaringType,
                                   Type<?> upperBound,
                                   Type<?> lowerBound,
                                   int position)
      • GenericParameter

        protected GenericParameter​(java.lang.String name,
                                   MethodInfo declaringMethod,
                                   Type<?> upperBound,
                                   Type<?> lowerBound,
                                   int position)
    • Method Detail

      • setUpperBound

        final void setUpperBound​(Type<?> upperBound)
      • setLowerBound

        final void setLowerBound​(Type<?> lowerBound)
      • resolveTypeVariable

        private java.lang.reflect.TypeVariable<?> resolveTypeVariable()
      • resolveErasedClass

        private java.lang.Class<?> resolveErasedClass()
      • getRawTypeVariable

        public java.lang.reflect.TypeVariable<?> getRawTypeVariable()
      • getFullName

        public java.lang.String getFullName()
        Overrides:
        getFullName in class Type<T>
      • appendBriefDescription

        public java.lang.StringBuilder appendBriefDescription​(java.lang.StringBuilder sb)
        Overrides:
        appendBriefDescription in class Type<T>
      • appendSimpleDescription

        public java.lang.StringBuilder appendSimpleDescription​(java.lang.StringBuilder sb)
        Overrides:
        appendSimpleDescription in class Type<T>
      • appendErasedDescription

        public java.lang.StringBuilder appendErasedDescription​(java.lang.StringBuilder sb)
        Overrides:
        appendErasedDescription in class Type<T>
      • appendErasedSignature

        public java.lang.StringBuilder appendErasedSignature​(java.lang.StringBuilder sb)
        Overrides:
        appendErasedSignature in class Type<T>
      • appendDescription

        public java.lang.StringBuilder appendDescription​(java.lang.StringBuilder sb)
        Overrides:
        appendDescription in class Type<T>
      • _appendClassName

        protected final java.lang.StringBuilder _appendClassName​(java.lang.StringBuilder sb,
                                                                 boolean fullName,
                                                                 boolean dottedName)
        Overrides:
        _appendClassName in class Type<T>
      • setDeclaringMethod

        public void setDeclaringMethod​(MethodInfo declaringMethod)
      • setDeclaringType

        public void setDeclaringType​(Type<?> declaringType)
      • getKind

        public javax.lang.model.type.TypeKind getKind()
        Overrides:
        getKind in class Type<T>
      • getErasedClass

        public java.lang.Class<T> getErasedClass()
        Overrides:
        getErasedClass in class Type<T>
      • isAnnotationPresent

        public boolean isAnnotationPresent​(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
        Specified by:
        isAnnotationPresent in interface java.lang.reflect.AnnotatedElement
        Overrides:
        isAnnotationPresent in class Type<T>
      • getAnnotation

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

        @NotNull
        public java.lang.annotation.Annotation[] getAnnotations()
        Specified by:
        getAnnotations in interface java.lang.reflect.AnnotatedElement
        Overrides:
        getAnnotations in class Type<T>
      • getDeclaredAnnotations

        @NotNull
        public java.lang.annotation.Annotation[] getDeclaredAnnotations()
        Specified by:
        getDeclaredAnnotations in interface java.lang.reflect.AnnotatedElement
        Overrides:
        getDeclaredAnnotations in class Type<T>
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class Type<T>
      • accept

        public <P,​R> R accept​(TypeVisitor<P,​R> visitor,
                                    P parameter)
        Overrides:
        accept in class Type<T>
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Type<T>