## org.eclipse.jst.ws.annotations.core.utils
Class AnnotationUtils

    java.lang.Object
      org.eclipse.jst.ws.annotations.core.utils.AnnotationUtils

    public final class AnnotationUtils

extends java.lang.Object

Utility class for adding, removing and updating annotations and member value pairs.

Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made 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
`static void` `addAnnotation(org.eclipse.jdt.core.IJavaElement javaElement, org.eclipse.jdt.core.dom.Annotation annotation)` Adds the given `Annotation` to the `IJavaElement`.
`static void` `addImport(org.eclipse.jdt.core.IJavaElement javaElement, java.lang.String qualifiedName)` Adds an import to the compilation unit of the given `IJavaElement`.
`static void` `addMemberValuePair(org.eclipse.jdt.core.dom.NormalAnnotation annotation, org.eclipse.jdt.core.dom.MemberValuePair memberValuePair)` Adds the `MemberValuePair` to the `NormalAnnotation`.
`static boolean` `compareFieldNames(org.eclipse.jdt.core.dom.FieldDeclaration fieldDeclaration, org.eclipse.jdt.core.IField field)` Compares the `FieldDeclaration` and `IField`.
`static boolean` `compareMethods(org.eclipse.jdt.core.dom.MethodDeclaration methodDeclaration, org.eclipse.jdt.core.IMethod method)` Compares the `MethodDeclaration` and `IMethod`.
`static boolean` `compareMethods(org.eclipse.jdt.core.dom.MethodDeclaration methodOne, org.eclipse.jdt.core.dom.MethodDeclaration methodTwo)` Compares the two `MethodDeclaration`.
`static boolean` `compareMethods(com.sun.mirror.declaration.MethodDeclaration methodOne, com.sun.mirror.declaration.MethodDeclaration methodTwo)` Compares the two `MethodDeclaration`.
`static boolean` `compareTypeNames(org.eclipse.jdt.core.dom.AbstractTypeDeclaration abstractTypeDeclaration, org.eclipse.jdt.core.IType type)` Compares the `AbstractTypeDeclaration` and `IType`.
`static org.eclipse.text.edits.TextEdit` `createAddAnnotationTextEdit(org.eclipse.jdt.core.IJavaElement javaElement, org.eclipse.jdt.core.dom.Annotation annotation)` Creates a `TextEdit` object representing the add annotation change to the source code of the java elements compilation unit.
`static org.eclipse.text.edits.TextEdit` `createAddImportTextEdit(org.eclipse.jdt.core.IJavaElement javaElement, java.lang.String qualifiedName)` Creates a `TextEdit` object representing the add import change to the source code of the java elements compilation unit.
`static org.eclipse.text.edits.TextEdit` `createAddMemberValuePairTextEdit(org.eclipse.jdt.core.dom.NormalAnnotation annotation, org.eclipse.jdt.core.dom.MemberValuePair memberValuePair)` Creates a `TextEdit` object representing the change of adding the `MemberValuePair` to the `NormalAnnotation`.
`static org.eclipse.text.edits.TextEdit` `createRemoveAnnotationTextEdit(org.eclipse.jdt.core.IJavaElement javaElement, org.eclipse.jdt.core.dom.Annotation annotation)` Creates a `TextEdit` object representing the remove annotation change to the source code of the java elements compilation unit.
`static org.eclipse.text.edits.TextEdit` `createRemoveImportTextEdit(org.eclipse.jdt.core.IJavaElement javaElement, java.lang.String qualifiedName)` Creates a `TextEdit` object representing the remove import change to the source code of the java elements compilation unit.
`static org.eclipse.text.edits.TextEdit` `createRemoveMemberValuePairTextEdit(org.eclipse.jdt.core.dom.NormalAnnotation annotation, org.eclipse.jdt.core.dom.MemberValuePair memberValuePair)` Creates a `TextEdit` object representing the change of removing the `MemberValuePair` from the `NormalAnnotation`.
`static org.eclipse.text.edits.TextEdit` `createUpdateMemberValuePairTextEdit(org.eclipse.jdt.core.dom.MemberValuePair memberValuePair, org.eclipse.jdt.core.dom.ASTNode value)` Creates a `TextEdit` object representing the change of updating the `MemberValuePair` with the `ASTNode` value.
`static org.eclipse.text.edits.TextEdit` `createUpdateSingleMemberAnnotationTextEdit(org.eclipse.jdt.core.dom.SingleMemberAnnotation annotation, org.eclipse.jdt.core.dom.ASTNode value)` Creates a `TextEdit` object representing the change of updating the `SingleMemberAnnotation` with the `ASTNode` value.
`static org.eclipse.jdt.core.IAnnotation` `getAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotation, org.eclipse.jdt.core.IAnnotatable annotatable)` Returns the JDT `IAnnotation` that corresponds to the given `Annotation` class on the `IAnnotatable` element.
`static com.sun.mirror.declaration.AnnotationMirror` `getAnnotation(com.sun.mirror.declaration.Declaration declaration, java.lang.Class<? extends java.lang.annotation.Annotation> annotation)` Returns the `AnnotationMirror` that corresponds to the given `Annotation` class on the `Declaration`.
`static org.eclipse.jdt.core.dom.Annotation` `getAnnotation(org.eclipse.jdt.core.IJavaElement javaElement, java.lang.Class<? extends java.lang.annotation.Annotation> annotation)` Returns the AST `Annotation` that corresponds to the given `Annotation` class on the `IJavaElement`.
`static java.lang.String` `getAnnotationName(org.eclipse.jdt.core.dom.Annotation annotation)` Returns the annotations type name.
`static java.util.List<org.eclipse.jdt.core.dom.Annotation>` `getAnnotations(org.eclipse.jdt.core.IJavaElement javaElement)` Returns a list of all the `Annotation` that are present on the given `IJavaElement`
`static com.sun.mirror.declaration.AnnotationValue` `getAnnotationValue(com.sun.mirror.declaration.AnnotationMirror mirror, java.lang.String memberName)` Returns the `AnnotationValue` with the given member name that is declared within the `AnnotationMirror`.
`static java.lang.Object` `getAnnotationValue(org.eclipse.jdt.core.IAnnotation annotation, java.lang.String memberName)` Returns the JDT `IAnnotation` member value pair value with the given member name.
`static org.eclipse.jdt.core.dom.Expression` `getAnnotationValue(org.eclipse.jdt.core.dom.NormalAnnotation normalAnnotation, java.lang.String memberName)` Returns the `NormalAnnotation` member value pair value with the given member name.
`static java.lang.Boolean` `getBooleanValue(com.sun.mirror.declaration.AnnotationMirror mirror, java.lang.String memberName)` Returns the member value with the given member name from the `AnnotationMirror` as a `Boolean` value.
`static java.lang.Boolean` `getBooleanValue(org.eclipse.jdt.core.dom.Annotation annotation, java.lang.String memberName)` Returns the member value with the given member name from the `Annotation` as a `Boolean` value.
`static java.lang.Boolean` `getBooleanValue(org.eclipse.jdt.core.IAnnotation annotation, java.lang.String memberName)` Returns the member value with the given member name from the `IAnnotation` as a `Boolean` value.
`static org.eclipse.jdt.core.ICompilationUnit` `getCompilationUnitFromJavaElement(org.eclipse.jdt.core.IJavaElement javaElement)` Returns a `ICompilationUnit` for the given `IJavaElement`.
`static java.lang.String` `getEnumValue(org.eclipse.jdt.core.dom.Annotation annotation, java.lang.String memberName)` Returns the member value with the given member name from the `Annotation` as a `String` value.
`static java.lang.String` `getEnumValue(org.eclipse.jdt.core.IAnnotation annotation, java.lang.String memberName)` Returns the member value with the given member name from the `IAnnotation` as a `String` value.
`static org.eclipse.jdt.core.dom.FieldDeclaration` `getFieldDeclaration(org.eclipse.jdt.core.IField field)` Returns the `FieldDeclaration` that corresponds to the given `IField`.
`static org.eclipse.jdt.core.ILocalVariable` `getLocalVariable(org.eclipse.jdt.core.IMethod method, int offset)` Returns the `ILocalVariable` at the given offset position in the source file.
`static org.eclipse.jdt.core.ILocalVariable` `getLocalVariable(org.eclipse.jdt.core.IMethod method, java.lang.String paramName)` Returns the `ILocalVariable` with the given name within the declared `IMethod`.
`static org.eclipse.jdt.core.dom.MemberValuePair` `getMemberValuePair(org.eclipse.jdt.core.dom.NormalAnnotation normalAnnotation, java.lang.String memberName)` Returns the `MemberValuePair` with the given member name from the `NormalAnnotation`.
`static org.eclipse.jdt.core.dom.MethodDeclaration` `getMethodDeclaration(org.eclipse.jdt.core.IMethod method)` Returns the `MethodDeclaration` that corresponds to the given `IMethod`.
`static org.eclipse.jdt.core.dom.SingleVariableDeclaration` `getSingleVariableDeclaration(org.eclipse.jdt.core.ILocalVariable javaElement)` Returns the `SingleVariableDeclaration` that corresponds to the given `ILocalVariable`.
`static java.util.List<org.eclipse.jdt.core.dom.SingleVariableDeclaration>` `getSingleVariableDeclarations(org.eclipse.jdt.core.IMethod method)` Returns a list of all the `SingleVariableDeclaration` for the given `IMethod`.
`static java.lang.String` `getStringValue(com.sun.mirror.declaration.AnnotationMirror mirror, java.lang.String memberName)` Returns the member value with the given member name from the `AnnotationMirror` as a `String` value.
`static java.lang.String` `getStringValue(org.eclipse.jdt.core.dom.Annotation annotation, java.lang.String memberName)` Returns the member value with the given member name from the `Annotation` as a `String` value.
`static java.lang.String` `getStringValue(org.eclipse.jdt.core.IAnnotation annotation, java.lang.String memberName)` Returns the member value with the given member name from the `IAnnotation` as a `String` value.
`static org.eclipse.jdt.core.dom.AbstractTypeDeclaration` `getTypeDeclaration(org.eclipse.jdt.core.IType type)` Returns the `AbstractTypeDeclaration` that corresponds to the given `IType`.
`static boolean` `isAnnotationPresent(org.eclipse.jdt.core.IJavaElement javaElement, org.eclipse.jdt.core.dom.Annotation annotation)` Checks if the given `Annotation` is present on the `IJavaElement`.
`static boolean` `isAnnotationPresent(org.eclipse.jdt.core.IJavaElement javaElement, java.lang.String annotationName)` Checks if the annotation with the given name is present on the `IJavaElement`.
`static void` `removeAnnotation(org.eclipse.jdt.core.IJavaElement javaElement, org.eclipse.jdt.core.dom.Annotation annotation)` Removes the given `Annotation` from the `IJavaElement`.
`static void` `removeImport(org.eclipse.jdt.core.IJavaElement javaElement, java.lang.String qualifiedName)` Removes an import from the compilation unit of the given `IJavaElement`.
`static void` `removeMemberValuePair(org.eclipse.jdt.core.dom.NormalAnnotation annotation, org.eclipse.jdt.core.dom.MemberValuePair memberValuePair)` Removes the `MemberValuePair` from the `NormalAnnotation`.
`static void` `updateMemberValuePair(org.eclipse.jdt.core.dom.MemberValuePair memberValuePair, org.eclipse.jdt.core.dom.ASTNode value)` Updates the `MemberValuePair` value with the given `ASTNode`.
`static void` `updateSingleMemberAnnotation(org.eclipse.jdt.core.dom.SingleMemberAnnotation annotation, org.eclipse.jdt.core.dom.ASTNode value)` Updates the value of the `SingleMemberAnnotation` with the given `ASTNode`.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### addImport

    public static void addImport(org.eclipse.jdt.core.IJavaElement javaElement,
                                 java.lang.String qualifiedName)
                          throws org.eclipse.core.runtime.CoreException

  Adds an import to the compilation unit of the given `IJavaElement`.

  Parameters:
    `javaElement` - the java element which is used to get the compilation unit to add the import to. The following types of java elements are supported:
    - IJavaElement.COMPILATION_UNIT
    - IJavaElement.PACKAGE_DECLARATION
    - IJavaElement.TYPE
    - IJavaElement.FIELD
    - IJavaElement.METHOD
    - IJavaElement.LOCAL_VARIABLE
    `qualifiedName` - the import to add.
  Throws:
    `org.eclipse.core.runtime.CoreException` - the exception is thrown if the import rewrite fails.

