Class MethodParameterInfo

java.lang.Object
io.github.classgraph.MethodParameterInfo

public class MethodParameterInfo extends Object
Information on the parameters of a method.
  • Field Details

    • 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 String name
      The parameter name.
    • scanResult

      private ScanResult scanResult
      The scan result.
  • Constructor Details

    • MethodParameterInfo

      MethodParameterInfo(MethodInfo methodInfo, AnnotationInfo[] annotationInfo, int modifiers, TypeSignature typeDescriptor, TypeSignature typeSignature, String name)
      Constructor.
      Parameters:
      methodInfo - The MethodInfo 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 Details

    • getMethodInfo

      public MethodInfo getMethodInfo()
      Get the MethodInfo for the defining method.
      Returns:
      The MethodInfo for the defining method.
    • getName

      public 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 String getModifiersStr()
      Get the method parameter modifiers as a String, e.g. "final". For the modifier bits, call getModifiers().
      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(Class<? extends Annotation> annotation)
      Get a the non-Repeatable annotation on this method, or null if the method parameter does not have the annotation. (Use getAnnotationInfoRepeatable(Class) for Repeatable 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(String annotationName)
      Get a the named non-Repeatable annotation on this method, or null if the method parameter does not have the named annotation. (Use getAnnotationInfoRepeatable(String) for Repeatable 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(Class<? extends Annotation> annotation)
      Get a the Repeatable 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(String annotationName)
      Get a the named Repeatable 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(Class<? extends 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(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(Object obj)
      Overrides:
      equals in class Object
    • hashCode

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

      static void modifiersToString(int modifiers, 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, StringBuilder buf)
      Render to string.
      Parameters:
      useSimpleNames - if true, use just the simple name of each class.
      buf - the buf
    • toStringWithSimpleNames

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

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