Class AnnotationParameterValue

java.lang.Object
io.github.classgraph.AnnotationParameterValue
All Implemented Interfaces:
HasName, Comparable<AnnotationParameterValue>

public class AnnotationParameterValue extends Object implements HasName, Comparable<AnnotationParameterValue>
A wrapper used to pair annotation parameter names with annotation parameter values.
  • 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

    • getName

      public String getName()
      Get the annotation parameter name.
      Specified by:
      getName in interface HasName
      Returns:
      The annotation parameter name.
    • getValue

      public Object getValue()
      Get the annotation parameter value.
      Returns:
      The annotation parameter value. May be one of the following types:
      • String for string constants
      • String[] for arrays of strings
      • A boxed type, e.g. Integer or Character, for primitive-typed constants
      • A 1-dimensional primitive-typed array (i.e. int[], long[], short[], char[], byte[], boolean[], float[], or double[]), for arrays of primitives
      • A 1-dimensional Object[] array for array types (and then the array element type may be one of the types in this list)
      • AnnotationEnumValue, for enum constants (this wraps the enum class and the string name of the constant)
      • AnnotationClassRef, for Class references within annotations (this wraps the name of the referenced class)
      • AnnotationInfo, for nested annotations
    • 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()
    • 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 annotation parameters.
      Parameters:
      classNameToClassInfo - the map from class name to ClassInfo.
      refdClassInfo - the referenced class info
      log - the log
    • compareTo

      public int compareTo(AnnotationParameterValue other)
      Specified by:
      compareTo in interface Comparable<AnnotationParameterValue>
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • 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, 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.