Class ArrayClassInfo
java.lang.Object
io.github.classgraph.ClassInfo
io.github.classgraph.ArrayClassInfo
- All Implemented Interfaces:
HasName, Comparable<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.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Class<?> The class ref, once the class is loaded.protected ScanResultThe scan result.Fields inherited from class ClassInfo
classfileResource, isExternalClass, isScannedClass, name, typeSignatureStr -
Method Summary
Modifier and TypeMethodDescriptionbooleanUse class name for equals().protected voidfindReferencedClassInfo(Map<String, ClassInfo> classNameToClassInfo, Set<ClassInfo> refdClassInfo, nonapi.io.github.classgraph.utils.LogNode log) GetClassInfoobjects for any classes referenced in the type descriptor or type signature.Get the type signature of the class.Get theClassInfoinstance for the array element type.Get the type signature of the array elements.intGet the number of dimensions of the array.Returns null, because array classes do not have a ClassTypeSignature.Get the raw type signature string of the array class, e.g.inthashCode()Use hash code of class name.Class<?> Obtain aClass<?>reference for the array class named by thisArrayClassInfoobject.Class<?> loadClass(boolean ignoreExceptions) Obtain aClass<?>reference for the array class named by thisArrayClassInfoobject.Class<?> Get aClass<?>reference for the array element type.Class<?> loadElementClass(boolean ignoreExceptions) Get aClass<?>reference for the array element type.toString()Render to string.Render to string, using only simple names for classes.Methods inherited from class ClassInfo
compareTo, extendsSuperclass, extendsSuperclass, getAnnotationDefaultParameterValues, getAnnotationInfo, getAnnotationInfo, getAnnotationInfo, getAnnotationInfoRepeatable, getAnnotationInfoRepeatable, getAnnotations, getClassDependencies, getClassesImplementing, getClassesWithAnnotation, getClassesWithFieldAnnotation, getClassesWithMethodAnnotation, getClassesWithMethodParameterAnnotation, getClassfileMajorVersion, getClassfileMinorVersion, getClassInfo, getClassName, getClasspathElementFile, getClasspathElementURI, getClasspathElementURL, getConstructorInfo, getDeclaredConstructorInfo, getDeclaredFieldInfo, getDeclaredFieldInfo, getDeclaredMethodAndConstructorInfo, getDeclaredMethodInfo, getDeclaredMethodInfo, getEnumConstantObjects, getEnumConstants, getFieldAnnotations, getFieldInfo, getFieldInfo, getFullyQualifiedDefiningMethodName, getInnerClasses, getInterfaces, getMethodAndConstructorInfo, getMethodAnnotations, getMethodInfo, getMethodInfo, getMethodParameterAnnotations, getModifiers, getModifiersStr, getModuleInfo, getModuleRef, getName, getOuterClasses, getPackageInfo, getPackageName, getResource, getSimpleName, getSourceFile, getSubclasses, getSuperclass, getSuperclasses, getTypeDescriptor, getTypeSignatureOrTypeDescriptor, hasAnnotation, hasAnnotation, hasDeclaredField, hasDeclaredFieldAnnotation, hasDeclaredFieldAnnotation, hasDeclaredMethod, hasDeclaredMethodAnnotation, hasDeclaredMethodAnnotation, hasDeclaredMethodParameterAnnotation, hasDeclaredMethodParameterAnnotation, hasField, hasFieldAnnotation, hasFieldAnnotation, hasMethod, hasMethodAnnotation, hasMethodAnnotation, hasMethodParameterAnnotation, hasMethodParameterAnnotation, implementsInterface, implementsInterface, isAbstract, isAnnotation, isAnonymousInnerClass, isArrayClass, isEnum, isExternalClass, isFinal, isImplementedInterface, isInnerClass, isInterface, isInterfaceOrAnnotation, isOuterClass, isPackageVisible, isPrivate, isProtected, isPublic, isRecord, isStandardClass, isStatic, isSynthetic, loadClass, loadClass, toString
-
Field Details
-
scanResult
The scan result. -
classRef
The class ref, once the class is loaded.
-
-
Method Details
-
getTypeSignatureStr
Get the raw type signature string of the array class, e.g. "[[I" for "int[][]".- Overrides:
getTypeSignatureStrin classClassInfo- Returns:
- The raw type signature string of the array class.
-
getTypeSignature
Returns null, because array classes do not have a ClassTypeSignature. CallgetArrayTypeSignature()instead.- Overrides:
getTypeSignaturein classClassInfo- Returns:
- null (always).
-
getArrayTypeSignature
Get the type signature of the class.- Returns:
- The class type signature, if available, otherwise returns null.
-
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
-
loadElementClass
Get aClass<?>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
Get aClass<?>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
Obtain aClass<?>reference for the array class named by thisArrayClassInfoobject. Causes the ClassLoader to load the element class, if it is not already loaded.- Overrides:
loadClassin classClassInfo- 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
Obtain aClass<?>reference for the array class named by thisArrayClassInfoobject. Causes the ClassLoader to load the element class, if it is not already loaded.- Overrides:
loadClassin classClassInfo- Returns:
- The class reference.
- Throws:
IllegalArgumentException- if there were problems loading the class.
-
findReferencedClassInfo
protected void findReferencedClassInfo(Map<String, ClassInfo> classNameToClassInfo, Set<ClassInfo> refdClassInfo, nonapi.io.github.classgraph.utils.LogNode log) GetClassInfoobjects for any classes referenced in the type descriptor or type signature.- Overrides:
findReferencedClassInfoin classClassInfo- Parameters:
classNameToClassInfo- the map from class name toClassInfo.refdClassInfo- the referenced class infolog- the log
-
equals
-
hashCode
-
toStringWithSimpleNames
Render to string, using only simple names for classes.- Returns:
- the string representation, using simple names for classes.
-
toString
-