### removeImport

    public static void removeImport(org.eclipse.jdt.core.IJavaElement javaElement,
                                    java.lang.String qualifiedName)
                             throws org.eclipse.core.runtime.CoreException

  Removes an import from the compilation unit of the given `IJavaElement`. The import will not be removed if the import type is referenced on more than one annotatable element in the source code. This method is intended to be used in conjunction with `removeAnnotation(IJavaElement, Annotation)`}.

  Parameters:
    `javaElement` - the java element which is used to get the compilation unit to remove the import from. The following types of java elements are supported:
    - IJavaElement.COMPILATION_UNIT
    - IJavaElement.PACKAGE_DECLARATION
    - IJavaElement.TYPE
    - IJavaElement.FIELD
    - IJavaElement.METHOD
    - IJavaElement.LOCAL_VARIABLE
    `qualifiedName` - the import to remove.
  Throws:
    `org.eclipse.core.runtime.CoreException` - the exception is thrown if the import rewrite fails.

### addAnnotation

    public static void addAnnotation(org.eclipse.jdt.core.IJavaElement javaElement,
                                     org.eclipse.jdt.core.dom.Annotation annotation)
                              throws org.eclipse.jdt.core.JavaModelException

  Adds the given `Annotation` to the `IJavaElement`.

  Parameters:
    `javaElement` - the following types of java elements are supported:
    - IJavaElement.PACKAGE_DECLARATION
    - IJavaElement.TYPE
    - IJavaElement.FIELD
    - IJavaElement.METHOD
    - IJavaElement.LOCAL_VARIABLE
    `annotation` - the annotation to add.
  Throws:
    `org.eclipse.jdt.core.JavaModelException` - A `JavaModelException` is thrown when the underlying compilation units buffer could not be accessed.

