Class ArrayClassInfo

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

public class ArrayClassInfo
extends ClassInfo
Holds metadata about an array class. This class extends ClassInfo with additional methods relevant to array classes, in particular getArrayTypeSignature(), getTypeSignatureStr(), getElementTypeSignature(), getElementClassInfo(), loadElementClass(), and getNumDimensions().

An ArrayClassInfo object will not have any methods, fields or annotations. ClassInfo.isArrayClass() will return true for this subclass of ClassInfo.

  • Method Details

    • getTypeSignatureStr

      public String getTypeSignatureStr()
      Get the raw type signature string of the array class, e.g. "[[I" for "int[][]".
      Overrides:
      getTypeSignatureStr in class ClassInfo
      Returns:
      The raw type signature string of the array class.
    • getTypeSignature

      public ClassTypeSignature getTypeSignature()
      Returns null, because array classes do not have a ClassTypeSignature. Call getArrayTypeSignature() instead.
      Overrides:
      getTypeSignature in class ClassInfo
      Returns:
      null (always).
    • getArrayTypeSignature

      public ArrayTypeSignature getArrayTypeSignature()
      Get the type signature of the class.
      Returns:
      The class type signature, if available, otherwise returns null.
    • getElementTypeSignature

      public TypeSignature getElementTypeSignature()
      Get the type signature of the array elements.
      Returns:
      The type signature of the array elements.
    • getNumDimensions

      public int getNumDimensions()
      Get the number of dimensions of the array.
      Returns:
      The number of dimensions of the array.
    • getElementClassInfo

      public ClassInfo getElementClassInfo()
      Get the ClassInfo instance for the array element type.
      Returns:
      the ClassInfo instance for the array element type. Returns null if the element type was not found during the scan. In particular, will return null for arrays that have a primitive element type.
    • loadElementClass

      public Class<?> loadElementClass​(boolean ignoreExceptions)
      Get a Class<?> reference for the array element type. Causes the ClassLoader to load the element class, if it is not already loaded.
      Parameters:
      ignoreExceptions - Whether or not to ignore exceptions.
      Returns:
      a Class<?> reference for the array element type. Also works for arrays of primitive element type.
    • loadElementClass

      public Class<?> loadElementClass()
      Get a Class<?> reference for the array element type. Causes the ClassLoader to load the element class, if it is not already loaded.
      Returns:
      a Class<?> reference for the array element type. Also works for arrays of primitive element type.
    • loadClass

      public Class<?> loadClass​(boolean ignoreExceptions)
      Obtain a Class<?> reference for the array class named by this ArrayClassInfo object. Causes the ClassLoader to load the element class, if it is not already loaded.
      Overrides:
      loadClass in class ClassInfo
      Parameters:
      ignoreExceptions - Whether or not to ignore exceptions
      Returns:
      The class reference, or null, if ignoreExceptions is true and there was an exception or error loading the class.
      Throws:
      IllegalArgumentException - if ignoreExceptions is false and there were problems loading the class.
    • loadClass

      public Class<?> loadClass()
      Obtain a Class<?> reference for the array class named by this ArrayClassInfo object. Causes the ClassLoader to load the element class, if it is not already loaded.
      Overrides:
      loadClass in class ClassInfo
      Returns:
      The class reference.
      Throws:
      IllegalArgumentException - if there were problems loading the class.
    • equals

      public boolean equals​(Object obj)
      Description copied from class: ClassInfo
      Use class name for equals().
      Overrides:
      equals in class ClassInfo
      Parameters:
      obj - the other object
      Returns:
      Whether the objects were equal.
    • hashCode

      public int hashCode()
      Description copied from class: ClassInfo
      Use hash code of class name.
      Overrides:
      hashCode in class ClassInfo
      Returns:
      the hashcode