Top Description Inners Fields Constructors Methods
io.github.classgraph

public final Class TypeArgument

extends HierarchicalTypeSignature
Class Inheritance
Imports
java.util.ArrayList, .Collections, .List, .Objects, .Set, io.github.classgraph.Classfile.TypePathNode, nonapi.io.github.classgraph.types.ParseException, .Parser

A type argument.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static enum
TypeArgument.Wildcard

A type wildcard.

Field Summary

Modifier and TypeField and Description
private final ReferenceTypeSignature
typeSignature

Type signature (will be null if wildcard == ANY).

private final TypeArgument.Wildcard
wildcard

A wildcard type.

Inherited from io.github.classgraph.HierarchicalTypeSignature:
typeAnnotationInfo

Constructor Summary

AccessConstructor and Description
private
TypeArgument(final TypeArgument.Wildcard
The wildcard type
wildcard
,
final ReferenceTypeSignature
The type signature
typeSignature
)

Constructor.

Method Summary

Modifier and TypeMethod and Description
protected void
addTypeAnnotation(final List<Classfile.TypePathNode>
the type path
typePath
,
final AnnotationInfo
the annotation
annotationInfo
)

Implements abstract io.github.classgraph.HierarchicalTypeSignature.addTypeAnnotation.

Add a type annotation.

public boolean
equals(final Object
the reference object with which to compare.
obj
)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

public void
findReferencedClassNames(final Set<String>
the referenced class names.
refdClassNames
)

Get the names of any classes referenced in the type signature.

protected ClassInfo
getClassInfo()

Overrides io.github.classgraph.ScanResultObject.getClassInfo.

Get the ClassInfo 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).

protected String
getClassName()

Implements abstract io.github.classgraph.ScanResultObject.getClassName.

The name of the class (used by getClassInfo() to fetch the ClassInfo object for the class).

public ReferenceTypeSignature

Returns:

The type signature.
getTypeSignature
()

Get the type signature associated with the wildcard (or null, if the wildcard is ANY).

public TypeArgument.Wildcard

Returns:

The type wildcard.
getWildcard
()

Get the type wildcard, which is one of {NONE, ANY, EXTENDS, SUPER}.

public int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for this object.

private static TypeArgument

Returns:

The parsed method type signature.
parse
(final Parser
The parser.
parser
,
final String
The name of the defining class (for resolving type variables).
definingClassName
)

Parse a type argument.

pack-priv static List<TypeArgument>

Returns:

The list of type arguments.
parseList
(final Parser
The parser.
parser
,
final String
The name of the defining class (for resolving type variables).
definingClassName
)

Parse a list of type arguments.

pack-priv void
setScanResult(final ScanResult
the scan result
scanResult
)

Overrides io.github.classgraph.HierarchicalTypeSignature.setScanResult.

Set ScanResult backreferences in info objects after scan has completed.

protected void
toStringInternal(final boolean
whether to use simple names for classes.
useSimpleNames
,
final AnnotationInfoList
toplevel annotations to exclude, to eliminate duplication (toplevel annotations are both class/field/method annotations and type annotations).
annotationsToExclude
,
final StringBuilder
the StringBuilder to write to.
buf
)

Implements abstract io.github.classgraph.HierarchicalTypeSignature.toStringInternal.

Render type signature to string.

Inherited from io.github.classgraph.HierarchicalTypeSignature:
addTypeAnnotationgetTypeAnnotationInfotoString

Field Detail

typeSignatureback to summary
private final ReferenceTypeSignature typeSignature

Type signature (will be null if wildcard == ANY).

wildcardback to summary
private final TypeArgument.Wildcard wildcard

A wildcard type.

Constructor Detail

TypeArgumentback to summary
private TypeArgument(final TypeArgument.Wildcard wildcard, final ReferenceTypeSignature typeSignature)

Constructor.

Parameters
wildcard:TypeArgument.Wildcard

The wildcard type

typeSignature:ReferenceTypeSignature

The type signature

Method Detail

addTypeAnnotationback to summary
protected void addTypeAnnotation(final List<Classfile.TypePathNode> typePath, final AnnotationInfo annotationInfo)

Implements abstract io.github.classgraph.HierarchicalTypeSignature.addTypeAnnotation.

Doc from io.github.classgraph.HierarchicalTypeSignature.addTypeAnnotation.

Add a type annotation.

Parameters
typePath:List<Classfile.TypePathNode>

the type path

annotationInfo:AnnotationInfo

the annotation

Annotations
@Override
equalsback to summary
public boolean equals(final Object obj)