### removeAnnotation

    public static void removeAnnotation(org.eclipse.jdt.core.IJavaElement javaElement,
                                        org.eclipse.jdt.core.dom.Annotation annotation)
                                 throws org.eclipse.jdt.core.JavaModelException

  Removes the given `Annotation` from the `IJavaElement`.

  Parameters:
    `javaElement` - the following types of java elements are supported:
    - IJavaElement.PACKAGE_DECLARATION
    - IJavaElement.TYPE
    - IJavaElement.FIELD
    - IJavaElement.METHOD
    - IJavaElement.LOCAL_VARIABLE
    `annotation` - the annotation to remove.
  Throws:
    `org.eclipse.jdt.core.JavaModelException` - A `JavaModelException` is thrown when the underlying compilation units buffer could not be accessed.

### addMemberValuePair

    public static void addMemberValuePair(org.eclipse.jdt.core.dom.NormalAnnotation annotation,
                                          org.eclipse.jdt.core.dom.MemberValuePair memberValuePair)
                                   throws org.eclipse.jdt.core.JavaModelException

  Adds the `MemberValuePair` to the `NormalAnnotation`.

  Parameters:
    `annotation` - the normal annotation to add the member value pair to.
    `memberValuePair` - the member value pair to add.
  Throws:
    `org.eclipse.jdt.core.JavaModelException` - A `JavaModelException` is thrown when the underlying compilation units buffer could not be accessed.

