Class ClassTypeSignature

java.lang.Object
io.github.classgraph.HierarchicalTypeSignature
io.github.classgraph.ClassTypeSignature

public final class ClassTypeSignature extends HierarchicalTypeSignature
A class type signature (called "ClassSignature" in the classfile documentation).
  • Field Details

    • scanResult

      protected transient ScanResult scanResult
      The scan result.
    • classRef

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

    • getTypeParameters

      public List<TypeParameter> getTypeParameters()
      Get the type parameters for the class.
      Returns:
      The type parameters for the class.
    • getSuperclassSignature

      public ClassRefTypeSignature getSuperclassSignature()
      Get the type signature for the superclass (possibly null in the case of Object, since it doesn't have a superclass).
      Returns:
      The type signature for the superclass, or null if no superclass (i.e. for Object).
    • getSuperinterfaceSignatures

      public List<ClassRefTypeSignature> getSuperinterfaceSignatures()
      Get the type signatures of any superinterfaces.
      Returns:
      The type signatures of any superinterfaces.
    • 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.
    • 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 in the type descriptor or type signature.
      Parameters:
      classNameToClassInfo - the map from class name to ClassInfo.
      refdClassInfo - the referenced class info
      log - the log
    • 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)
      To string internal.
      Specified by:
      toStringInternal in class HierarchicalTypeSignature
      Parameters:
      useSimpleNames - the use simple names
      annotationsToExclude - the annotations to exclude
      buf - the buf
    • 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.