Class ASTFieldDeclaration
- java.lang.Object
-
- net.sourceforge.pmd.lang.ast.AbstractNode
-
- net.sourceforge.pmd.lang.ast.impl.javacc.AbstractJjtreeNode<JavaNode>
-
- net.sourceforge.pmd.lang.java.ast.AbstractJavaNode
-
- net.sourceforge.pmd.lang.java.ast.AbstractJavaAccessNode
-
- net.sourceforge.pmd.lang.java.ast.AbstractJavaAccessTypeNode
-
- net.sourceforge.pmd.lang.java.ast.ASTFieldDeclaration
-
- All Implemented Interfaces:
Iterable<ASTVariableDeclaratorId>
,Node
,SignedNode<ASTFieldDeclaration>
,AccessNode
,Annotatable
,Dimensionable
,JavaNode
,TypeNode
,ScopedNode
public class ASTFieldDeclaration extends AbstractJavaAccessTypeNode implements Dimensionable, SignedNode<ASTFieldDeclaration>, Iterable<ASTVariableDeclaratorId>
Represents a field declaration in the body of a type declaration.This statement may define several variables, possibly of different types (see
ASTVariableDeclaratorId.getType()
). The nodes corresponding to the declared variables are accessible throughiterator()
.AccessNode
methods take into account the syntactic context of the declaration, e.g.isPublic()
will always return true if the field is declared inside an interface, regardless of whether thepublic
modifier was specified or not. If you want to know whether the modifier was explicitly stated, use e.gisSyntacticallyPublic()
.FieldDeclaration ::= Modifiers Type VariableDeclarator ( "," VariableDeclarator )* Modifiers ::= "public" | "static" | "protected" | "private" | "final" | "abstract" | "synchronized" | "native" | "transient" | "volatile" | "strictfp" | "default" | Annotation
-
-
Field Summary
-
Fields inherited from class net.sourceforge.pmd.lang.java.ast.AbstractJavaAccessTypeNode
typeDefinition
-
Fields inherited from class net.sourceforge.pmd.lang.java.ast.AbstractJavaNode
parser
-
Fields inherited from class net.sourceforge.pmd.lang.ast.AbstractNode
beginColumn, beginLine, childIndex, children, endColumn, endLine, firstToken, id, lastToken, parent
-
Fields inherited from interface net.sourceforge.pmd.lang.java.ast.AccessNode
ABSTRACT, DEFAULT, FINAL, NATIVE, NON_SEALED, PRIVATE, PROTECTED, PUBLIC, SEALED, STATIC, STRICTFP, SYNCHRONIZED, TRANSIENT, VOLATILE
-
-
Constructor Summary
Constructors Constructor Description ASTFieldDeclaration(int id)
Deprecated.ASTFieldDeclaration(JavaParser p, int id)
Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description ASTAnnotation
getAnnotation(String binaryName)
Returns a specific annotation on this node, or null if absent.int
getArrayDepth()
Deprecated.List<ASTAnnotation>
getDeclaredAnnotations()
Get all annotations present on this node.JavaFieldSignature
getSignature()
Class<?>
getType()
Deprecated.FieldDeclaration may declare several variables with a different type It won't implement TypeNode anymore come 7.0.0JavaTypeDefinition
getTypeDefinition()
Deprecated.FieldDeclaration may declare several variables with a different type It won't implement TypeNode anymore come 7.0.0String
getVariableName()
Deprecated.FieldDeclaration may declare several variables, so this is not exhaustive Iterate on the VariableDeclaratorIds insteadboolean
isAnnotationMember()
boolean
isAnnotationPresent(String binaryName)
Checks whether the annotation is present on this node.boolean
isAnyAnnotationPresent(Collection<String> binaryNames)
Checks whether any annotation is present on this node.boolean
isArray()
Deprecated.boolean
isFinal()
boolean
isInterfaceMember()
boolean
isPackagePrivate()
boolean
isPrivate()
boolean
isProtected()
boolean
isPublic()
boolean
isStatic()
boolean
isSyntacticallyFinal()
boolean
isSyntacticallyPublic()
boolean
isSyntacticallyStatic()
Iterator<ASTVariableDeclaratorId>
iterator()
Returns an iterator over the ids of the fields declared in this statement.Object
jjtAccept(JavaParserVisitor visitor, Object data)
Calls back the visitor's visit method corresponding to the runtime type of this Node.-
Methods inherited from class net.sourceforge.pmd.lang.java.ast.AbstractJavaAccessTypeNode
setType, setTypeDefinition
-
Methods inherited from class net.sourceforge.pmd.lang.java.ast.AbstractJavaAccessNode
getModifiers, isAbstract, isDefault, isNative, isStrictfp, isSynchronized, isTransient, isVolatile, setAbstract, setDefault, setFinal, setModifiers, setNative, setPrivate, setProtected, setPublic, setStatic, setStrictfp, setSynchronized, setTransient, setVolatile
-
Methods inherited from class net.sourceforge.pmd.lang.java.ast.AbstractJavaNode
childrenAccept, comment, comment, getRoot, getScope, getXPathNodeName, jjtClose, jjtOpen, setScope
-
Methods inherited from class net.sourceforge.pmd.lang.ast.impl.javacc.AbstractJjtreeNode
children, getChild, getParent
-
Methods inherited from class net.sourceforge.pmd.lang.ast.AbstractNode
appendElement, findChildNodesWithXPath, findChildrenOfType, findDescendantsOfType, findDescendantsOfType, findDescendantsOfType, getAsDocument, getBeginColumn, getBeginLine, getDataFlowNode, getEndColumn, getEndLine, getFirstChildOfType, getFirstDescendantOfType, getFirstParentOfAnyType, getFirstParentOfType, getImage, getIndexInParent, getNthParent, getNumChildren, getParentsOfType, getUserData, getUserMap, getXPathAttributesIterator, hasDecendantOfAnyType, hasDescendantMatchingXPath, hasDescendantOfAnyType, hasDescendantOfType, hasImageEqualTo, isFindBoundary, isSingleLine, jjtAddChild, jjtGetChild, jjtGetChildIndex, jjtGetFirstToken, jjtGetId, jjtGetLastToken, jjtGetNumChildren, jjtGetParent, jjtSetChildIndex, jjtSetFirstToken, jjtSetLastToken, jjtSetParent, remove, removeChildAtIndex, setDataFlowNode, setImage, setUserData, testingOnlySetBeginColumn, testingOnlySetBeginLine, testingOnlySetEndColumn, testingOnlySetEndLine, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Methods inherited from interface net.sourceforge.pmd.lang.java.ast.JavaNode
children, childrenAccept, getChild, getParent, getRoot, setScope
-
Methods inherited from interface net.sourceforge.pmd.lang.ast.Node
findChildNodesWithXPath, findChildrenOfType, findDescendantsOfType, findDescendantsOfType, findDescendantsOfType, getAsDocument, getBeginColumn, getBeginLine, getDataFlowNode, getEndColumn, getEndLine, getFirstChildOfType, getFirstDescendantOfType, getFirstParentOfAnyType, getFirstParentOfType, getImage, getIndexInParent, getNthParent, getNumChildren, getParentsOfType, getUserData, getUserMap, getXPathAttributesIterator, getXPathNodeName, hasDescendantMatchingXPath, hasDescendantOfType, hasImageEqualTo, isFindBoundary, jjtAddChild, jjtClose, jjtGetChild, jjtGetChildIndex, jjtGetId, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetChildIndex, jjtSetParent, remove, removeChildAtIndex, setDataFlowNode, setImage, setUserData
-
Methods inherited from interface net.sourceforge.pmd.lang.symboltable.ScopedNode
getScope
-
-
-
-
Constructor Detail
-
ASTFieldDeclaration
@InternalApi @Deprecated public ASTFieldDeclaration(int id)
Deprecated.
-
ASTFieldDeclaration
@InternalApi @Deprecated public ASTFieldDeclaration(JavaParser p, int id)
Deprecated.
-
-
Method Detail
-
jjtAccept
public Object jjtAccept(JavaParserVisitor visitor, Object data)
Description copied from interface:JavaNode
Calls back the visitor's visit method corresponding to the runtime type of this Node.- Specified by:
jjtAccept
in interfaceJavaNode
- Overrides:
jjtAccept
in classAbstractJavaNode
- Parameters:
visitor
- Visitor to dispatchdata
- Visit data
-
isSyntacticallyPublic
public boolean isSyntacticallyPublic()
-
isPublic
public boolean isPublic()
- Specified by:
isPublic
in interfaceAccessNode
- Overrides:
isPublic
in classAbstractJavaAccessNode
-
isSyntacticallyStatic
public boolean isSyntacticallyStatic()
-
isStatic
public boolean isStatic()
- Specified by:
isStatic
in interfaceAccessNode
- Overrides:
isStatic
in classAbstractJavaAccessNode
-
isSyntacticallyFinal
public boolean isSyntacticallyFinal()
-
isFinal
public boolean isFinal()
- Specified by:
isFinal
in interfaceAccessNode
- Overrides:
isFinal
in classAbstractJavaAccessNode
-
isPrivate
public boolean isPrivate()
- Specified by:
isPrivate
in interfaceAccessNode
- Overrides:
isPrivate
in classAbstractJavaAccessNode
-
isPackagePrivate
public boolean isPackagePrivate()
- Specified by:
isPackagePrivate
in interfaceAccessNode
- Overrides:
isPackagePrivate
in classAbstractJavaAccessNode
-
isProtected
public boolean isProtected()
- Specified by:
isProtected
in interfaceAccessNode
- Overrides:
isProtected
in classAbstractJavaAccessNode
-
isAnnotationMember
public boolean isAnnotationMember()
-
isInterfaceMember
public boolean isInterfaceMember()
-
isArray
@Deprecated public boolean isArray()
Deprecated.- Specified by:
isArray
in interfaceDimensionable
-
getArrayDepth
@Deprecated public int getArrayDepth()
Deprecated.- Specified by:
getArrayDepth
in interfaceDimensionable
-
getVariableName
@Deprecated @DeprecatedAttribute(replaceWith="VariableDeclaratorId/@Name") public String getVariableName()
Deprecated.FieldDeclaration may declare several variables, so this is not exhaustive Iterate on the VariableDeclaratorIds insteadGets the variable name of this field. This method searches the first VariableDeclaratorId node and returns its image ornull
if the child node is not found.- Returns:
- a String representing the name of the variable
-
getSignature
public JavaFieldSignature getSignature()
- Specified by:
getSignature
in interfaceSignedNode<ASTFieldDeclaration>
-
iterator
public Iterator<ASTVariableDeclaratorId> iterator()
Returns an iterator over the ids of the fields declared in this statement.- Specified by:
iterator
in interfaceIterable<ASTVariableDeclaratorId>
-
getType
@Deprecated public Class<?> getType()
Deprecated.FieldDeclaration may declare several variables with a different type It won't implement TypeNode anymore come 7.0.0Description copied from interface:TypeNode
Get the Java Class associated with this node.- Specified by:
getType
in interfaceTypeNode
- Overrides:
getType
in classAbstractJavaAccessTypeNode
- Returns:
- The Java Class, may return
null
.
-
getTypeDefinition
@Deprecated public JavaTypeDefinition getTypeDefinition()
Deprecated.FieldDeclaration may declare several variables with a different type It won't implement TypeNode anymore come 7.0.0Description copied from interface:TypeNode
Get the TypeDefinition associated with this node. The Class object contained in the TypeDefinition will always be equal to that which is returned bygetType()
.- Specified by:
getTypeDefinition
in interfaceTypeNode
- Overrides:
getTypeDefinition
in classAbstractJavaAccessTypeNode
- Returns:
- The TypeDefinition, may return
null
-
getDeclaredAnnotations
public List<ASTAnnotation> getDeclaredAnnotations()
Description copied from interface:Annotatable
Get all annotations present on this node.- Specified by:
getDeclaredAnnotations
in interfaceAnnotatable
- Returns:
- all annotations present on this node.
-
getAnnotation
public ASTAnnotation getAnnotation(String binaryName)
Description copied from interface:Annotatable
Returns a specific annotation on this node, or null if absent.- Specified by:
getAnnotation
in interfaceAnnotatable
- Parameters:
binaryName
- Binary name of the annotation type. Note: for now, canonical names are tolerated, this may be changed in PMD 7.
-
isAnnotationPresent
public boolean isAnnotationPresent(String binaryName)
Description copied from interface:Annotatable
Checks whether the annotation is present on this node.- Specified by:
isAnnotationPresent
in interfaceAnnotatable
- Parameters:
binaryName
- Binary name of the annotation type. Note: for now, canonical names are tolerated, this may be changed in PMD 7.- Returns:
true
if the annotation is present on this node, elsefalse
-
isAnyAnnotationPresent
public boolean isAnyAnnotationPresent(Collection<String> binaryNames)
Description copied from interface:Annotatable
Checks whether any annotation is present on this node.- Specified by:
isAnyAnnotationPresent
in interfaceAnnotatable
- Parameters:
binaryNames
- Collection that contains binary names of annotations. Note: for now, canonical names are tolerated, this may be changed in PMD 7.- Returns:
true
if any annotation is present on this node, elsefalse
-
-