### removeMemberValuePair

    public static void removeMemberValuePair(org.eclipse.jdt.core.dom.NormalAnnotation annotation,
                                             org.eclipse.jdt.core.dom.MemberValuePair memberValuePair)
                                      throws org.eclipse.jdt.core.JavaModelException

  Removes the `MemberValuePair` from the `NormalAnnotation`.

  Parameters:
    `annotation` - the normal annotation from which to remove the member value pair.
    `memberValuePair` - the member value pair to remove.
  Throws:
    `org.eclipse.jdt.core.JavaModelException` - A `JavaModelException` is thrown when the underlying compilation units buffer could not be accessed.

### updateMemberValuePair

    public static void updateMemberValuePair(org.eclipse.jdt.core.dom.MemberValuePair memberValuePair,
                                             org.eclipse.jdt.core.dom.ASTNode value)
                                      throws org.eclipse.jdt.core.JavaModelException

  Updates the `MemberValuePair` value with the given `ASTNode`.

  Parameters:
    `memberValuePair` - the member value pair to update.
    `value` - the value to set.
  Throws:
    `org.eclipse.jdt.core.JavaModelException` - A `JavaModelException` is thrown when the underlying compilation units buffer could not be accessed.

### updateSingleMemberAnnotation

    public static void updateSingleMemberAnnotation(org.eclipse.jdt.core.dom.SingleMemberAnnotation annotation,
                                                    org.eclipse.jdt.core.dom.ASTNode value)
                                             throws org.eclipse.jdt.core.JavaModelException

  Updates the value of the `SingleMemberAnnotation` with the given `ASTNode`.

  Parameters:
    `annotation` - the single member annotation to update.
    `value` - the value to set.
  Throws:
    `org.eclipse.jdt.core.JavaModelException` - A `JavaModelException` is thrown when the underlying compilation units buffer could not be accessed.

### createAddImportTextEdit

    public static org.eclipse.text.edits.TextEdit createAddImportTextEdit(org.eclipse.jdt.core.IJavaElement javaElement,
                                                                          java.lang.String qualifiedName)
                                                                   throws org.eclipse.core.runtime.CoreException

  Creates a `TextEdit` object representing the add import change to the source code of the java elements compilation unit. The compilation unit itself is not modified.

  Parameters:
    `javaElement` - one of the following types of java element:
    - IJavaElement.COMPILATION_UNIT
    - IJavaElement.PACKAGE_DECLARATION
    - IJavaElement.TYPE
    - IJavaElement.FIELD
    - IJavaElement.METHOD
    - IJavaElement.LOCAL_VARIABLE

    The java element will be used to create a `CompilationUnit` which will in turn be used to create an `ImportRewrite`.

    `qualifiedName` - the import to add.
  Returns:
    text edit object describing the add import changes.
  Throws:
    `org.eclipse.core.runtime.CoreException` - the exception is thrown if the import rewrite fails.

### createRemoveImportTextEdit

    public static org.eclipse.text.edits.TextEdit createRemoveImportTextEdit(org.eclipse.jdt.core.IJavaElement javaElement,
                                                                             java.lang.String qualifiedName)
                                                                      throws org.eclipse.core.runtime.CoreException

  Creates a `TextEdit` object representing the remove import change to the source code of the java elements compilation unit. The compilation unit itself is not modified. No change will be recorded if the import type is referenced on more than one an annotatable element in the source code. This method should be called in conjunction with `createRemoveAnnotationTextEdit(IJavaElement, Annotation)`}.

  Parameters:
    `javaElement` - one of the following types of java element:
    - IJavaElement.COMPILATION_UNIT
    - IJavaElement.PACKAGE_DECLARATION
    - IJavaElement.TYPE
    - IJavaElement.FIELD
    - IJavaElement.METHOD
    - IJavaElement.LOCAL_VARIABLE

    The java element will be used to create a `CompilationUnit` which will in turn be used to create an `ImportRewrite`.

    `qualifiedName` - the annotation import to remove.
  Returns:
    text edit object describing the remove import changes.
  Throws:
    `org.eclipse.core.runtime.CoreException` - the exception is thrown if the import rewrite fails.

