Package io.github.classgraph
Class AnnotationParameterValueList
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<E>
-
- java.util.ArrayList<T>
-
- io.github.classgraph.PotentiallyUnmodifiableList<T>
-
- io.github.classgraph.InfoList<T>
-
- io.github.classgraph.MappableInfoList<AnnotationParameterValue>
-
- io.github.classgraph.AnnotationParameterValueList
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,java.lang.Iterable<AnnotationParameterValue>,java.util.Collection<AnnotationParameterValue>,java.util.List<AnnotationParameterValue>,java.util.RandomAccess
public class AnnotationParameterValueList extends MappableInfoList<AnnotationParameterValue>
A list ofAnnotationParameterValueobjects.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static AnnotationParameterValueListEMPTY_LISTAn unmodifiable emptyAnnotationParameterValueList.private static longserialVersionUIDserialVersionUID-
Fields inherited from class io.github.classgraph.PotentiallyUnmodifiableList
modifiable
-
-
Constructor Summary
Constructors Constructor Description AnnotationParameterValueList()Construct a new modifiable empty list ofAnnotationParameterValueobjects.AnnotationParameterValueList(int sizeHint)Construct a new modifiable empty list ofAnnotationParameterValueobjects, given a size hint.AnnotationParameterValueList(java.util.Collection<AnnotationParameterValue> annotationParameterValueCollection)Construct a new modifiable emptyAnnotationParameterValueList, given an initial list ofAnnotationParameterValueobjects.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidconvertWrapperArraysToPrimitiveArrays(ClassInfo annotationClassInfo)For primitive array type params, replace Object[] arrays containing boxed types with primitive arrays (need to check the type of each method of the annotation class to determine if it is a primitive array type).static AnnotationParameterValueListemptyList()Return an unmodifiable emptyAnnotationParameterValueList.protected voidfindReferencedClassInfo(java.util.Map<java.lang.String,ClassInfo> classNameToClassInfo, java.util.Set<ClassInfo> refdClassInfo, LogNode log)GetClassInfoobjects for any classes referenced in the methods in this list.java.lang.ObjectgetValue(java.lang.String parameterName)Get the annotation parameter value, by callingAnnotationParameterValue.getValue()on the result ofMappableInfoList.get(String), if non-null.-
Methods inherited from class io.github.classgraph.MappableInfoList
asMap, containsName, get
-
Methods inherited from class io.github.classgraph.InfoList
equals, getAsStrings, getAsStringsWithSimpleNames, getNames, hashCode
-
Methods inherited from class io.github.classgraph.PotentiallyUnmodifiableList
add, add, addAll, addAll, clear, iterator, listIterator, makeUnmodifiable, remove, remove, removeAll, retainAll, set
-
Methods inherited from class java.util.ArrayList
clone, contains, ensureCapacity, forEach, get, indexOf, isEmpty, lastIndexOf, listIterator, removeIf, removeRange, replaceAll, size, sort, spliterator, subList, toArray, toArray, trimToSize
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
serialVersionUID- See Also:
- Constant Field Values
-
EMPTY_LIST
static final AnnotationParameterValueList EMPTY_LIST
An unmodifiable emptyAnnotationParameterValueList.
-
-
Constructor Detail
-
AnnotationParameterValueList
public AnnotationParameterValueList()
Construct a new modifiable empty list ofAnnotationParameterValueobjects.
-
AnnotationParameterValueList
public AnnotationParameterValueList(int sizeHint)
Construct a new modifiable empty list ofAnnotationParameterValueobjects, given a size hint.- Parameters:
sizeHint- the size hint
-
AnnotationParameterValueList
public AnnotationParameterValueList(java.util.Collection<AnnotationParameterValue> annotationParameterValueCollection)
Construct a new modifiable emptyAnnotationParameterValueList, given an initial list ofAnnotationParameterValueobjects.- Parameters:
annotationParameterValueCollection- the collection ofAnnotationParameterValueobjects.
-
-
Method Detail
-
emptyList
public static AnnotationParameterValueList emptyList()
Return an unmodifiable emptyAnnotationParameterValueList.- Returns:
- the unmodifiable empty
AnnotationParameterValueList.
-
findReferencedClassInfo
protected void findReferencedClassInfo(java.util.Map<java.lang.String,ClassInfo> classNameToClassInfo, java.util.Set<ClassInfo> refdClassInfo, LogNode log)
GetClassInfoobjects for any classes referenced in the methods in this list.- Parameters:
classNameToClassInfo- the map from class name toClassInfo.refdClassInfo- the referenced class infolog- the log
-
convertWrapperArraysToPrimitiveArrays
void convertWrapperArraysToPrimitiveArrays(ClassInfo annotationClassInfo)
For primitive array type params, replace Object[] arrays containing boxed types with primitive arrays (need to check the type of each method of the annotation class to determine if it is a primitive array type).- Parameters:
annotationClassInfo- the annotation class info
-
getValue
public java.lang.Object getValue(java.lang.String parameterName)
Get the annotation parameter value, by callingAnnotationParameterValue.getValue()on the result ofMappableInfoList.get(String), if non-null.- Parameters:
parameterName- The name of an annotation parameter.- Returns:
- The value of the
AnnotationParameterValueobject in the list with the given name, by callingAnnotationParameterValue.getValue()on that object, or null if not found.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
-
-