org.eclipse.jpt.jaxb.core.resource.java
Interface JavaResourceAnnotatedElement

All Superinterfaces:
JavaResourceNode, Model
All Known Subinterfaces:
JavaResourceAbstractType, JavaResourceAttribute, JavaResourceEnum, JavaResourceEnumConstant, JavaResourceField, JavaResourceMember, JavaResourceMethod, JavaResourcePackage, JavaResourceType

public interface JavaResourceAnnotatedElement
extends JavaResourceNode

Java source code or binary annotated element.

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.

Since:
3.0
Version:
3.0

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.eclipse.jpt.jaxb.core.resource.java.JavaResourceNode
JavaResourceNode.Root
 
Field Summary
static java.lang.String ANNOTATIONS_COLLECTION
          String associated with changes to the "annotations" collection
static java.lang.String NESTABLE_ANNOTATIONS_COLLECTION
          String associated with changes to the "nestableAnnotations" collection
 
Method Summary
 NestableAnnotation addAnnotation(int index, java.lang.String nestableAnnotationName)
          Add a new nestable annotation with the specified name.
 Annotation addAnnotation(java.lang.String annotationName)
          Add an annotation with the specified name.
 NestableAnnotation getAnnotation(int index, java.lang.String nestableAnnotationName)
          Return the nestable annotation at the specified index with the specified name.
 Annotation getAnnotation(java.lang.String annotationName)
          Return the annotation with the specified name.
 java.lang.Iterable<Annotation> getAnnotations()
          Return the member's annotations in the order that they appear.
 org.eclipse.jpt.common.utility.internal.iterables.ListIterable<? extends NestableAnnotation> getAnnotations(java.lang.String nestableAnnotationName)
          Return the nestable annotations with the specified name in the order that they appear.
 int getAnnotationsSize()
          Return the number of annotations.
 int getAnnotationsSize(java.lang.String nestableAnnotationName)
          Return the number of nestable annotations with the specified name.
 TextRange getNameTextRange(org.eclipse.jdt.core.dom.CompilationUnit astRoot)
          Return the text range for the member's name.
 Annotation getNonNullAnnotation(java.lang.String annotationName)
          Return the specified annotation.
 boolean isAnnotated()
          Return whether the underlying JDT member is currently annotated with any recognized annotations.
 void moveAnnotation(int targetIndex, int sourceIndex, java.lang.String nestableAnnotationName)
          Move the nestable annotation at the specified source index to the specified target index.
 void removeAnnotation(int index, java.lang.String nestableAnnotationName)
          Remove the specified nestable annotation from the container annotation at the specified index.
 void removeAnnotation(java.lang.String annotationName)
          Remove the specified annotation.
 
Methods inherited from interface org.eclipse.jpt.jaxb.core.resource.java.JavaResourceNode
getFile, getJavaResourceCompilationUnit, getRoot, getTextRange, initialize, synchronizeWith
 
Methods inherited from interface org.eclipse.jpt.common.utility.model.Model
addChangeListener, addCollectionChangeListener, addListChangeListener, addPropertyChangeListener, addStateChangeListener, addTreeChangeListener, removeChangeListener, removeCollectionChangeListener, removeListChangeListener, removePropertyChangeListener, removeStateChangeListener, removeTreeChangeListener
 

Field Detail

ANNOTATIONS_COLLECTION

static final java.lang.String ANNOTATIONS_COLLECTION
String associated with changes to the "annotations" collection

See Also:
Constant Field Values

NESTABLE_ANNOTATIONS_COLLECTION

static final java.lang.String NESTABLE_ANNOTATIONS_COLLECTION
String associated with changes to the "nestableAnnotations" collection

See Also:
Constant Field Values
Method Detail

getAnnotations

java.lang.Iterable<Annotation> getAnnotations()
Return the member's annotations in the order that they appear. Do not return duplicate annotations as this error is handled by the Java compiler.


getAnnotationsSize

int getAnnotationsSize()
Return the number of annotations.


getAnnotation

Annotation getAnnotation(java.lang.String annotationName)
Return the annotation with the specified name. Return the first if there are duplicates in the source code.


getNonNullAnnotation

Annotation getNonNullAnnotation(java.lang.String annotationName)
Return the specified annotation. Return the first if there are duplicates in the source code. Do not return null, but a Null Object instead if no annotation with the specified name exists in the source code.


getAnnotations

org.eclipse.jpt.common.utility.internal.iterables.ListIterable<? extends NestableAnnotation> getAnnotations(java.lang.String nestableAnnotationName)
Return the nestable annotations with the specified name in the order that they appear. If nestable and container annotations are both specified on the member directly, the behavior is undefined


getAnnotationsSize

int getAnnotationsSize(java.lang.String nestableAnnotationName)
Return the number of nestable annotations with the specified name. If nestable and container annotations are both specified on the member directly, the behavior is undefined


getAnnotation

NestableAnnotation getAnnotation(int index,
                                 java.lang.String nestableAnnotationName)
Return the nestable annotation at the specified index with the specified name. If nestable and container annotations are both specified on the member directly, the behavior is undefined


addAnnotation

Annotation addAnnotation(java.lang.String annotationName)
Add an annotation with the specified name. Return the newly-created annotation.


addAnnotation

NestableAnnotation addAnnotation(int index,
                                 java.lang.String nestableAnnotationName)
Add a new nestable annotation with the specified name. Create a new container annotation if necessary and add the nestable annotation to it. If both the nestable annotation and the container annotation already exist, then add to the container annotation, leaving the existing nestable annotation alone. If only the nestable annotation exists, then create the new container annotation and move the existing nestable annotation to it along with the new one. If neither annotation exists, then create a new nestable annotation.


moveAnnotation

void moveAnnotation(int targetIndex,
                    int sourceIndex,
                    java.lang.String nestableAnnotationName)
Move the nestable annotation at the specified source index to the specified target index.


removeAnnotation

void removeAnnotation(java.lang.String annotationName)
Remove the specified annotation.


removeAnnotation

void removeAnnotation(int index,
                      java.lang.String nestableAnnotationName)
Remove the specified nestable annotation from the container annotation at the specified index. If there is no container, assume the index is zero and just remove the nestable annotation


isAnnotated

boolean isAnnotated()
Return whether the underlying JDT member is currently annotated with any recognized annotations.


getNameTextRange

TextRange getNameTextRange(org.eclipse.jdt.core.dom.CompilationUnit astRoot)
Return the text range for the member's name.