/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
/* Generated By:JJTree: Do not edit this line. ASTFieldDeclaration.java */
package net.sourceforge.pmd.lang.java.ast;
public class ASTFieldDeclaration extends AbstractJavaAccessTypeNode implements Dimensionable {
public ASTFieldDeclaration(int id) {
super(id);
}
public ASTFieldDeclaration(JavaParser p, int id) {
super(p, id);
}
/**
* Accept the visitor. *
*/
@Override
public Object jjtAccept(JavaParserVisitor visitor, Object data) {
return visitor.visit(this, data);
}
public boolean isSyntacticallyPublic() {
return super.isPublic();
}
@Override
public boolean isPublic() {
if (isAnnotationMember() || isInterfaceMember()) {
return true;
}
return super.isPublic();
}
public boolean isSyntacticallyStatic() {
return super.isStatic();
}
@Override
public boolean isStatic() {
if (isAnnotationMember() || isInterfaceMember()) {
return true;
}
return super.isStatic();
}
public boolean isSyntacticallyFinal() {
return super.isFinal();
}
@Override
public boolean isFinal() {
if (isAnnotationMember() || isInterfaceMember()) {
return true;
}
return super.isFinal();
}
@Override
public boolean isPrivate() {
if (isAnnotationMember() || isInterfaceMember()) {
return false;
}
return super.isPrivate();
}
@Override
public boolean isPackagePrivate() {
if (isAnnotationMember() || isInterfaceMember()) {
return false;
}
return super.isPackagePrivate();
}
@Override
public boolean isProtected() {
if (isAnnotationMember() || isInterfaceMember()) {
return false;
}
return super.isProtected();
}
public boolean isAnnotationMember() {
if (jjtGetParent().jjtGetParent() instanceof ASTAnnotationTypeBody) {
return true;
}
return false;
}
public boolean isInterfaceMember() {
if (jjtGetParent().jjtGetParent() instanceof ASTEnumBody) {
return false;
}
ASTClassOrInterfaceDeclaration n = getFirstParentOfType(ASTClassOrInterfaceDeclaration.class);
return n != null && n.isInterface();
}
public boolean isArray() {
return checkType() + checkDecl() > 0;
}
public int getArrayDepth() {
if (!isArray()) {
return 0;
}
return checkType() + checkDecl();
}
private int checkType() {
if (jjtGetNumChildren() == 0 || !(jjtGetChild(0) instanceof ASTType)) {
return 0;
}
return ((ASTType) jjtGetChild(0)).getArrayDepth();
}
private int checkDecl() {
if (jjtGetNumChildren() < 2 || !(jjtGetChild(1) instanceof ASTVariableDeclarator)) {
return 0;
}
return ((ASTVariableDeclaratorId) jjtGetChild(1).jjtGetChild(0)).getArrayDepth();
}
/**
* Gets the variable name of this field. This method searches the first
* VariableDeclartorId node and returns its image or <code>null</code> if
* the child node is not found.
*
* @return a String representing the name of the variable
*/
public String getVariableName() {
ASTVariableDeclaratorId decl = getFirstDescendantOfType(ASTVariableDeclaratorId.class);
if (decl != null) {
return decl.getImage();
}
return null;
}
}