Class TypeParameter


public final class TypeParameter extends HierarchicalTypeSignature
A type parameter.
  • Field Details

    • scanResult

      protected transient ScanResult scanResult
      The scan result.
    • classRef

      protected transient Class<?> classRef
      The class ref, once the class is loaded.
  • Constructor Details

    • TypeParameter

      protected TypeParameter(String identifier, ReferenceTypeSignature classBound, List<ReferenceTypeSignature> interfaceBounds)
      Constructor.
      Parameters:
      identifier - The type parameter identifier.
      classBound - The type parameter class bound.
      interfaceBounds - The type parameter interface bound.
  • Method Details

    • getName

      public String getName()
      Get the type parameter identifier.
      Returns:
      The type parameter identifier.
    • getClassBound

      public ReferenceTypeSignature getClassBound()
      Get the type parameter class bound.
      Returns:
      The type parameter class bound. May be null.
    • getInterfaceBounds

      public List<ReferenceTypeSignature> getInterfaceBounds()
      Get the type parameter interface bound(s).
      Returns:
      Get the type parameter interface bound(s), which may be the empty list.
    • addTypeAnnotation

      protected void addTypeAnnotation(List<io.github.classgraph.Classfile.TypePathNode> typePath, AnnotationInfo annotationInfo)
      Description copied from class: HierarchicalTypeSignature
      Add a type annotation.
      Specified by:
      addTypeAnnotation in class HierarchicalTypeSignature
      Parameters:
      typePath - the type path
      annotationInfo - the annotation
    • getClassName

      protected String getClassName()
      The name of the class (used by ScanResultObject.getClassInfo() to fetch the ClassInfo object for the class).
      Returns:
      The class name.
    • getClassInfo

      protected ClassInfo getClassInfo()
    • findReferencedClassNames

      protected void findReferencedClassNames(Set<String> refdClassNames)
      Get the names of any classes referenced in the type signature.
      Parameters:
      refdClassNames - the referenced class names.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • toStringInternal

      protected void toStringInternal(boolean useSimpleNames, AnnotationInfoList annotationsToExclude, StringBuilder buf)
      Description copied from class: HierarchicalTypeSignature
      Render type signature to string.
      Specified by:
      toStringInternal in class HierarchicalTypeSignature
      Parameters:
      useSimpleNames - whether to use simple names for classes.
      annotationsToExclude - toplevel annotations to exclude, to eliminate duplication (toplevel annotations are both class/field/method annotations and type annotations).
      buf - the StringBuilder to write to.
    • findReferencedClassInfo

      protected void findReferencedClassInfo(Map<String, ClassInfo> classNameToClassInfo, Set<ClassInfo> refdClassInfo, nonapi.io.github.classgraph.utils.LogNode log)
      Get ClassInfo objects for any classes referenced by this object.
      Parameters:
      classNameToClassInfo - the map from class name to ClassInfo.
      refdClassInfo - the referenced class info
      log - the log
    • toStringWithSimpleNames

      public String toStringWithSimpleNames()
      Render to string, using only simple names for classes.
      Returns:
      the string representation, using simple names for classes.
    • toString

      public String toString()
      Render to string.
      Overrides:
      toString in class Object
      Returns:
      the string representation.