Class ASTRecordDeclaration
- 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.ASTRecordDeclaration
-
- All Implemented Interfaces:
Node,QualifiableNode,AccessNode,Annotatable,ASTAnyTypeDeclaration,JavaNode,JavaQualifiableNode,TypeNode,ScopedNode
@Experimental public final class ASTRecordDeclaration extends AbstractAnyTypeDeclaration
A record declaration is a special data class type (JDK 14 and JDK 15 preview feature). This is a find boundary for tree traversal methods.RecordDeclaration ::= "record" <IDENTIFIER> TypeParameters? RecordComponents ImplementsList? RecordBody- See Also:
- JEP 384: Records (Second Preview)
-
-
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
-
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description ASTAnnotationgetAnnotation(String annotQualifiedName)Get specific annotaion on this node.ASTRecordComponentListgetComponentList()Deprecated.Renamed togetRecordComponents()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.ASTRecordComponentListgetRecordComponents()Returns the record component list.ASTAnyTypeDeclaration.TypeKindgetTypeKind()Finds the type kind of this declaration.booleanisAnnotationPresent(String annotQualifiedName)Checks whether the annotation is present on this node.booleanisAnyAnnotationPresent(Collection<String> annotQualifiedNames)Checks whether any annotation is present on this node.booleanisFinal()booleanisFindBoundary()booleanisLocal()Returns true if this type is declared locally, e.g.ObjectjjtAccept(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.AbstractAnyTypeDeclaration
enclosingTypeIsA, getBinaryName, getEnclosingTypeDeclaration, getImage, getQualifiedName, 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, isNative, isPackagePrivate, 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, isNative, isPackagePrivate, 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
-
-
-
-
Method Detail
-
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
-
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
-
isFindBoundary
public boolean isFindBoundary()
- Specified by:
isFindBoundaryin interfaceNode- Overrides:
isFindBoundaryin classAbstractNode
-
isFinal
public boolean isFinal()
- Specified by:
isFinalin interfaceAccessNode- Overrides:
isFinalin classAbstractJavaAccessNode
-
isLocal
public boolean isLocal()
Description copied from interface:ASTAnyTypeDeclarationReturns true if this type is declared locally, e.g. in the context of a method block.
-
getComponentList
@Deprecated public ASTRecordComponentList getComponentList()
Deprecated.Renamed togetRecordComponents()
-
getRecordComponents
public ASTRecordComponentList getRecordComponents()
Returns the record component list.- Overrides:
getRecordComponentsin classAbstractAnyTypeDeclaration
-
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 annotQualifiedName)
Description copied from interface:AnnotatableGet specific annotaion on this node.- Specified by:
getAnnotationin interfaceAnnotatable- Parameters:
annotQualifiedName- qulified name of the annotation.- Returns:
ASTAnnotaionnode if the annotation is present on this node, elsenull
-
isAnnotationPresent
public boolean isAnnotationPresent(String annotQualifiedName)
Description copied from interface:AnnotatableChecks whether the annotation is present on this node.- Specified by:
isAnnotationPresentin interfaceAnnotatable- Parameters:
annotQualifiedName- qulified name of the annotation.- Returns:
trueif the annotation is present on this node, elsefalse
-
isAnyAnnotationPresent
public boolean isAnyAnnotationPresent(Collection<String> annotQualifiedNames)
Description copied from interface:AnnotatableChecks whether any annotation is present on this node.- Specified by:
isAnyAnnotationPresentin interfaceAnnotatable- Parameters:
annotQualifiedNames- collection that cotains qulified name of annotations.- Returns:
trueif any annotation is present on this node, elsefalse
-
-