Package io.micronaut.core.annotation
Class AnnotationUtil
- java.lang.Object
-
- io.micronaut.core.annotation.AnnotationUtil
-
@Internal public class AnnotationUtil extends java.lang.Object
Internal utility methods for annotations. For Internal and framework use only. Do not use in application code.- Since:
- 1.0
-
-
Field Summary
Fields Modifier and Type Field Description static java.util.Set<java.lang.String>
ADVICE_STEREOTYPES
The advice stereotypes.static java.lang.String
ANN_AROUND
The around annotation type.static java.lang.String
ANN_AROUND_CONSTRUCT
The around annotation type.static java.lang.String
ANN_INTERCEPTOR_BINDING
Name of the interceptor binding type.static java.lang.String
ANN_INTERCEPTOR_BINDING_QUALIFIER
Name of the interceptor binding qualifier type.static java.lang.String
ANN_INTERCEPTOR_BINDINGS
Name of the repeatable interceptor bindings type.static java.lang.String
ANN_INTRODUCTION
The around annotation type.static java.lang.reflect.AnnotatedElement
EMPTY_ANNOTATED_ELEMENT
An empty re-usable element.static java.lang.String
INJECT
The meta annotation used for inject declarations.static java.util.List<java.lang.String>
INTERNAL_ANNOTATION_NAMES
static java.lang.String
KOTLIN_METADATA
Constant for Kotlin metadata.static java.lang.String
NAMED
The meta annotation used for named qualifiers.static java.lang.String
NON_NULL
Simple Annotation name used for non-null.static java.lang.String
NULLABLE
Simple Annotation name used for nullable.static java.lang.String
POST_CONSTRUCT
The meta annotation used for post-construct declarations.static java.lang.String
PRE_DESTROY
The meta annotation used for pre-destroy declarations.static java.lang.String
QUALIFIER
The meta annotation used for qualifier declarations.static java.lang.String
SCOPE
The meta annotation used for scope declarations.static java.lang.String
SINGLETON
The meta annotation used for singleton scope.static java.util.List<java.lang.String>
STEREOTYPE_EXCLUDES
Packages excludes from stereotype processing.static java.lang.reflect.AnnotatedElement[]
ZERO_ANNOTATED_ELEMENTS
Constant indicating an zero annotation.static AnnotationValue<?>[]
ZERO_ANNOTATION_VALUES
Constant indicating an zero annotation values.static java.lang.annotation.Annotation[]
ZERO_ANNOTATIONS
Constant indicating an zero annotation.
-
Constructor Summary
Constructors Constructor Description AnnotationUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static boolean
areEqual(java.lang.Object o1, java.lang.Object o2)
Computes whether 2 annotation values are equal.static int
calculateHashCode(java.util.Map<? extends java.lang.CharSequence,java.lang.Object> values)
Calculates the hash code of annotation values.static java.util.List<java.lang.String>
internListOf(java.lang.Object... objects)
Converts the given objects into a set of potentially cached and interned strings contained within an internal pool of lists.static java.util.Map<java.lang.String,java.lang.Object>
internMapOf(java.lang.Object... values)
Converts the given objects into a map of potentially cached and interned strings where the keys and values are alternating entries in the passed array.static java.util.Map<java.lang.String,java.lang.Object>
internMapOf(java.lang.String key, java.lang.Object value)
Converts the given objects into a map of potentially cached and interned strings where the keys and values are alternating entries in the passed array.static java.util.Map<java.lang.String,java.lang.Object>
mapOf(java.lang.Object... array)
Create a new immutableMap
from an array of values.static java.util.Map<java.lang.String,java.lang.Object>
mapOf(java.lang.String key1, java.lang.Object value1)
Create a new immutableMap
.static java.util.Map<java.lang.String,java.lang.Object>
mapOf(java.lang.String key1, java.lang.Object value1, java.lang.String key2, java.lang.Object value2)
Create a new immutableMap
.static java.util.Map<java.lang.String,java.lang.Object>
mapOf(java.lang.String key1, java.lang.Object value1, java.lang.String key2, java.lang.Object value2, java.lang.String key3, java.lang.Object value3)
Create a new immutableMap
.static java.util.Map<java.lang.String,java.lang.Object>
mapOf(java.lang.String key1, java.lang.Object value1, java.lang.String key2, java.lang.Object value2, java.lang.String key3, java.lang.Object value3, java.lang.String key4, java.lang.Object value4)
Create a new immutableMap
.static java.util.Map<java.lang.String,java.lang.Object>
mapOf(java.lang.String key1, java.lang.Object value1, java.lang.String key2, java.lang.Object value2, java.lang.String key3, java.lang.Object value3, java.lang.String key4, java.lang.Object value4, java.lang.String key5, java.lang.Object value5)
Create a new immutableMap
.static java.util.Map<java.lang.String,java.lang.Object>
mapOf(java.lang.String key1, java.lang.Object value1, java.lang.String key2, java.lang.Object value2, java.lang.String key3, java.lang.Object value3, java.lang.String key4, java.lang.Object value4, java.lang.String key5, java.lang.Object value5, java.lang.String key6, java.lang.Object value6)
Create a new immutableMap
.static java.util.Map<java.lang.String,java.lang.Object>
mapOf(java.lang.String key1, java.lang.Object value1, java.lang.String key2, java.lang.Object value2, java.lang.String key3, java.lang.Object value3, java.lang.String key4, java.lang.Object value4, java.lang.String key5, java.lang.Object value5, java.lang.String key6, java.lang.Object value6, java.lang.String key7, java.lang.Object value7)
Create a new immutableMap
.static java.util.Map<java.lang.String,java.lang.Object>
mapOf(java.lang.String key1, java.lang.Object value1, java.lang.String key2, java.lang.Object value2, java.lang.String key3, java.lang.Object value3, java.lang.String key4, java.lang.Object value4, java.lang.String key5, java.lang.Object value5, java.lang.String key6, java.lang.Object value6, java.lang.String key7, java.lang.Object value7, java.lang.String key8, java.lang.Object value8)
Create a new immutableMap
.static java.util.Map<java.lang.String,java.lang.Object>
mapOf(java.lang.String key1, java.lang.Object value1, java.lang.String key2, java.lang.Object value2, java.lang.String key3, java.lang.Object value3, java.lang.String key4, java.lang.Object value4, java.lang.String key5, java.lang.Object value5, java.lang.String key6, java.lang.Object value6, java.lang.String key7, java.lang.Object value7, java.lang.String key8, java.lang.Object value8, java.lang.String key9, java.lang.Object value9)
Create a new immutableMap
.static java.util.Map<java.lang.String,java.lang.Object>
mapOf(java.lang.String key1, java.lang.Object value1, java.lang.String key2, java.lang.Object value2, java.lang.String key3, java.lang.Object value3, java.lang.String key4, java.lang.Object value4, java.lang.String key5, java.lang.Object value5, java.lang.String key6, java.lang.Object value6, java.lang.String key7, java.lang.Object value7, java.lang.String key8, java.lang.Object value8, java.lang.String key9, java.lang.Object value9, java.lang.String key10, java.lang.Object value10)
Create a new immutableMap
.
-
-
-
Field Detail
-
KOTLIN_METADATA
public static final java.lang.String KOTLIN_METADATA
Constant for Kotlin metadata.- See Also:
- Constant Field Values
-
INTERNAL_ANNOTATION_NAMES
public static final java.util.List<java.lang.String> INTERNAL_ANNOTATION_NAMES
-
STEREOTYPE_EXCLUDES
public static final java.util.List<java.lang.String> STEREOTYPE_EXCLUDES
Packages excludes from stereotype processing.
-
ZERO_ANNOTATIONS
public static final java.lang.annotation.Annotation[] ZERO_ANNOTATIONS
Constant indicating an zero annotation.
-
ZERO_ANNOTATED_ELEMENTS
public static final java.lang.reflect.AnnotatedElement[] ZERO_ANNOTATED_ELEMENTS
Constant indicating an zero annotation.
-
ZERO_ANNOTATION_VALUES
public static final AnnotationValue<?>[] ZERO_ANNOTATION_VALUES
Constant indicating an zero annotation values.
-
EMPTY_ANNOTATED_ELEMENT
public static final java.lang.reflect.AnnotatedElement EMPTY_ANNOTATED_ELEMENT
An empty re-usable element.
-
NULLABLE
public static final java.lang.String NULLABLE
Simple Annotation name used for nullable.- See Also:
- Constant Field Values
-
NON_NULL
public static final java.lang.String NON_NULL
Simple Annotation name used for non-null.- See Also:
- Constant Field Values
-
ANN_AROUND
public static final java.lang.String ANN_AROUND
The around annotation type.- See Also:
- Constant Field Values
-
ANN_AROUND_CONSTRUCT
public static final java.lang.String ANN_AROUND_CONSTRUCT
The around annotation type.- See Also:
- Constant Field Values
-
ANN_INTRODUCTION
public static final java.lang.String ANN_INTRODUCTION
The around annotation type.- See Also:
- Constant Field Values
-
ANN_INTERCEPTOR_BINDING
public static final java.lang.String ANN_INTERCEPTOR_BINDING
Name of the interceptor binding type.- See Also:
- Constant Field Values
-
ANN_INTERCEPTOR_BINDING_QUALIFIER
public static final java.lang.String ANN_INTERCEPTOR_BINDING_QUALIFIER
Name of the interceptor binding qualifier type.- See Also:
- Constant Field Values
-
ADVICE_STEREOTYPES
public static final java.util.Set<java.lang.String> ADVICE_STEREOTYPES
The advice stereotypes.
-
ANN_INTERCEPTOR_BINDINGS
public static final java.lang.String ANN_INTERCEPTOR_BINDINGS
Name of the repeatable interceptor bindings type.- See Also:
- Constant Field Values
-
INJECT
public static final java.lang.String INJECT
The meta annotation used for inject declarations.- See Also:
- Constant Field Values
-
SCOPE
public static final java.lang.String SCOPE
The meta annotation used for scope declarations.- See Also:
- Constant Field Values
-
SINGLETON
public static final java.lang.String SINGLETON
The meta annotation used for singleton scope.- See Also:
- Constant Field Values
-
QUALIFIER
public static final java.lang.String QUALIFIER
The meta annotation used for qualifier declarations.- See Also:
- Constant Field Values
-
NAMED
public static final java.lang.String NAMED
The meta annotation used for named qualifiers.- See Also:
- Constant Field Values
-
PRE_DESTROY
public static final java.lang.String PRE_DESTROY
The meta annotation used for pre-destroy declarations.- See Also:
- Constant Field Values
-
POST_CONSTRUCT
public static final java.lang.String POST_CONSTRUCT
The meta annotation used for post-construct declarations.- See Also:
- Constant Field Values
-
-
Method Detail
-
internListOf
public static java.util.List<java.lang.String> internListOf(java.lang.Object... objects)
Converts the given objects into a set of potentially cached and interned strings contained within an internal pool of lists. SeeString.intern()
.This method serves the purpose of reducing memory footprint by pooling common lists of annotations in compiled
AnnotationMetadata
- Parameters:
objects
- The objects- Returns:
- A unmodifiable, pooled set of strings
-
internMapOf
public static java.util.Map<java.lang.String,java.lang.Object> internMapOf(java.lang.Object... values)
Converts the given objects into a map of potentially cached and interned strings where the keys and values are alternating entries in the passed array. SeeString.intern()
.The values stored at even number positions will be converted to strings and interned.
- Parameters:
values
- The objects- Returns:
- An unmodifiable set of strings
- See Also:
CollectionUtils.mapOf(Object...)
-
internMapOf
public static java.util.Map<java.lang.String,java.lang.Object> internMapOf(java.lang.String key, java.lang.Object value)
Converts the given objects into a map of potentially cached and interned strings where the keys and values are alternating entries in the passed array. SeeString.intern()
.The values stored at even number positions will be converted to strings and interned.
- Parameters:
key
- The keyvalue
- The value- Returns:
- An unmodifiable set of strings
- Since:
- 3.0
-
mapOf
public static java.util.Map<java.lang.String,java.lang.Object> mapOf(java.lang.Object... array)
Create a new immutableMap
from an array of values. String values must be sorted!- Parameters:
array
- The key, value array- Returns:
- The created map
-
mapOf
public static java.util.Map<java.lang.String,java.lang.Object> mapOf(java.lang.String key1, java.lang.Object value1)
Create a new immutableMap
. String values must be sorted!- Parameters:
key1
- The key 1value1
- The value 1- Returns:
- The created map
-
mapOf
public static java.util.Map<java.lang.String,java.lang.Object> mapOf(java.lang.String key1, java.lang.Object value1, java.lang.String key2, java.lang.Object value2)
Create a new immutableMap
. String values must be sorted!- Parameters:
key1
- The key1value1
- The value1key2
- The key2value2
- The value2- Returns:
- The created map
-
mapOf
public static java.util.Map<java.lang.String,java.lang.Object> mapOf(java.lang.String key1, java.lang.Object value1, java.lang.String key2, java.lang.Object value2, java.lang.String key3, java.lang.Object value3)
Create a new immutableMap
. String values must be sorted!- Parameters:
key1
- The key1value1
- The value1key2
- The key2value2
- The value2key3
- The key3value3
- The value3- Returns:
- The created map
-
mapOf
public static java.util.Map<java.lang.String,java.lang.Object> mapOf(java.lang.String key1, java.lang.Object value1, java.lang.String key2, java.lang.Object value2, java.lang.String key3, java.lang.Object value3, java.lang.String key4, java.lang.Object value4)
Create a new immutableMap
. String values must be sorted!- Parameters:
key1
- The key1value1
- The value1key2
- The key2value2
- The value2key3
- The key3value3
- The value3key4
- The key4value4
- The value4- Returns:
- The created map
-
mapOf
public static java.util.Map<java.lang.String,java.lang.Object> mapOf(java.lang.String key1, java.lang.Object value1, java.lang.String key2, java.lang.Object value2, java.lang.String key3, java.lang.Object value3, java.lang.String key4, java.lang.Object value4, java.lang.String key5, java.lang.Object value5)
Create a new immutableMap
. String values must be sorted!- Parameters:
key1
- The key1value1
- The value1key2
- The key2value2
- The value2key3
- The key3value3
- The value3key4
- The key4value4
- The value4key5
- The key5value5
- The value5- Returns:
- The created map
-
mapOf
public static java.util.Map<java.lang.String,java.lang.Object> mapOf(java.lang.String key1, java.lang.Object value1, java.lang.String key2, java.lang.Object value2, java.lang.String key3, java.lang.Object value3, java.lang.String key4, java.lang.Object value4, java.lang.String key5, java.lang.Object value5, java.lang.String key6, java.lang.Object value6)
Create a new immutableMap
. String values must be sorted!- Parameters:
key1
- The key1value1
- The value1key2
- The key2value2
- The value2key3
- The key3value3
- The value3key4
- The key4value4
- The value4key5
- The key5value5
- The value5key6
- The key6value6
- The value6- Returns:
- The created map
-
mapOf
public static java.util.Map<java.lang.String,java.lang.Object> mapOf(java.lang.String key1, java.lang.Object value1, java.lang.String key2, java.lang.Object value2, java.lang.String key3, java.lang.Object value3, java.lang.String key4, java.lang.Object value4, java.lang.String key5, java.lang.Object value5, java.lang.String key6, java.lang.Object value6, java.lang.String key7, java.lang.Object value7)
Create a new immutableMap
. String values must be sorted!- Parameters:
key1
- The key1value1
- The value1key2
- The key2value2
- The value2key3
- The key3value3
- The value3key4
- The key4value4
- The value4key5
- The key5value5
- The value5key6
- The key6value6
- The value6key7
- The key7value7
- The value7- Returns:
- The created map
-
mapOf
public static java.util.Map<java.lang.String,java.lang.Object> mapOf(java.lang.String key1, java.lang.Object value1, java.lang.String key2, java.lang.Object value2, java.lang.String key3, java.lang.Object value3, java.lang.String key4, java.lang.Object value4, java.lang.String key5, java.lang.Object value5, java.lang.String key6, java.lang.Object value6, java.lang.String key7, java.lang.Object value7, java.lang.String key8, java.lang.Object value8)
Create a new immutableMap
. String values must be sorted!- Parameters:
key1
- The key1value1
- The value1key2
- The key2value2
- The value2key3
- The key3value3
- The value3key4
- The key4value4
- The value4key5
- The key5value5
- The value5key6
- The key6value6
- The value6key7
- The key7value7
- The value7key8
- The key8value8
- The value8- Returns:
- The created map
-
mapOf
public static java.util.Map<java.lang.String,java.lang.Object> mapOf(java.lang.String key1, java.lang.Object value1, java.lang.String key2, java.lang.Object value2, java.lang.String key3, java.lang.Object value3, java.lang.String key4, java.lang.Object value4, java.lang.String key5, java.lang.Object value5, java.lang.String key6, java.lang.Object value6, java.lang.String key7, java.lang.Object value7, java.lang.String key8, java.lang.Object value8, java.lang.String key9, java.lang.Object value9)
Create a new immutableMap
. String values must be sorted!- Parameters:
key1
- The key1value1
- The value1key2
- The key2value2
- The value2key3
- The key3value3
- The value3key4
- The key4value4
- The value4key5
- The key5value5
- The value5key6
- The key6value6
- The value6key7
- The key7value7
- The value7key8
- The key8value8
- The value8key9
- The key9value9
- The value9- Returns:
- The created map
-
mapOf
public static java.util.Map<java.lang.String,java.lang.Object> mapOf(java.lang.String key1, java.lang.Object value1, java.lang.String key2, java.lang.Object value2, java.lang.String key3, java.lang.Object value3, java.lang.String key4, java.lang.Object value4, java.lang.String key5, java.lang.Object value5, java.lang.String key6, java.lang.Object value6, java.lang.String key7, java.lang.Object value7, java.lang.String key8, java.lang.Object value8, java.lang.String key9, java.lang.Object value9, java.lang.String key10, java.lang.Object value10)
Create a new immutableMap
. String values must be sorted!- Parameters:
key1
- The key1value1
- The value1key2
- The key2value2
- The value2key3
- The key3value3
- The value3key4
- The key4value4
- The value4key5
- The key5value5
- The value5key6
- The key6value6
- The value6key7
- The key7value7
- The value7key8
- The key8value8
- The value8key9
- The key9value9
- The value9key10
- The key10value10
- The value10- Returns:
- The created map
-
calculateHashCode
public static int calculateHashCode(java.util.Map<? extends java.lang.CharSequence,java.lang.Object> values)
Calculates the hash code of annotation values.- Parameters:
values
- The map to calculate values' hash code- Returns:
- The hash code
-
areEqual
public static boolean areEqual(java.lang.Object o1, java.lang.Object o2)
Computes whether 2 annotation values are equal.- Parameters:
o1
- One objecto2
- Another object- Returns:
- Whether both objects are equal
-
-