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 ofAnnotationParameterValue
objects.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static AnnotationParameterValueList
EMPTY_LIST
An unmodifiable emptyAnnotationParameterValueList
.private static long
serialVersionUID
serialVersionUID-
Fields inherited from class io.github.classgraph.PotentiallyUnmodifiableList
modifiable
-
-
Constructor Summary
Constructors Constructor Description AnnotationParameterValueList()
Construct a new modifiable empty list ofAnnotationParameterValue
objects.AnnotationParameterValueList(int sizeHint)
Construct a new modifiable empty list ofAnnotationParameterValue
objects, given a size hint.AnnotationParameterValueList(java.util.Collection<AnnotationParameterValue> annotationParameterValueCollection)
Construct a new modifiable emptyAnnotationParameterValueList
, given an initial list ofAnnotationParameterValue
objects.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) 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).static AnnotationParameterValueList
emptyList()
Return an unmodifiable emptyAnnotationParameterValueList
.protected void
findReferencedClassInfo(java.util.Map<java.lang.String,ClassInfo> classNameToClassInfo, java.util.Set<ClassInfo> refdClassInfo, LogNode log)
GetClassInfo
objects for any classes referenced in the methods in this list.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.-
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 ofAnnotationParameterValue
objects.
-
AnnotationParameterValueList
public AnnotationParameterValueList(int sizeHint)
Construct a new modifiable empty list ofAnnotationParameterValue
objects, 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 ofAnnotationParameterValue
objects.- Parameters:
annotationParameterValueCollection
- the collection ofAnnotationParameterValue
objects.
-
-
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)
GetClassInfo
objects 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
AnnotationParameterValue
object 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
-
-