Class RefactorHelper

java.lang.Object
com.iizigo.java.refactor.RefactorHelper

public class RefactorHelper extends Object
Utility class for refactoring: adding, removing and updating annotations and member value pairs.
Author:
Christopher Mindus
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    addAnnotation(org.eclipse.jdt.core.IJavaElement javaElement, String annotationFQN, String param, String value, boolean allowMultiple)
    Refactor operation that adds an annotation to an element with a value/pair initialized with a StringLiteral value.
    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
    addEventMethod(org.eclipse.jdt.core.IType type, String methodName, AnnotationType annotation, String refName)
    Refactor operation to add an event method with an annotation.
    static void
    addImport(org.eclipse.jdt.core.IJavaElement javaElement, String qualifiedName)
    Adds an import to the compilation unit of the given IJavaElement.
    static void
    addInterface(org.eclipse.jdt.core.IType type, String interfaceFQN)
    Refactor operation that adds an interface to an element.
    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 methodOne, org.eclipse.jdt.core.dom.MethodDeclaration methodTwo)
    Compares the two MethodDeclaration.
    static boolean
    compareMethods(org.eclipse.jdt.core.dom.MethodDeclaration methodDeclaration, org.eclipse.jdt.core.IMethod method)
    Compares the MethodDeclaration and IMethod.
    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, 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
    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(Class<? extends Annotation> annotation, org.eclipse.jdt.core.IAnnotatable annotatable)
    Returns the JDT IAnnotation that corresponds to the given Annotation class on the IAnnotatable element.
    static org.eclipse.jdt.core.dom.Annotation
    getAnnotation(org.eclipse.jdt.core.IJavaElement javaElement, Class<? extends Annotation> annotation)
    Returns the AST Annotation that corresponds to the given Annotation class on the IJavaElement.
    static String
    getAnnotationName(org.eclipse.jdt.core.dom.Annotation annotation)
    Returns the annotations type name.
    static 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 org.eclipse.jdt.core.dom.Expression
    getAnnotationValue(org.eclipse.jdt.core.dom.NormalAnnotation normalAnnotation, String memberName)
    Returns the NormalAnnotation member value pair value with the given member name.
    static Object
    getAnnotationValue(org.eclipse.jdt.core.IAnnotation annotation, String memberName)
    Returns the JDT IAnnotation member value pair value with the given member name.
    static Boolean
    getBooleanValue(org.eclipse.jdt.core.dom.Annotation annotation, String memberName)
    Returns the member value with the given member name from the Annotation as a Boolean value.
    static Boolean
    getBooleanValue(org.eclipse.jdt.core.IAnnotation annotation, 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 String
    getEnumValue(org.eclipse.jdt.core.dom.Annotation annotation, String memberName)
    Returns the member value with the given member name from the Annotation as a String value.
    static String
    getEnumValue(org.eclipse.jdt.core.IAnnotation annotation, 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, 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, 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 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 String
    getStringValue(org.eclipse.jdt.core.dom.Annotation annotation, String memberName)
    Returns the member value with the given member name from the Annotation as a String value.
    static String
    getStringValue(org.eclipse.jdt.core.IAnnotation annotation, 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, String annotationName)
    Checks if the annotation with the given name is present on the IJavaElement.
    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 void
    removeAnnotation(org.eclipse.jdt.core.IJavaElement javaElement, org.eclipse.jdt.core.dom.Annotation annotation)
    Removes the given Annotation from the 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

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • addAnnotation

      public static void addAnnotation(org.eclipse.jdt.core.IJavaElement javaElement, String annotationFQN, String param, String value, boolean allowMultiple) throws org.eclipse.core.runtime.CoreException
      Refactor operation that adds an annotation to an element with a value/pair initialized with a StringLiteral value. The import is added too if required. No checking if the annotation already exists is done as repeatable annotations is supported.

      The following types of Java elements are supported:

      • IJavaElement.PACKAGE_DECLARATION
      • IJavaElement.TYPE
      • IJavaElement.FIELD
      • IJavaElement.METHOD
      • IJavaElement.LOCAL_VARIABLE
      Parameters:
      javaElement - The Java element which is used to get the compilation unit to add annotation to.
      annotationFQN - Fully qualified name of annotation. It is assumed to have a non-empty package name.
      param - A parameter as specified by the annotation.
      value - The string value that will become a StringLiteral.
      allowMultiple - Flag to enable multiple annotations or not.
      Throws:
      org.eclipse.core.runtime.CoreException - The exception is thrown if the import rewrite fails.
    • addInterface

      public static void addInterface(org.eclipse.jdt.core.IType type, String interfaceFQN) throws org.eclipse.core.runtime.CoreException
      Refactor operation that adds an interface to an element.
      Parameters:
      type - The type.
      interfaceFQN - Fully qualified name of the interface. It is assumed to have a non-empty package name.
      Throws:
      org.eclipse.core.runtime.CoreException - The exception is thrown if the import rewrite fails.
    • addEventMethod

      public static void addEventMethod(org.eclipse.jdt.core.IType type, String methodName, AnnotationType annotation, String refName) throws org.eclipse.core.runtime.CoreException
      Refactor operation to add an event method with an annotation.
      Parameters:
      type - The class.
      methodName - The method name.
      annotation - The annotation.
      refName - Reference name.
      Throws:
      org.eclipse.core.runtime.CoreException
    • addImport

      public static void addImport(org.eclipse.jdt.core.IJavaElement javaElement, String qualifiedName) throws org.eclipse.core.runtime.CoreException
      Adds an import to the compilation unit of the given IJavaElement.

      The following types of Java elements are supported:

      • IJavaElement.COMPILATION_UNIT
      • IJavaElement.PACKAGE_DECLARATION
      • IJavaElement.TYPE
      • IJavaElement.FIELD
      • IJavaElement.METHOD
      • IJavaElement.LOCAL_VARIABLE
      Parameters:
      javaElement - The Java element which is used to get the compilation unit to add the import to.
      qualifiedName - The import to add.
      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.

      The following types of Java elements are supported:

      • IJavaElement.PACKAGE_DECLARATION
      • IJavaElement.TYPE
      • IJavaElement.FIELD
      • IJavaElement.METHOD
      • IJavaElement.LOCAL_VARIABLE
      Parameters:
      javaElement - The Java element which is used to get the compilation unit to add annotation to.
      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.

      The following types of Java elements are supported:

      • IJavaElement.PACKAGE_DECLARATION
      • IJavaElement.TYPE
      • IJavaElement.FIELD
      • IJavaElement.METHOD
      • IJavaElement.LOCAL_VARIABLE
      Parameters:
      javaElement - Java element to operate on.
      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, 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.

      The following types of Java elements are supported:

      • IJavaElement.PACKAGE_DECLARATION
      • IJavaElement.TYPE
      • IJavaElement.FIELD
      • IJavaElement.METHOD
      • IJavaElement.LOCAL_VARIABLE
      Parameters:
      javaElement - 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.
    • 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.

      The following types of Java elements are supported:

      • IJavaElement.PACKAGE_DECLARATION
      • IJavaElement.TYPE
      • IJavaElement.FIELD
      • IJavaElement.METHOD
      • IJavaElement.LOCAL_VARIABLE
      Parameters:
      javaElement - Element to operate on.
      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.

      The following types of Java elements are supported:

      • IJavaElement.PACKAGE_DECLARATION
      • IJavaElement.TYPE
      • IJavaElement.FIELD
      • IJavaElement.METHOD
      • IJavaElement.LOCAL_VARIABLE
      Parameters:
      javaElement - Element to operate on.
      annotation - The annotation to remove.
      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 member 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.

      The following types of Java elements are supported:

      • IJavaElement.PACKAGE_DECLARATION
      • IJavaElement.TYPE
      • IJavaElement.FIELD
      • IJavaElement.METHOD
      • IJavaElement.LOCAL_VARIABLE
      Parameters:
      javaElement - The Java element.
      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 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.
    • 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.

      The following types of Java elements are supported:

      • IJavaElement.PACKAGE_DECLARATION
      • IJavaElement.TYPE
      • IJavaElement.FIELD
      • IJavaElement.METHOD
      • IJavaElement.LOCAL_VARIABLE
      Parameters:
      javaElement - The checked element.
      annotation - The annotation.
      Returns:
      true if the annotation is present.
    • isAnnotationPresent

      public static boolean isAnnotationPresent(org.eclipse.jdt.core.IJavaElement javaElement, String annotationName)
      Checks if the annotation with the given name is present on the IJavaElement.

      The following types of Java elements are supported:

      • IJavaElement.PACKAGE_DECLARATION
      • IJavaElement.TYPE
      • IJavaElement.FIELD
      • IJavaElement.METHOD
      • IJavaElement.LOCAL_VARIABLE
      Parameters:
      javaElement - The checked element.
      annotationName - The annotation name.
      Returns:
      true if the annotation is present.
    • getAnnotations

      public static 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

      The following types of Java elements are supported:

      • IJavaElement.PACKAGE_DECLARATION
      • IJavaElement.TYPE
      • IJavaElement.FIELD
      • IJavaElement.METHOD
      • IJavaElement.LOCAL_VARIABLE
      Parameters:
      javaElement - The element.
      Returns:
      a list of annotations.
    • getSingleVariableDeclarations

      public static 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, 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, Class<? extends Annotation> annotation)
      Returns the AST Annotation that corresponds to the given Annotation class on the IJavaElement.

      The following types of Java elements are supported:

      • IJavaElement.PACKAGE_DECLARATION
      • IJavaElement.TYPE
      • IJavaElement.FIELD
      • IJavaElement.METHOD
      • IJavaElement.LOCAL_VARIABLE
      Parameters:
      javaElement - The Java element to query.
      annotation - The Annotation class.
      Returns:
      the AST annotation or null if not found.
    • getAnnotation

      public static org.eclipse.jdt.core.IAnnotation getAnnotation(Class<? extends 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 org.eclipse.jdt.core.dom.Expression getAnnotationValue(org.eclipse.jdt.core.dom.NormalAnnotation normalAnnotation, 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 Object getAnnotationValue(org.eclipse.jdt.core.IAnnotation annotation, 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, 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 String getStringValue(org.eclipse.jdt.core.dom.Annotation annotation, 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 String getStringValue(org.eclipse.jdt.core.IAnnotation annotation, 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 Boolean getBooleanValue(org.eclipse.jdt.core.dom.Annotation annotation, 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 Boolean getBooleanValue(org.eclipse.jdt.core.IAnnotation annotation, 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 String getEnumValue(org.eclipse.jdt.core.dom.Annotation annotation, 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 String getEnumValue(org.eclipse.jdt.core.IAnnotation annotation, 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.