### createAddAnnotationTextEdit

    public static org.eclipse.text.edits.TextEdit createAddAnnotationTextEdit(org.eclipse.jdt.core.IJavaElement javaElement,
                                                                              org.eclipse.jdt.core.dom.Annotation annotation)
                                                                       throws org.eclipse.jdt.core.JavaModelException

  Creates a `TextEdit` object representing the add annotation change to the source code of the java elements compilation unit. The compilation unit itself is not modified.

  Parameters:
    `javaElement` - one of the following types of java element:
    - IJavaElement.PACKAGE_DECLARATION
    - IJavaElement.TYPE
    - IJavaElement.FIELD
    - IJavaElement.METHOD
    - IJavaElement.LOCAL_VARIABLE
    `annotation` - the annotation to add.
  Returns:
    text edit object describing the add annotation changes. Returns a `MultiTextEdit` if the given java element isn't supported.
  Throws:
    `org.eclipse.jdt.core.JavaModelException` - A `JavaModelException` is thrown when the underlying compilation units buffer could not be accessed.

### createRemoveAnnotationTextEdit

    public static org.eclipse.text.edits.TextEdit createRemoveAnnotationTextEdit(org.eclipse.jdt.core.IJavaElement javaElement,
                                                                                 org.eclipse.jdt.core.dom.Annotation annotation)
                                                                          throws org.eclipse.jdt.core.JavaModelException

  Creates a `TextEdit` object representing the remove annotation change to the source code of the java elements compilation unit. The compilation unit itself is not modified.

  Parameters:
    `javaElement` - one of the following types of java element:
    - IJavaElement.PACKAGE_DECLARATION
    - IJavaElement.TYPE
    - IJavaElement.FIELD
    - IJavaElement.METHOD
    - IJavaElement.LOCAL_VARIABLE
    `annotation` - the annotation to add.
  Returns:
    text edit object describing the add annotation changes. Returns a `MultiTextEdit` if the given java element isn't supported.
  Throws:
    `org.eclipse.jdt.core.JavaModelException` - A `JavaModelException` is thrown when the underlying compilation units buffer could not be accessed.

### createAddMemberValuePairTextEdit

    public static org.eclipse.text.edits.TextEdit createAddMemberValuePairTextEdit(org.eclipse.jdt.core.dom.NormalAnnotation annotation,
                                                                                   org.eclipse.jdt.core.dom.MemberValuePair memberValuePair)
                                                                            throws org.eclipse.jdt.core.JavaModelException

  Creates a `TextEdit` object representing the change of adding the `MemberValuePair` to the `NormalAnnotation`. The underlying compilation unit itself is not modified.

  Parameters:
    `annotation` - the normal annotation to add the member value pair to.
    `memberValuePair` - the member value pair to add.
  Returns:
    text edit object describing the add member value pair change.
  Throws:
    `org.eclipse.jdt.core.JavaModelException` - A `JavaModelException` is thrown when the underlying compilation units buffer could not be accessed.

### createRemoveMemberValuePairTextEdit

    public static org.eclipse.text.edits.TextEdit createRemoveMemberValuePairTextEdit(org.eclipse.jdt.core.dom.NormalAnnotation annotation,
                                                                                      org.eclipse.jdt.core.dom.MemberValuePair memberValuePair)
                                                                               throws org.eclipse.jdt.core.JavaModelException

  Creates a `TextEdit` object representing the change of removing the `MemberValuePair` from the `NormalAnnotation`. The underlying compilation unit itself is not modified.

  Parameters:
    `annotation` - the normal annotation to remove the member value pair from.
    `memberValuePair` - the member value pair to remove.
  Returns:
    text edit object describing the remove member value pair change.
  Throws:
    `org.eclipse.jdt.core.JavaModelException` - A `JavaModelException` is thrown when the underlying compilation units buffer could not be accessed.

### createUpdateMemberValuePairTextEdit

    public static org.eclipse.text.edits.TextEdit createUpdateMemberValuePairTextEdit(org.eclipse.jdt.core.dom.MemberValuePair memberValuePair,
                                                                                      org.eclipse.jdt.core.dom.ASTNode value)
                                                                               throws org.eclipse.jdt.core.JavaModelException

  Creates a `TextEdit` object representing the change of updating the `MemberValuePair` with the `ASTNode` value. The underlying compilation unit itself is not modified.

  Parameters:
    `memberValuePair` - the member value pair to update.
    `value` - the value to set.
  Returns:
    text edit object describing the update member value pair change.
  Throws:
    `org.eclipse.jdt.core.JavaModelException` - A `JavaModelException` is thrown when the underlying compilation units buffer could not be accessed.

### createUpdateSingleMemberAnnotationTextEdit

    public static org.eclipse.text.edits.TextEdit createUpdateSingleMemberAnnotationTextEdit(org.eclipse.jdt.core.dom.SingleMemberAnnotation annotation,
                                                                                             org.eclipse.jdt.core.dom.ASTNode value)
                                                                                      throws org.eclipse.jdt.core.JavaModelException

  Creates a `TextEdit` object representing the change of updating the `SingleMemberAnnotation` with the `ASTNode` value. The underlying compilation unit itself is not modified.

  Parameters:
    `annotation` - the single memeber annotation to update.
    `value` - the value to set.
  Returns:
    text edit object describing the update single member annotation change.
  Throws:
    `org.eclipse.jdt.core.JavaModelException` - A `JavaModelException` is thrown when the underlying compilation units buffer could not be accessed.

