Package io.github.classgraph
Class TypeParameter
java.lang.Object
io.github.classgraph.ScanResultObject
io.github.classgraph.HierarchicalTypeSignature
io.github.classgraph.TypeParameter
A type parameter.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) final ReferenceTypeSignature
Class bound -- may be null.(package private) final List
<ReferenceTypeSignature> Interface bounds -- may be empty.(package private) final String
The type parameter identifier.Fields inherited from class io.github.classgraph.HierarchicalTypeSignature
typeAnnotationInfo
Fields inherited from class io.github.classgraph.ScanResultObject
classRef, scanResult
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
TypeParameter
(String identifier, ReferenceTypeSignature classBound, List<ReferenceTypeSignature> interfaceBounds) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addTypeAnnotation
(List<Classfile.TypePathNode> typePath, AnnotationInfo annotationInfo) Add a type annotation.boolean
protected void
findReferencedClassNames
(Set<String> refdClassNames) Get the names of any classes referenced in the type signature.Get the type parameter class bound.protected ClassInfo
Get theClassInfo
object for the referenced class, or null if the referenced class was not encountered during scanning (i.e.protected String
The name of the class (used byScanResultObject.getClassInfo()
to fetch theClassInfo
object for the class).Get the type parameter interface bound(s).getName()
Get the type parameter identifier.int
hashCode()
(package private) static List
<TypeParameter> Parse a list of type parameters intoTypeParameter
objects.(package private) void
setScanResult
(ScanResult scanResult) Set ScanResult backreferences in info objects after scan has completed.protected void
toStringInternal
(boolean useSimpleNames, AnnotationInfoList annotationsToExclude, StringBuilder buf) Render type signature to string.Methods inherited from class io.github.classgraph.HierarchicalTypeSignature
addTypeAnnotation, getTypeAnnotationInfo, toString
Methods inherited from class io.github.classgraph.ScanResultObject
findReferencedClassInfo, findReferencedClassInfo, loadClass, loadClass, loadClass, loadClass, toString, toString, toStringWithSimpleNames
-
Field Details
-
name
The type parameter identifier. -
classBound
Class bound -- may be null. -
interfaceBounds
Interface bounds -- may be empty.
-
-
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
Get the type parameter identifier.- Returns:
- The type parameter identifier.
-
getClassBound
Get the type parameter class bound.- Returns:
- The type parameter class bound. May be null.
-
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<Classfile.TypePathNode> typePath, AnnotationInfo annotationInfo) Description copied from class:HierarchicalTypeSignature
Add a type annotation.- Specified by:
addTypeAnnotation
in classHierarchicalTypeSignature
- Parameters:
typePath
- the type pathannotationInfo
- the annotation
-
parseList
Parse a list of type parameters intoTypeParameter
objects.- Parameters:
parser
- the parserdefiningClassName
- the defining class name- Returns:
- the list of
TypeParameter
objects. - Throws:
ParseException
- if parsing fails
-
getClassName
Description copied from class:ScanResultObject
The name of the class (used byScanResultObject.getClassInfo()
to fetch theClassInfo
object for the class).- Specified by:
getClassName
in classScanResultObject
- Returns:
- The class name.
-
getClassInfo
Description copied from class:ScanResultObject
Get theClassInfo
object for the referenced class, or null if the referenced class was not encountered during scanning (i.e. no ClassInfo object was created for the class during scanning). N.B. even if this method returns null,ScanResultObject.loadClass()
may be able to load the referenced class by name.- Overrides:
getClassInfo
in classScanResultObject
- Returns:
- The
ClassInfo
object for the referenced class.
-
setScanResult
Description copied from class:ScanResultObject
Set ScanResult backreferences in info objects after scan has completed.- Overrides:
setScanResult
in classHierarchicalTypeSignature
- Parameters:
scanResult
- the scan result
-
findReferencedClassNames
Get the names of any classes referenced in the type signature.- Parameters:
refdClassNames
- the referenced class names.
-
hashCode
public int hashCode() -
equals
-
toStringInternal
protected void toStringInternal(boolean useSimpleNames, AnnotationInfoList annotationsToExclude, StringBuilder buf) Description copied from class:HierarchicalTypeSignature
Render type signature to string.- Specified by:
toStringInternal
in classHierarchicalTypeSignature
- 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
- theStringBuilder
to write to.
-