Dali Provisional API
Release 3.2

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


public interface AnnotationDefinition

Used to build Annotations discovered in the Java source code. Use an implementation of AnnotationProvider to provide AnnotationDefinitions. If the annotation is part of a container/nestable annotation pair use NestableAnnotationDefinition instead.

See Also:
Annotation, AnnotationProvider, 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.

Nested Class Summary
static class AnnotationDefinition.AnnotationNameTransformer
           
 
Field Summary
static org.eclipse.jpt.common.utility.transformer.Transformer<AnnotationDefinition,String> ANNOTATION_NAME_TRANSFORMER
           
 
Method Summary
 Annotation buildAnnotation(JavaResourceAnnotatedElement parent, AnnotatedElement annotatedElement)
          Build and return an annotation for the specified annotated element.
 Annotation buildAnnotation(JavaResourceAnnotatedElement parent, IAnnotation jdtAnnotation)
          Build and return an annotation for the specified JDT annotation on the specified annotated element.
 Annotation buildNullAnnotation(JavaResourceAnnotatedElement parent)
          Build and return a "null" annotation for the specified annotated element.
 String getAnnotationName()
          Return the name of the annotation the definition will build in the various #build...(...) methods.
 

Field Detail

ANNOTATION_NAME_TRANSFORMER

static final org.eclipse.jpt.common.utility.transformer.Transformer<AnnotationDefinition,String> ANNOTATION_NAME_TRANSFORMER
Method Detail

getAnnotationName

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


buildAnnotation

Annotation buildAnnotation(JavaResourceAnnotatedElement parent,
                           AnnotatedElement annotatedElement)
Build and return an annotation for the specified annotated element.


buildAnnotation

Annotation buildAnnotation(JavaResourceAnnotatedElement parent,
                           IAnnotation jdtAnnotation)
Build and return an annotation for the specified JDT annotation on the specified annotated element.


buildNullAnnotation

Annotation buildNullAnnotation(JavaResourceAnnotatedElement parent)
Build and return a "null" annotation for the specified annotated element. 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).


Dali Provisional API
Release 3.2

Copyright (c) 2012 Oracle. All rights reserved.