Class RefactorHelper


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

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void addAnnotation​(org.eclipse.jdt.core.IJavaElement javaElement, java.lang.String annotationFQN, java.lang.String param, java.lang.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, java.lang.String methodName, AnnotationType annotation, java.lang.String refName)
      Refactor operation to add an event method with an annotation.
      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 addInterface​(org.eclipse.jdt.core.IType type, java.lang.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, 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 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 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 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.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 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​(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, java.lang.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 Detail

      • addAnnotation

        public static void addAnnotation​(org.eclipse.jdt.core.IJavaElement javaElement,
                                         java.lang.String annotationFQN,
                                         java.lang.String param,
                                         java.lang.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,
                                        java.lang.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,
                                          java.lang.String methodName,
                                          AnnotationType annotation,
                                          java.lang.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,
                                     java.lang.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,
                                                                              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.

        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 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.
      • 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,
                                                  java.lang.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 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

        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 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.

        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​(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 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​(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​(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.