### getCompilationUnitFromJavaElement

    public static org.eclipse.jdt.core.ICompilationUnit getCompilationUnitFromJavaElement(org.eclipse.jdt.core.IJavaElement javaElement)

  Returns a `ICompilationUnit` for the given `IJavaElement`.

  Parameters:
    `javaElement` - one of the following types of java element:
    - IJavaElement.COMPILATION_UNIT
    - IJavaElement.PACKAGE_DECLARATION
    - IJavaElement.TYPE
    - IJavaElement.FIELD
    - IJavaElement.METHOD
    - IJavaElement.LOCAL_VARIABLE
  Returns:
    a compilation unit.

### getTypeDeclaration

    public static org.eclipse.jdt.core.dom.AbstractTypeDeclaration getTypeDeclaration(org.eclipse.jdt.core.IType type)

  Returns the `AbstractTypeDeclaration` that corresponds to the given `IType`.

  Parameters:
    `type` - the type.
  Returns:
    a type declaration or null if not found.

### getMethodDeclaration

    public static org.eclipse.jdt.core.dom.MethodDeclaration getMethodDeclaration(org.eclipse.jdt.core.IMethod method)

  Returns the `MethodDeclaration` that corresponds to the given `IMethod`.

  Parameters:
    `method` - the method
  Returns:
    a method declaration or null if not found.

### getFieldDeclaration

    public static org.eclipse.jdt.core.dom.FieldDeclaration getFieldDeclaration(org.eclipse.jdt.core.IField field)

  Returns the `FieldDeclaration` that corresponds to the given `IField`.

  Parameters:
    `field` - the field
  Returns:
    a field declaration or null if not found.

### getSingleVariableDeclaration

    public static org.eclipse.jdt.core.dom.SingleVariableDeclaration getSingleVariableDeclaration(org.eclipse.jdt.core.ILocalVariable javaElement)

  Returns the `SingleVariableDeclaration` that corresponds to the given `ILocalVariable`.

  Parameters:
    `javaElement` - the local variable
  Returns:
    a single variable declaration or null if not found.

### getAnnotationName

    public static java.lang.String getAnnotationName(org.eclipse.jdt.core.dom.Annotation annotation)

  Returns the annotations type name. If the annotation name is a simple name, the result is the name's identifier. If the name is a qualified name, the result is the name of the qualifier followed by "." followed by the name's identifier.

  Parameters:
    `annotation` - the annotation.
  Returns:
    the annotation name. The simple name or the fully qualified name.

### compareTypeNames

    public static boolean compareTypeNames(org.eclipse.jdt.core.dom.AbstractTypeDeclaration abstractTypeDeclaration,
                                           org.eclipse.jdt.core.IType type)

  Compares the `AbstractTypeDeclaration` and `IType`.

  Parameters:
    `abstractTypeDeclaration` - the type declaration.
    `type` - the type.
  Returns:
    `true` if the names match.

### compareMethods

    public static boolean compareMethods(org.eclipse.jdt.core.dom.MethodDeclaration methodDeclaration,
                                         org.eclipse.jdt.core.IMethod method)

  Compares the `MethodDeclaration` and `IMethod`.

  Parameters:
    `methodDeclaration` - the method declaration.
    `method` - the method.
  Returns:
    `true` if the method names and parameter types match.

### compareMethods

    public static boolean compareMethods(org.eclipse.jdt.core.dom.MethodDeclaration methodOne,
                                         org.eclipse.jdt.core.dom.MethodDeclaration methodTwo)

  Compares the two `MethodDeclaration`.

  Parameters:
    `methodOne` - the first method declaration.
    `methodTwo` - the second method declaration.
  Returns:
    `true` if the method names and parameter types match.

### compareMethods

    public static boolean compareMethods(com.sun.mirror.declaration.MethodDeclaration methodOne,
                                         com.sun.mirror.declaration.MethodDeclaration methodTwo)

  Compares the two `MethodDeclaration`.

  Parameters:
    `methodOne` - the first method declaration.
    `methodTwo` - the second method declaration.
  Returns:
    `true` if the method names and parameter types match.

### compareFieldNames

    public static boolean compareFieldNames(org.eclipse.jdt.core.dom.FieldDeclaration fieldDeclaration,
                                            org.eclipse.jdt.core.IField field)

  Compares the `FieldDeclaration` and `IField`.

  Parameters:
    `fieldDeclaration` - the field declaration.
    `field` - the field.
  Returns:
    `true` if the field names match.

### isAnnotationPresent

    public static boolean isAnnotationPresent(org.eclipse.jdt.core.IJavaElement javaElement,
                                              org.eclipse.jdt.core.dom.Annotation annotation)

  Checks if the given `Annotation` is present on the `IJavaElement`.

  Parameters:
    `javaElement` - one of the following types of java element:
    - IJavaElement.PACKAGE_DECLARATION
    - IJavaElement.TYPE
    - IJavaElement.FIELD
    - IJavaElement.METHOD
    - IJavaElement.LOCAL_VARIABLE
    `annotation` - the annotation.
  Returns:
    `true` if the annotation is present.

