Package com.iizigo.java.refactor
Class RefactorHelper
java.lang.Object
com.iizigo.java.refactor.RefactorHelper
Utility class for refactoring: adding, removing and updating annotations and member value pairs.
- Author:
- Christopher Mindus
Method Summary
Modifier and TypeMethodDescriptionstatic 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 givenAnnotation
to theIJavaElement
.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
Adds an import to the compilation unit of the givenIJavaElement
.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 theMemberValuePair
to theNormalAnnotation
.static boolean
compareFieldNames
(org.eclipse.jdt.core.dom.FieldDeclaration fieldDeclaration, org.eclipse.jdt.core.IField field) Compares theFieldDeclaration
andIField
.static boolean
compareMethods
(org.eclipse.jdt.core.dom.MethodDeclaration methodOne, org.eclipse.jdt.core.dom.MethodDeclaration methodTwo) Compares the twoMethodDeclaration
.static boolean
compareMethods
(org.eclipse.jdt.core.dom.MethodDeclaration methodDeclaration, org.eclipse.jdt.core.IMethod method) Compares theMethodDeclaration
andIMethod
.static boolean
compareTypeNames
(org.eclipse.jdt.core.dom.AbstractTypeDeclaration abstractTypeDeclaration, org.eclipse.jdt.core.IType type) Compares theAbstractTypeDeclaration
andIType
.static org.eclipse.text.edits.TextEdit
createAddAnnotationTextEdit
(org.eclipse.jdt.core.IJavaElement javaElement, org.eclipse.jdt.core.dom.Annotation annotation) Creates aTextEdit
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 aTextEdit
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 aTextEdit
object representing the change of adding theMemberValuePair
to theNormalAnnotation
.static org.eclipse.text.edits.TextEdit
createRemoveAnnotationTextEdit
(org.eclipse.jdt.core.IJavaElement javaElement, org.eclipse.jdt.core.dom.Annotation annotation) Creates aTextEdit
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 aTextEdit
object representing the change of removing theMemberValuePair
from theNormalAnnotation
.static org.eclipse.text.edits.TextEdit
createUpdateMemberValuePairTextEdit
(org.eclipse.jdt.core.dom.MemberValuePair memberValuePair, org.eclipse.jdt.core.dom.ASTNode value) Creates aTextEdit
object representing the change of updating theMemberValuePair
with theASTNode
value.static org.eclipse.text.edits.TextEdit
createUpdateSingleMemberAnnotationTextEdit
(org.eclipse.jdt.core.dom.SingleMemberAnnotation annotation, org.eclipse.jdt.core.dom.ASTNode value) Creates aTextEdit
object representing the change of updating theSingleMemberAnnotation
with theASTNode
value.static org.eclipse.jdt.core.IAnnotation
getAnnotation
(Class<? extends Annotation> annotation, org.eclipse.jdt.core.IAnnotatable annotatable) Returns the JDTIAnnotation
that corresponds to the givenAnnotation
class on theIAnnotatable
element.static org.eclipse.jdt.core.dom.Annotation
getAnnotation
(org.eclipse.jdt.core.IJavaElement javaElement, Class<? extends Annotation> annotation) 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 theAnnotation
that are present on the givenIJavaElement
static org.eclipse.jdt.core.dom.Expression
getAnnotationValue
(org.eclipse.jdt.core.dom.NormalAnnotation normalAnnotation, String memberName) Returns theNormalAnnotation
member value pair value with the given member name.static Object
getAnnotationValue
(org.eclipse.jdt.core.IAnnotation annotation, String memberName) Returns the JDTIAnnotation
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 theAnnotation
as aBoolean
value.static Boolean
getBooleanValue
(org.eclipse.jdt.core.IAnnotation annotation, String memberName) Returns the member value with the given member name from theIAnnotation
as aBoolean
value.static org.eclipse.jdt.core.ICompilationUnit
getCompilationUnitFromJavaElement
(org.eclipse.jdt.core.IJavaElement javaElement) Returns aICompilationUnit
for the givenIJavaElement
.static String
getEnumValue
(org.eclipse.jdt.core.dom.Annotation annotation, String memberName) Returns the member value with the given member name from theAnnotation
as aString
value.static String
getEnumValue
(org.eclipse.jdt.core.IAnnotation annotation, String memberName) Returns the member value with the given member name from theIAnnotation
as aString
value.static org.eclipse.jdt.core.dom.FieldDeclaration
getFieldDeclaration
(org.eclipse.jdt.core.IField field) Returns theFieldDeclaration
that corresponds to the givenIField
.static org.eclipse.jdt.core.ILocalVariable
getLocalVariable
(org.eclipse.jdt.core.IMethod method, int offset) Returns theILocalVariable
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 theILocalVariable
with the given name within the declaredIMethod
.static org.eclipse.jdt.core.dom.MemberValuePair
getMemberValuePair
(org.eclipse.jdt.core.dom.NormalAnnotation normalAnnotation, String memberName) Returns theMemberValuePair
with the given member name from theNormalAnnotation
.static org.eclipse.jdt.core.dom.MethodDeclaration
getMethodDeclaration
(org.eclipse.jdt.core.IMethod method) Returns theMethodDeclaration
that corresponds to the givenIMethod
.static org.eclipse.jdt.core.dom.SingleVariableDeclaration
getSingleVariableDeclaration
(org.eclipse.jdt.core.ILocalVariable javaElement) Returns theSingleVariableDeclaration
that corresponds to the givenILocalVariable
.static List<org.eclipse.jdt.core.dom.SingleVariableDeclaration>
getSingleVariableDeclarations
(org.eclipse.jdt.core.IMethod method) Returns a list of all theSingleVariableDeclaration
for the givenIMethod
.static String
getStringValue
(org.eclipse.jdt.core.dom.Annotation annotation, String memberName) Returns the member value with the given member name from theAnnotation
as aString
value.static String
getStringValue
(org.eclipse.jdt.core.IAnnotation annotation, String memberName) Returns the member value with the given member name from theIAnnotation
as aString
value.static org.eclipse.jdt.core.dom.AbstractTypeDeclaration
getTypeDeclaration
(org.eclipse.jdt.core.IType type) Returns theAbstractTypeDeclaration
that corresponds to the givenIType
.static boolean
isAnnotationPresent
(org.eclipse.jdt.core.IJavaElement javaElement, String annotationName) Checks if the annotation with the given name is present on theIJavaElement
.static boolean
isAnnotationPresent
(org.eclipse.jdt.core.IJavaElement javaElement, org.eclipse.jdt.core.dom.Annotation annotation) Checks if the givenAnnotation
is present on theIJavaElement
.static void
removeAnnotation
(org.eclipse.jdt.core.IJavaElement javaElement, org.eclipse.jdt.core.dom.Annotation annotation) Removes the givenAnnotation
from theIJavaElement
.static void
removeMemberValuePair
(org.eclipse.jdt.core.dom.NormalAnnotation annotation, org.eclipse.jdt.core.dom.MemberValuePair memberValuePair) Removes theMemberValuePair
from theNormalAnnotation
.static void
updateMemberValuePair
(org.eclipse.jdt.core.dom.MemberValuePair memberValuePair, org.eclipse.jdt.core.dom.ASTNode value) Updates theMemberValuePair
value with the givenASTNode
.static void
updateSingleMemberAnnotation
(org.eclipse.jdt.core.dom.SingleMemberAnnotation annotation, org.eclipse.jdt.core.dom.ASTNode value) Updates the value of theSingleMemberAnnotation
with the givenASTNode
.
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 givenIJavaElement
.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 givenAnnotation
to theIJavaElement
.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
- AJavaModelException
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 givenAnnotation
from theIJavaElement
.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
- AJavaModelException
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 theMemberValuePair
to theNormalAnnotation
.- 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
- AJavaModelException
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 theMemberValuePair
from theNormalAnnotation
.- 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
- AJavaModelException
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 theMemberValuePair
value with the givenASTNode
.- Parameters:
memberValuePair
- The member value pair to update.value
- The value to set.- Throws:
org.eclipse.jdt.core.JavaModelException
- AJavaModelException
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 theSingleMemberAnnotation
with the givenASTNode
.- Parameters:
annotation
- The single member annotation to update.value
- The value to set.- Throws:
org.eclipse.jdt.core.JavaModelException
- AJavaModelException
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 aTextEdit
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 aCompilationUnit
which will in turn be used to create anImportRewrite
.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 aTextEdit
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
- AJavaModelException
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 aTextEdit
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
- AJavaModelException
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 aTextEdit
object representing the change of adding theMemberValuePair
to theNormalAnnotation
. 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
- AJavaModelException
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 aTextEdit
object representing the change of removing theMemberValuePair
from theNormalAnnotation
. 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
- AJavaModelException
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 aTextEdit
object representing the change of updating theMemberValuePair
with theASTNode
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
- AJavaModelException
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 aTextEdit
object representing the change of updating theSingleMemberAnnotation
with theASTNode
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
- AJavaModelException
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 aICompilationUnit
for the givenIJavaElement
.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 theAbstractTypeDeclaration
that corresponds to the givenIType
.- 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 theMethodDeclaration
that corresponds to the givenIMethod
.- 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 theFieldDeclaration
that corresponds to the givenIField
.- 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 theSingleVariableDeclaration
that corresponds to the givenILocalVariable
.- Parameters:
javaElement
- The local variable.- Returns:
- A single variable declaration or null if not found.
getAnnotationName
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 theAbstractTypeDeclaration
andIType
.- 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 theMethodDeclaration
andIMethod
.- 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 twoMethodDeclaration
.- 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 theFieldDeclaration
andIField
.- 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 givenAnnotation
is present on theIJavaElement
.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 theIJavaElement
.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 theAnnotation
that are present on the givenIJavaElement
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 theSingleVariableDeclaration
for the givenIMethod
.- 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 theILocalVariable
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 theILocalVariable
with the given name within the declaredIMethod
.- 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 ASTAnnotation
that corresponds to the givenAnnotation
class on theIJavaElement
.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
- TheAnnotation
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 JDTIAnnotation
that corresponds to the givenAnnotation
class on theIAnnotatable
element.- Parameters:
annotation
- TheAnnotation
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 theNormalAnnotation
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 JDTIAnnotation
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 theMemberValuePair
with the given member name from theNormalAnnotation
.- 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 theAnnotation
as aString
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 theIAnnotation
as aString
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 theAnnotation
as aBoolean
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 theIAnnotation
as aBoolean
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 theAnnotation
as aString
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 theIAnnotation
as aString
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.