Class ASTClassOrInterfaceDeclaration
- 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.AbstractAnyTypeDeclaration
-
- net.sourceforge.pmd.lang.java.ast.ASTClassOrInterfaceDeclaration
-
- All Implemented Interfaces:
Node,QualifiableNode,AccessNode,Annotatable,ASTAnyTypeDeclaration,JavaNode,JavaQualifiableNode,TypeNode,ScopedNode
public class ASTClassOrInterfaceDeclaration extends AbstractAnyTypeDeclaration
Represents class and interface declarations. This is a find boundary for tree traversal methods.ClassOrInterfaceDeclaration ::= ( "class" | "interface" ) <IDENTIFIER> TypeParameters? ExtendsList? ImplementsList? ClassOrInterfaceBody
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.sourceforge.pmd.lang.java.ast.ASTAnyTypeDeclaration
ASTAnyTypeDeclaration.TypeKind
-
-
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 ASTClassOrInterfaceDeclaration(int id)Deprecated.ASTClassOrInterfaceDeclaration(JavaParser p, int id)Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description ASTAnnotationgetAnnotation(String binaryName)Returns a specific annotation on this node, or null if absent.List<ASTAnyTypeBodyDeclaration>getDeclarations()Retrieves the member declarations (fields, methods, classes, etc.) from the body of this type declaration.List<ASTAnnotation>getDeclaredAnnotations()Get all annotations present on this node.List<ASTClassOrInterfaceType>getPermittedSubclasses()ASTClassOrInterfaceTypegetSuperClassTypeNode()Returns the superclass type node if this node is a class declaration and explicitly declares anextendsclause.List<ASTClassOrInterfaceType>getSuperInterfacesTypeNodes()Returns the interfaces implemented by this class, or extended by this interface.ASTAnyTypeDeclaration.TypeKindgetTypeKind()Finds the type kind of this declaration.booleanisAnnotationPresent(String binaryName)Checks whether the annotation is present on this node.booleanisAnyAnnotationPresent(Collection<String> binaryNames)Checks whether any annotation is present on this node.booleanisFindBoundary()booleanisInterface()booleanisLocal()Returns true if the class is declared inside a block other than the body of another class, or the top level.booleanisNonSealed()booleanisPackagePrivate()booleanisSealed()ObjectjjtAccept(JavaParserVisitor visitor, Object data)Calls back the visitor's visit method corresponding to the runtime type of this Node.voidsetInterface()Deprecated.-
Methods inherited from class net.sourceforge.pmd.lang.java.ast.AbstractAnyTypeDeclaration
enclosingTypeIsA, getBinaryName, getEnclosingTypeDeclaration, getImage, getQualifiedName, getRecordComponents, getSimpleName, isNested, setQualifiedName
-
Methods inherited from class net.sourceforge.pmd.lang.java.ast.AbstractJavaAccessTypeNode
getType, getTypeDefinition, setType, setTypeDefinition
-
Methods inherited from class net.sourceforge.pmd.lang.java.ast.AbstractJavaAccessNode
getModifiers, isAbstract, isDefault, isFinal, isNative, isPrivate, isProtected, isPublic, isStatic, 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, getIndexInParent, getNthParent, getNumChildren, getParentsOfType, getUserData, getUserMap, getXPathAttributesIterator, hasDecendantOfAnyType, hasDescendantMatchingXPath, hasDescendantOfAnyType, hasDescendantOfType, hasImageEqualTo, 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 net.sourceforge.pmd.lang.java.ast.AccessNode
getModifiers, isAbstract, isDefault, isFinal, isNative, isPrivate, isProtected, isPublic, isStatic, isStrictfp, isSynchronized, isTransient, isVolatile, setAbstract, setDefault, setFinal, setModifiers, setNative, setPrivate, setProtected, setPublic, setStatic, setStrictfp, setSynchronized, setTransient, setVolatile
-
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, getIndexInParent, getNthParent, getNumChildren, getParentsOfType, getUserData, getUserMap, getXPathAttributesIterator, getXPathNodeName, hasDescendantMatchingXPath, hasDescendantOfType, hasImageEqualTo, 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
-
Methods inherited from interface net.sourceforge.pmd.lang.java.ast.TypeNode
getType, getTypeDefinition, setType, setTypeDefinition
-
-
-
-
Constructor Detail
-
ASTClassOrInterfaceDeclaration
@InternalApi @Deprecated public ASTClassOrInterfaceDeclaration(int id)
Deprecated.
-
ASTClassOrInterfaceDeclaration
@InternalApi @Deprecated public ASTClassOrInterfaceDeclaration(JavaParser p, int id)
Deprecated.
-
-
Method Detail
-
isFindBoundary
public boolean isFindBoundary()
- Specified by:
isFindBoundaryin interfaceNode- Overrides:
isFindBoundaryin classAbstractNode
-
jjtAccept
public Object jjtAccept(JavaParserVisitor visitor, Object data)
Description copied from interface:JavaNodeCalls back the visitor's visit method corresponding to the runtime type of this Node.- Specified by:
jjtAcceptin interfaceJavaNode- Overrides:
jjtAcceptin classAbstractJavaNode- Parameters:
visitor- Visitor to dispatchdata- Visit data
-
isPackagePrivate
public boolean isPackagePrivate()
- Specified by:
isPackagePrivatein interfaceAccessNode- Overrides:
isPackagePrivatein classAbstractJavaAccessNode
-
isLocal
public boolean isLocal()
Returns true if the class is declared inside a block other than the body of another class, or the top level.
-
isInterface
public boolean isInterface()
-
setInterface
@InternalApi @Deprecated public void setInterface()
Deprecated.
-
getTypeKind
public ASTAnyTypeDeclaration.TypeKind getTypeKind()
Description copied from interface:ASTAnyTypeDeclarationFinds the type kind of this declaration.- Returns:
- The type kind of this declaration.
-
getDeclarations
public List<ASTAnyTypeBodyDeclaration> getDeclarations()
Description copied from interface:ASTAnyTypeDeclarationRetrieves the member declarations (fields, methods, classes, etc.) from the body of this type declaration.- Returns:
- The member declarations declared in this type declaration
-
getSuperClassTypeNode
public ASTClassOrInterfaceType getSuperClassTypeNode()
Returns the superclass type node if this node is a class declaration and explicitly declares anextendsclause. Superinterfaces of an interface are not considered.Returns
nullotherwise.
-
getSuperInterfacesTypeNodes
public List<ASTClassOrInterfaceType> getSuperInterfacesTypeNodes()
Returns the interfaces implemented by this class, or extended by this interface. Returns an empty list if none is specified.
-
getPermittedSubclasses
public List<ASTClassOrInterfaceType> getPermittedSubclasses()
-
isSealed
public boolean isSealed()
-
isNonSealed
public boolean isNonSealed()
-
getDeclaredAnnotations
public List<ASTAnnotation> getDeclaredAnnotations()
Description copied from interface:AnnotatableGet all annotations present on this node.- Specified by:
getDeclaredAnnotationsin interfaceAnnotatable- Returns:
- all annotations present on this node.
-
getAnnotation
public ASTAnnotation getAnnotation(String binaryName)
Description copied from interface:AnnotatableReturns a specific annotation on this node, or null if absent.- Specified by:
getAnnotationin 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:AnnotatableChecks whether the annotation is present on this node.- Specified by:
isAnnotationPresentin interfaceAnnotatable- Parameters:
binaryName- Binary name of the annotation type. Note: for now, canonical names are tolerated, this may be changed in PMD 7.- Returns:
trueif the annotation is present on this node, elsefalse
-
isAnyAnnotationPresent
public boolean isAnyAnnotationPresent(Collection<String> binaryNames)
Description copied from interface:AnnotatableChecks whether any annotation is present on this node.- Specified by:
isAnyAnnotationPresentin 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:
trueif any annotation is present on this node, elsefalse
-
-