org.eclipse.jpt.core.resource.java
Interface AnnotationDefinition


public interface AnnotationDefinition

Used to build Annotations discovered in the Java source code. To provide new AnnotationDefinitions, create a new JpaPlatform by implementing JpaPlatform and/or extending GenericJpaPlatform.

See Also:
Annotation, JpaPlatform, Provisional API: This interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.

Method Summary
 Annotation buildAnnotation(JavaResourcePersistentMember parent, org.eclipse.jdt.core.IAnnotation jdtAnnotation)
          Build and return an annotation for the specified JDT annotation on the specified member.
 Annotation buildAnnotation(JavaResourcePersistentMember parent, Member member)
          Build and return an annotation for the specified member.
 Annotation buildNullAnnotation(JavaResourcePersistentMember parent)
          Build and return a "null" annotation for the specified member.
 java.lang.String getAnnotationName()
          Return the name of the annotation the definition will build in the various #build...(...) methods.
 

Method Detail

getAnnotationName

java.lang.String getAnnotationName()
Return the name of the annotation the definition will build in the various #build...(...) methods.


buildAnnotation

Annotation buildAnnotation(JavaResourcePersistentMember parent,
                           Member member)
Build and return an annotation for the specified member.


buildAnnotation

Annotation buildAnnotation(JavaResourcePersistentMember parent,
                           org.eclipse.jdt.core.IAnnotation jdtAnnotation)
Build and return an annotation for the specified JDT annotation on the specified member.


buildNullAnnotation

Annotation buildNullAnnotation(JavaResourcePersistentMember parent)
Build and return a "null" annotation for the specified member. Only certain annotations are required to have "null" implementations; typically the annotations with reasonably complex default behavior. The "null" annotation is used by the corresponding default context model. The "null" annotation simplifies the context model code, allowing the context model to simply set various bits of state (e.g. 'name') and the "null" annotation will create a new "real" annotation and forward the new state to it. This reduces the number of null checks in the context model (hopefully).