Package org.spongepowered.asm.util.asm
Interface IAnnotationHandle
- All Known Implementing Classes:
Annotations.Handle
public interface IAnnotationHandle
Interface for annotation handle since some classes may need to read info from
both ASM
AnnotationNodes at runtime and mirror annotations in the AP
at compile time.-
Method Summary
Modifier and TypeMethodDescriptionbooleanexists()Get whether the annotation inside the handle actually exists, if the contained element is null, returns false.getAnnotation(String key) Get an annotation value as an annotation handlegetAnnotationList(String key) Retrieve an annotation key as a list of annotation handlesbooleangetBoolean(String key, boolean defaultValue) Get the primitive boolean value with the specified key or return null if not present or not setgetDesc()Get the annotation descriptor<T> List<T> getList()Retrieve the annotation value as a list with values of the specified type.<T> List<T> Retrieve the annotation value with the specified key as a list with values of the specified type.List<org.objectweb.asm.Type> getTypeList(String key) Retrieve an annotation key as a list of Types.org.objectweb.asm.TypegetTypeValue(String key) Get an annotation value as an ASMType.<T> TgetValue()Get the annotation value or return null if not present or not set<T> TGet the annotation value with the specified key or return null if not present or not set<T> TGet a value with the specified key from this annotation, return the specified default value if the key is not set or is not present
-
Method Details
-
exists
boolean exists()Get whether the annotation inside the handle actually exists, if the contained element is null, returns false.- Returns:
- true if the annotation exists
-
getDesc
String getDesc()Get the annotation descriptor -
getAnnotationList
Retrieve an annotation key as a list of annotation handles- Parameters:
key- key to fetch- Returns:
- list of annotations
-
getTypeValue
Get an annotation value as an ASMType. This is special-cased because the different APIs return class literals in different ways. Under ASM we will receieveTypeinstances, but at compile time we will getTypeMirrors instead. This overload is provided so that subclasses have to marshal everything intoTypefor consistency.- Parameters:
key- key to fetch- Returns:
- value
-
getTypeList
Retrieve an annotation key as a list of Types. This is special-cased because the different APIs return class literals in different ways. Under ASM we will receieveTypeinstances, but at compile time we will getTypeMirrors instead. This overload is provided so that subclasses have to marshal everything intoTypefor consistency.- Parameters:
key- key to fetch- Returns:
- list of types
-
getAnnotation
Get an annotation value as an annotation handle- Parameters:
key- key to search for in the value map- Returns:
- value or null if not set
-
getValue
Get a value with the specified key from this annotation, return the specified default value if the key is not set or is not present- Type Parameters:
T- duck type- Parameters:
key- keydefaultValue- value to return if the key is not set or not present- Returns:
- value or default if not set
-
getValue
<T> T getValue()Get the annotation value or return null if not present or not set- Type Parameters:
T- duck type- Returns:
- value or null if not present or not set
-
getValue
Get the annotation value with the specified key or return null if not present or not set- Type Parameters:
T- duck type- Parameters:
key- key to fetch- Returns:
- value or null if not present or not set
-
getBoolean
Get the primitive boolean value with the specified key or return null if not present or not set- Parameters:
key- key to fetchdefaultValue- default value to return if value is not present- Returns:
- value or default if not present or not set
-
getList
Retrieve the annotation value as a list with values of the specified type. Returns an empty list if the value is not present or not set.- Type Parameters:
T- list element duck type- Returns:
- list of values
-
getList
Retrieve the annotation value with the specified key as a list with values of the specified type. Returns an empty list if the value is not present or not set.- Type Parameters:
T- list element duck type- Parameters:
key- key to fetch- Returns:
- list of values
-