Overrides java.lang.Object.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
obj:Object

the reference object with which to compare.

Returns:boolean

true if this object is the same as the obj argument; false otherwise.

Annotations
@Override
findReferencedClassNamesback to summary
public void findReferencedClassNames(final Set<String> refdClassNames)

Get the names of any classes referenced in the type signature.

Parameters
refdClassNames:Set<String>

the referenced class names.

getClassInfoback to summary
protected ClassInfo getClassInfo()

Overrides io.github.classgraph.ScanResultObject.getClassInfo.

Doc from io.github.classgraph.ScanResultObject.getClassInfo.

Get the ClassInfo 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, loadClass() may be able to load the referenced class by name.

Returns:ClassInfo

The ClassInfo object for the referenced class.

Annotations
@Override
getClassNameback to summary
protected String getClassName()

Implements abstract io.github.classgraph.ScanResultObject.getClassName.

Doc from io.github.classgraph.ScanResultObject.getClassName.

The name of the class (used by getClassInfo() to fetch the ClassInfo object for the class).

Returns:String

The class name.

Annotations
@Override
getTypeSignatureback to summary
public ReferenceTypeSignature getTypeSignature()

Get the type signature associated with the wildcard (or null, if the wildcard is ANY).

Returns:ReferenceTypeSignature

The type signature.

getWildcardback to summary
public TypeArgument.Wildcard getWildcard()

Get the type wildcard, which is one of {NONE, ANY, EXTENDS, SUPER}.

Returns:TypeArgument.Wildcard

The type wildcard.

hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for this object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns:int

a hash code value for this object

Annotations
@Override
parseback to summary
private static TypeArgument parse(final Parser parser, final String definingClassName) throws ParseException

Parse a type argument.

Parameters
parser:Parser

The parser.

definingClassName:String

The name of the defining class (for resolving type variables).

Returns:TypeArgument

The parsed method type signature.

Exceptions
ParseException:
If method type signature could not be parsed.
parseListback to summary
pack-priv static List<TypeArgument> parseList(final Parser parser, final String definingClassName) throws ParseException

Parse a list of type arguments.

Parameters
parser:Parser

The parser.

definingClassName:String

The name of the defining class (for resolving type variables).

Returns:List<TypeArgument>

The list of type arguments.

Exceptions
ParseException:
If type signature could not be parsed.
setScanResultback to summary
pack-priv void setScanResult(final ScanResult scanResult)

Overrides io.github.classgraph.HierarchicalTypeSignature.setScanResult.

Doc from io.github.classgraph.ScanResultObject.setScanResult.

Set ScanResult backreferences in info objects after scan has completed.

Parameters
scanResult:ScanResult

the scan result

Annotations
@Override
toStringInternalback to summary
protected void toStringInternal(final boolean useSimpleNames, final AnnotationInfoList annotationsToExclude, final StringBuilder buf)

Implements abstract io.github.classgraph.HierarchicalTypeSignature.toStringInternal.

Doc from io.github.classgraph.HierarchicalTypeSignature.toStringInternal.

Render type signature to string.

Parameters
useSimpleNames:boolean

whether to use simple names for classes.

annotationsToExclude:AnnotationInfoList

toplevel annotations to exclude, to eliminate duplication (toplevel annotations are both class/field/method annotations and type annotations).

buf:StringBuilder

the StringBuilder to write to.

Annotations
@Override
io.github.classgraph back to summary

public final Enum TypeArgument.Wildcard

extends Enum<TypeArgument.Wildcard>
Class Inheritance

A type wildcard.

Field Summary

Modifier and TypeField and Description
public static final TypeArgument.Wildcard
ANY

The '?' wildcard.

public static final TypeArgument.Wildcard
EXTENDS

extends.

public static final TypeArgument.Wildcard
NONE

No wildcard.

public static final TypeArgument.Wildcard
SUPER

super.

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static TypeArgument.Wildcard
public static TypeArgument.Wildcard[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

ANYback to summary
public static final TypeArgument.Wildcard ANY

The '?' wildcard.

EXTENDSback to summary
public static final TypeArgument.Wildcard EXTENDS

extends.

NONEback to summary
public static final TypeArgument.Wildcard NONE

No wildcard.

SUPERback to summary
public static final TypeArgument.Wildcard SUPER

super.

Constructor Detail

Wildcardback to summary
private Wildcard()

Method Detail

valueOfback to summary
public static TypeArgument.Wildcard valueOf(String name)
valuesback to summary
public static TypeArgument.Wildcard[] values()