### isAnnotationPresent

    public static boolean isAnnotationPresent(org.eclipse.jdt.core.IJavaElement javaElement,
                                              java.lang.String annotationName)

  Checks if the annotation with the given name is present on the `IJavaElement`.

  Parameters:
    `javaElement` - one of the following types of java element:
    - IJavaElement.PACKAGE_DECLARATION
    - IJavaElement.TYPE
    - IJavaElement.FIELD
    - IJavaElement.METHOD
    - IJavaElement.LOCAL_VARIABLE
    `annotationName` - the annotation name.
  Returns:
    `true` if the annotation is present.

### getAnnotations

    public static java.util.List<org.eclipse.jdt.core.dom.Annotation> getAnnotations(org.eclipse.jdt.core.IJavaElement javaElement)

  Returns a list of all the `Annotation` that are present on the given `IJavaElement`

  Parameters:
    `javaElement` - one of the following types of java element:
    - IJavaElement.PACKAGE_DECLARATION
    - IJavaElement.TYPE
    - IJavaElement.FIELD
    - IJavaElement.METHOD
    - IJavaElement.LOCAL_VARIABLE
  Returns:
    a list of annotations.

### getSingleVariableDeclarations

    public static java.util.List<org.eclipse.jdt.core.dom.SingleVariableDeclaration> getSingleVariableDeclarations(org.eclipse.jdt.core.IMethod method)

  Returns a list of all the `SingleVariableDeclaration` for the given `IMethod`.

  Parameters:
    `method` - the method.
  Returns:
    a list of single variable declarations.

### getLocalVariable

    public static org.eclipse.jdt.core.ILocalVariable getLocalVariable(org.eclipse.jdt.core.IMethod method,
                                                                       int offset)

  Returns the `ILocalVariable` at the given offset position in the source file.

  Parameters:
    `method` - the method in which the local variable is declared.
    `offset` - the character index of the local variable in the source file. The offset must be >= to the start position of the node representing the local variable and <= the nodes start position plus length.
  Returns:
    the local variable or null if not found.

### getLocalVariable

    public static org.eclipse.jdt.core.ILocalVariable getLocalVariable(org.eclipse.jdt.core.IMethod method,
                                                                       java.lang.String paramName)

  Returns the `ILocalVariable` with the given name within the declared `IMethod`.

  Parameters:
    `method` - the method in which the local variable is declared.
    `paramName` - the local variable name.
  Returns:
    the local variable or null if not found.

### getAnnotation

    public static org.eclipse.jdt.core.dom.Annotation getAnnotation(org.eclipse.jdt.core.IJavaElement javaElement,
                                                                    java.lang.Class<? extends java.lang.annotation.Annotation> annotation)

  Returns the AST `Annotation` that corresponds to the given `Annotation` class on the `IJavaElement`.

  Parameters:
    `javaElement` - one of the following types of java element:
    - IJavaElement.PACKAGE_DECLARATION
    - IJavaElement.TYPE
    - IJavaElement.FIELD
    - IJavaElement.METHOD
    - IJavaElement.LOCAL_VARIABLE
    `annotation` - the `Annotation` class.
  Returns:
    the AST annotation or null if not found.

### getAnnotation

    public static com.sun.mirror.declaration.AnnotationMirror getAnnotation(com.sun.mirror.declaration.Declaration declaration,
                                                                            java.lang.Class<? extends java.lang.annotation.Annotation> annotation)

  Returns the `AnnotationMirror` that corresponds to the given `Annotation` class on the `Declaration`.

  Parameters:
    `declaration` - the declaration
    `annotation` - the `Annotation` class.
  Returns:
    the annotation mirror or null if not found.

### getAnnotation

    public static org.eclipse.jdt.core.IAnnotation getAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotation,
                                                                 org.eclipse.jdt.core.IAnnotatable annotatable)
                                                          throws org.eclipse.jdt.core.JavaModelException

  Returns the JDT `IAnnotation` that corresponds to the given `Annotation` class on the `IAnnotatable` element.

  Parameters:
    `annotation` - the `Annotation` class.
    `annotatable` - a package declaration, a type, a method, a field or a local variable in a compilation unit.
  Returns:
    the annotation or null if not found.
  Throws:
    `org.eclipse.jdt.core.JavaModelException` - if the annotatable element does not exist or if an exception occurs while accessing its corresponding resource.

### getAnnotationValue

    public static com.sun.mirror.declaration.AnnotationValue getAnnotationValue(com.sun.mirror.declaration.AnnotationMirror mirror,
                                                                                java.lang.String memberName)

  Returns the `AnnotationValue` with the given member name that is declared within the `AnnotationMirror`.

  Parameters:
    `mirror` - the annotation mirror.
    `memberName` - the member name.
  Returns:
    the annotation value or null if not found.

### getAnnotationValue

    public static org.eclipse.jdt.core.dom.Expression getAnnotationValue(org.eclipse.jdt.core.dom.NormalAnnotation normalAnnotation,
                                                                         java.lang.String memberName)

  Returns the `NormalAnnotation` member value pair value with the given member name.

  Parameters:
    `normalAnnotation` - the normal annotation.
    `memberName` - the member value pair member name.
  Returns:
    the value expression or null if not found.

