Package io.github.classgraph
Class MethodParameterInfo
- java.lang.Object
-
- io.github.classgraph.MethodParameterInfo
-
public class MethodParameterInfo extends java.lang.Object
Information on the parameters of a method.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) AnnotationInfo[]
annotationInfo
The annotation info.private MethodInfo
methodInfo
The containing method.private int
modifiers
The modifiers.private java.lang.String
name
The parameter name.private ScanResult
scanResult
The scan result.private TypeSignature
typeDescriptor
The type descriptor.private TypeSignature
typeSignature
The type signature.
-
Constructor Summary
Constructors Constructor Description MethodParameterInfo(MethodInfo methodInfo, AnnotationInfo[] annotationInfo, int modifiers, TypeSignature typeDescriptor, TypeSignature typeSignature, java.lang.String name)
Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object obj)
AnnotationInfoList
getAnnotationInfo()
Method parameter annotation info (or null if no annotations).AnnotationInfo
getAnnotationInfo(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
Get a the non-Repeatable
annotation on this method, or null if the method parameter does not have the annotation.AnnotationInfo
getAnnotationInfo(java.lang.String annotationName)
Get a the named non-Repeatable
annotation on this method, or null if the method parameter does not have the named annotation.AnnotationInfoList
getAnnotationInfoRepeatable(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
Get a theRepeatable
annotation on this method, or the empty list if the method parameter does not have the annotation.AnnotationInfoList
getAnnotationInfoRepeatable(java.lang.String annotationName)
Get a the namedRepeatable
annotation on this method, or the empty list if the method parameter does not have the named annotation.MethodInfo
getMethodInfo()
Get theMethodInfo
for the defining method.int
getModifiers()
Method parameter modifiers.java.lang.String
getModifiersStr()
Get the method parameter modifiers as a String, e.g.java.lang.String
getName()
Method parameter name.TypeSignature
getTypeDescriptor()
Method parameter type descriptor.TypeSignature
getTypeSignature()
Method parameter type signature, possibly including generic type information (or null if no type signature information available for this parameter).TypeSignature
getTypeSignatureOrTypeDescriptor()
Method parameter type signature, or if not available, method type descriptor.boolean
hasAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
Check whether this method parameter has the annotation.boolean
hasAnnotation(java.lang.String annotationName)
Check whether this method parameter has the named annotation.int
hashCode()
boolean
isFinal()
Returns true if this method parameter is final.boolean
isMandated()
Returns true if this method parameter is mandated.boolean
isSynthetic()
Returns true if this method parameter is synthetic.(package private) static void
modifiersToString(int modifiers, java.lang.StringBuilder buf)
Convert modifiers into a string representation, e.g.protected void
setScanResult(ScanResult scanResult)
Sets the scan result.java.lang.String
toString()
Render to string.protected void
toString(boolean useSimpleNames, java.lang.StringBuilder buf)
Render to string.java.lang.String
toStringWithSimpleNames()
Render to string with simple names for classes.
-
-
-
Field Detail
-
methodInfo
private final MethodInfo methodInfo
The containing method.
-
annotationInfo
final AnnotationInfo[] annotationInfo
The annotation info.
-
modifiers
private final int modifiers
The modifiers.
-
typeDescriptor
private final TypeSignature typeDescriptor
The type descriptor.
-
typeSignature
private final TypeSignature typeSignature
The type signature.
-
name
private final java.lang.String name
The parameter name.
-
scanResult
private ScanResult scanResult
The scan result.
-
-
Constructor Detail
-
MethodParameterInfo
MethodParameterInfo(MethodInfo methodInfo, AnnotationInfo[] annotationInfo, int modifiers, TypeSignature typeDescriptor, TypeSignature typeSignature, java.lang.String name)
Constructor.- Parameters:
methodInfo
- TheMethodInfo
for the defining method.annotationInfo
-AnnotationInfo
for any annotations on this method parameter.modifiers
- The method parameter modifiers.typeDescriptor
- The method parameter type descriptor.typeSignature
- The method parameter type signature.name
- The method parameter name.
-
-
Method Detail
-
getMethodInfo
public MethodInfo getMethodInfo()
Get theMethodInfo
for the defining method.- Returns:
- The
MethodInfo
for the defining method.
-
getName
public java.lang.String getName()
Method parameter name. May be null, for unnamed parameters (e.g. synthetic parameters), or if compiled for JDK version lower than 8, or if compiled for JDK version 8+ but without the commandline switch `-parameters`.- Returns:
- The method parameter name.
-
getModifiers
public int getModifiers()
Method parameter modifiers. May be zero, if no modifier bits set, or if compiled for JDK version lower than 8, or if compiled for JDK version 8+ but without the commandline switch `-parameters`.- Returns:
- The method parameter modifiers.
-
getModifiersStr
public java.lang.String getModifiersStr()
Get the method parameter modifiers as a String, e.g. "final". For the modifier bits, callgetModifiers()
.- Returns:
- The modifiers for the method parameter, as a String.
-
getTypeSignature
public TypeSignature getTypeSignature()
Method parameter type signature, possibly including generic type information (or null if no type signature information available for this parameter).- Returns:
- The method type signature, if available, else null.
-
getTypeDescriptor
public TypeSignature getTypeDescriptor()
Method parameter type descriptor.- Returns:
- The method type descriptor.
-
getTypeSignatureOrTypeDescriptor
public TypeSignature getTypeSignatureOrTypeDescriptor()
Method parameter type signature, or if not available, method type descriptor.- Returns:
- The method type signature, if present, otherwise the method type descriptor.
-
getAnnotationInfo
public AnnotationInfoList getAnnotationInfo()
Method parameter annotation info (or null if no annotations).- Returns:
AnnotationInfo
for any annotations on this method parameter.
-
getAnnotationInfo
public AnnotationInfo getAnnotationInfo(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
Get a the non-Repeatable
annotation on this method, or null if the method parameter does not have the annotation. (UsegetAnnotationInfoRepeatable(Class)
forRepeatable
annotations.)- Parameters:
annotation
- The annotation.- Returns:
- An
AnnotationInfo
object representing the annotation on this method parameter, or null if the method parameter does not have the annotation.
-
getAnnotationInfo
public AnnotationInfo getAnnotationInfo(java.lang.String annotationName)
Get a the named non-Repeatable
annotation on this method, or null if the method parameter does not have the named annotation. (UsegetAnnotationInfoRepeatable(String)
forRepeatable
annotations.)- Parameters:
annotationName
- The annotation name.- Returns:
- An
AnnotationInfo
object representing the named annotation on this method parameter, or null if the method parameter does not have the named annotation.
-
getAnnotationInfoRepeatable
public AnnotationInfoList getAnnotationInfoRepeatable(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
Get a theRepeatable
annotation on this method, or the empty list if the method parameter does not have the annotation.- Parameters:
annotation
- The annotation.- Returns:
- An
AnnotationInfoList
containing all instances of the annotation on this method parameter, or the empty list if the method parameter does not have the annotation.
-
getAnnotationInfoRepeatable
public AnnotationInfoList getAnnotationInfoRepeatable(java.lang.String annotationName)
Get a the namedRepeatable
annotation on this method, or the empty list if the method parameter does not have the named annotation.- Parameters:
annotationName
- The annotation name.- Returns:
- An
AnnotationInfoList
containing all instances of the named annotation on this method parameter, or the empty list if the method parameter does not have the named annotation.
-
hasAnnotation
public boolean hasAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
Check whether this method parameter has the annotation.- Parameters:
annotation
- The annotation.- Returns:
- true if this method parameter has the annotation.
-
hasAnnotation
public boolean hasAnnotation(java.lang.String annotationName)
Check whether this method parameter has the named annotation.- Parameters:
annotationName
- The name of an annotation.- Returns:
- true if this method parameter has the named annotation.
-
setScanResult
protected void setScanResult(ScanResult scanResult)
Sets the scan result.- Parameters:
scanResult
- the new scan result
-
isFinal
public boolean isFinal()
Returns true if this method parameter is final.- Returns:
- True if this method parameter is final.
-
isSynthetic
public boolean isSynthetic()
Returns true if this method parameter is synthetic.- Returns:
- True if this method parameter is synthetic.
-
isMandated
public boolean isMandated()
Returns true if this method parameter is mandated.- Returns:
- True if this method parameter is mandated.
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
modifiersToString
static void modifiersToString(int modifiers, java.lang.StringBuilder buf)
Convert modifiers into a string representation, e.g. "public static final".- Parameters:
modifiers
- The field or method modifiers.buf
- The buffer to write the result into.
-
toString
protected void toString(boolean useSimpleNames, java.lang.StringBuilder buf)
Render to string.- Parameters:
useSimpleNames
- if true, use just the simple name of each class.buf
- the buf
-
toStringWithSimpleNames
public java.lang.String toStringWithSimpleNames()
Render to string with simple names for classes.- Returns:
- the string representation.
-
toString
public java.lang.String toString()
Render to string.- Overrides:
toString
in classjava.lang.Object
- Returns:
- the string representation.
-
-