Class AnnotationImpl
- java.lang.Object
-
- org.apache.xmlbeans.impl.jam.internal.elements.ElementImpl
-
- org.apache.xmlbeans.impl.jam.internal.elements.AnnotationImpl
-
- All Implemented Interfaces:
Comparable
,JAnnotation
,JElement
,MAnnotation
,MElement
public final class AnnotationImpl extends ElementImpl implements MAnnotation
Standard implementation of AnnotationImpl.
-
-
Field Summary
-
Fields inherited from class org.apache.xmlbeans.impl.jam.internal.elements.ElementImpl
NO_ANNOTATION, NO_CLASS, NO_COMMENT, NO_CONSTRUCTOR, NO_FIELD, NO_METHOD, NO_NODE, NO_PACKAGE, NO_PARAMETER, NO_PROPERTY
-
Fields inherited from interface org.apache.xmlbeans.impl.jam.JAnnotation
SINGLE_VALUE_NAME
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(JVisitor visitor)
Accepts the given visitor.void
accept(MVisitor visitor)
MAnnotation
createNestedValue(String name, String annTypeName)
MAnnotation[]
createNestedValueArray(String name, String annComponentTypeName, int dimensions)
Object
getAnnotationInstance()
If this JAnnotation corresponds to metadata that is stored in a JSR175 annotation (i.e.Object
getProxy()
If a typed annotation proxy has been registered for the annotation represented by this JAnnotation, returns this object.String
getQualifiedName()
Returns a qualified name for this abstraction.JAnnotationValue
getValue(String name)
Returns a structure which provides untyped, "by-name" access to the value of the named annotation member.JAnnotationValue[]
getValues()
Returns an array of this annotation's member values.void
setAnnotationInstance(Object o)
void
setSimpleValue(String name, Object value, JClass type)
-
Methods inherited from class org.apache.xmlbeans.impl.jam.internal.elements.ElementImpl
compareTo, createSourcePosition, defaultName, equals, getArtifact, getClassLoader, getContext, getMutableSourcePosition, getParent, getSimpleName, getSourcePosition, hashCode, removeSourcePosition, setArtifact, setSimpleName, toString
-
Methods inherited from interface org.apache.xmlbeans.impl.jam.JAnnotation
getSimpleName
-
Methods inherited from interface org.apache.xmlbeans.impl.jam.JElement
getArtifact, getParent, getSourcePosition, toString
-
Methods inherited from interface org.apache.xmlbeans.impl.jam.mutable.MElement
createSourcePosition, getClassLoader, getMutableSourcePosition, removeSourcePosition, setArtifact, setSimpleName
-
-
-
-
Method Detail
-
getProxy
public Object getProxy()
Description copied from interface:JAnnotation
If a typed annotation proxy has been registered for the annotation represented by this JAnnotation, returns this object. Note that it's usually easier to access proxies by simply calling JAnnotatedElement.getAnnotationProxy(proxyClass).
The value returned is guaranteed to be either a user-defined subclass of TypedAnnotationProxyBase or null.
- Specified by:
getProxy
in interfaceJAnnotation
-
getValues
public JAnnotationValue[] getValues()
Description copied from interface:JAnnotation
Returns an array of this annotation's member values.
- Specified by:
getValues
in interfaceJAnnotation
-
getValue
public JAnnotationValue getValue(String name)
Description copied from interface:JAnnotation
Returns a structure which provides untyped, "by-name" access to the value of the named annotation member.
- Specified by:
getValue
in interfaceJAnnotation
-
getAnnotationInstance
public Object getAnnotationInstance()
Description copied from interface:JAnnotation
If this JAnnotation corresponds to metadata that is stored in a JSR175 annotation (i.e. an instance of java.lang.annotation.Annotation), returns that annotation object. Returns null if the annotation does not exist or is otherwise unavailable.
Note that this is done only on a best-effort basis - the annotation object not be availble under pre-1.5 JREs and will generally only be available if the underlying annotation was view from a class file. Note that the retention policy of the annotation type usually must also be RUNTIME. Unless you are sure of all of these things, you are better off using an AnnotationProxy or the untyped value accessors (e.g. getValues()).
If this method does return something other than null, it is guaranteed to be an instance of
.java.lang.annotation.Annotation
. It is typed here asObject
simply to preserve API compatibility with Java 1.4.- Specified by:
getAnnotationInstance
in interfaceJAnnotation
-
setAnnotationInstance
public void setAnnotationInstance(Object o)
- Specified by:
setAnnotationInstance
in interfaceMAnnotation
-
setSimpleValue
public void setSimpleValue(String name, Object value, JClass type)
- Specified by:
setSimpleValue
in interfaceMAnnotation
-
createNestedValue
public MAnnotation createNestedValue(String name, String annTypeName)
- Specified by:
createNestedValue
in interfaceMAnnotation
-
createNestedValueArray
public MAnnotation[] createNestedValueArray(String name, String annComponentTypeName, int dimensions)
- Specified by:
createNestedValueArray
in interfaceMAnnotation
-
getQualifiedName
public String getQualifiedName()
Description copied from interface:JElement
Returns a qualified name for this abstraction. The exact format of this name depends on the particular abstraction. Please refer to the documentation for each JElement subclass for a detailed description of the qualified name formats.
- Specified by:
getQualifiedName
in interfaceJElement
-
-