### getAnnotationValue

    public static java.lang.Object getAnnotationValue(org.eclipse.jdt.core.IAnnotation annotation,
                                                      java.lang.String memberName)
                                               throws org.eclipse.jdt.core.JavaModelException

  Returns the JDT `IAnnotation` member value pair value with the given member name.

  Parameters:
    `annotation` - the annotation.
    `memberName` - the member name.
  Returns:
    an object representing the member value pairs value.
  Throws:
    `org.eclipse.jdt.core.JavaModelException` - if the annotation does not exist or if an exception occurs while accessing its corresponding resource.

### getMemberValuePair

    public static org.eclipse.jdt.core.dom.MemberValuePair getMemberValuePair(org.eclipse.jdt.core.dom.NormalAnnotation normalAnnotation,
                                                                              java.lang.String memberName)

  Returns the `MemberValuePair` with the given member name from the `NormalAnnotation`.

  Parameters:
    `normalAnnotation` - the normal annotation.
    `memberName` - the member name of the member value pair to return.
  Returns:
    a member value pair or null if no member value pair with the given member name can be found.

### getStringValue

    public static java.lang.String getStringValue(com.sun.mirror.declaration.AnnotationMirror mirror,
                                                  java.lang.String memberName)

  Returns the member value with the given member name from the `AnnotationMirror` as a `String` value.

  Parameters:
    `mirror` - the annotation mirror.
    `memberName` - the member name.
  Returns:
    the member value as a String or null if no member with the member name can be found.

### getStringValue

    public static java.lang.String getStringValue(org.eclipse.jdt.core.dom.Annotation annotation,
                                                  java.lang.String memberName)

  Returns the member value with the given member name from the `Annotation` as a `String` value.

  Parameters:
    `annotation` - the AST annotation.
    `memberName` - the member name.
  Returns:
    the member value as a String or null if no member with the member name can be found.

### getStringValue

    public static java.lang.String getStringValue(org.eclipse.jdt.core.IAnnotation annotation,
                                                  java.lang.String memberName)
                                           throws org.eclipse.jdt.core.JavaModelException

  Returns the member value with the given member name from the `IAnnotation` as a `String` value.

  Parameters:
    `annotation` - the JDT annotation.
    `memberName` - the member name.
  Returns:
    the member value as a String or null if no member with the member name can be found.
  Throws:
    `org.eclipse.jdt.core.JavaModelException` - if the annotation does not exist or if an exception occurs while accessing its corresponding resource.

### getBooleanValue

    public static java.lang.Boolean getBooleanValue(com.sun.mirror.declaration.AnnotationMirror mirror,
                                                    java.lang.String memberName)

  Returns the member value with the given member name from the `AnnotationMirror` as a `Boolean` value.

  Parameters:
    `mirror` - the annotation mirror.
    `memberName` - the member name.
  Returns:
    the member value as a Boolean or null if no member with the member name can be found.

### getBooleanValue

    public static java.lang.Boolean getBooleanValue(org.eclipse.jdt.core.dom.Annotation annotation,
                                                    java.lang.String memberName)

  Returns the member value with the given member name from the `Annotation` as a `Boolean` value.

  Parameters:
    `annotation` - the AST annotation.
    `memberName` - the member name.
  Returns:
    the member value as a Boolean or null if no member with the member name can be found.

### getBooleanValue

    public static java.lang.Boolean getBooleanValue(org.eclipse.jdt.core.IAnnotation annotation,
                                                    java.lang.String memberName)
                                             throws org.eclipse.jdt.core.JavaModelException

  Returns the member value with the given member name from the `IAnnotation` as a `Boolean` value.

  Parameters:
    `annotation` - the JDT annotation.
    `memberName` - the member name.
  Returns:
    the member value as a Boolean or null if no member with the member name can be found.
  Throws:
    `org.eclipse.jdt.core.JavaModelException` - if the annotation does not exist or if an exception occurs while accessing its corresponding resource.

### getEnumValue

    public static java.lang.String getEnumValue(org.eclipse.jdt.core.dom.Annotation annotation,
                                                java.lang.String memberName)

  Returns the member value with the given member name from the `Annotation` as a `String` value. The returned String value is the name of the enum constant.

  Parameters:
    `annotation` - the AST annotation.
    `memberName` - the member name.
  Returns:
    the member value as a String or null if no member with the member name can be found.

### getEnumValue

    public static java.lang.String getEnumValue(org.eclipse.jdt.core.IAnnotation annotation,
                                                java.lang.String memberName)
                                         throws org.eclipse.jdt.core.JavaModelException

  Returns the member value with the given member name from the `IAnnotation` as a `String` value. The returned String value is the name of the enum constant.

  Parameters:
    `annotation` - the JDT annotation.
    `memberName` - the member name.
  Returns:
    the member value as a String or null if no member with the member name can be found.
  Throws:
    `org.eclipse.jdt.core.JavaModelException` - if the annotation does not exist or if an exception occurs while accessing its corresponding resource.