public class RecordDeclaration extends AbstractTypeDeclaration
RecordDeclaration:
[ Javadoc ] { ExtendedModifier } record Identifier
[ < TypeParameter > ]
(
[ FormalParameter { , FormalParameter } ]
) { Dimension }
[ implements Type { , Type } ]
[ ; { RecordBodyDeclaration | ; } ]
The AbstractTypeDeclaration.bodyDeclarations() list holds the class body declarations
that appear after the semicolon.
When a Javadoc comment is present, the source range begins with the first character of the "/**" comment delimiter. When there is no Javadoc comment, the source range begins with the first character of the first modifier or annotation (if present), or the first character of the "record" keyword (if no modifiers or annotations). The source range extends through the last character of the "}" token following the body declarations.
| Modifier and Type | Field and Description |
|---|---|
static ChildListPropertyDescriptor |
BODY_DECLARATIONS_PROPERTY
The "bodyDeclarations" structural property of this node type (element type:
BodyDeclaration). |
static ChildPropertyDescriptor |
JAVADOC_PROPERTY
The "javadoc" structural property of this node type (child type:
Javadoc). |
static ChildListPropertyDescriptor |
MODIFIERS2_PROPERTY
The "modifiers" structural property of this node type (element type:
IExtendedModifier). |
static ChildPropertyDescriptor |
NAME_PROPERTY
The "name" structural property of this node type (child type:
SimpleName). |
static ChildListPropertyDescriptor |
RECORD_COMPONENTS_PROPERTY
The "recordComponents" structural property of this node type (element type:
SingleVariableDeclaration). |
static ChildListPropertyDescriptor |
SUPER_INTERFACE_TYPES_PROPERTY
The "superInterfaceTypes" structural property of this node type (element type:
Type). |
static ChildListPropertyDescriptor |
TYPE_PARAMETERS_PROPERTY
The "typeParameters" structural property of this node type (element type:
TypeParameter). |
ANNOTATION_TYPE_DECLARATION, ANNOTATION_TYPE_MEMBER_DECLARATION, ANONYMOUS_CLASS_DECLARATION, ARRAY_ACCESS, ARRAY_CREATION, ARRAY_INITIALIZER, ARRAY_TYPE, ASSERT_STATEMENT, ASSIGNMENT, BLOCK, BLOCK_COMMENT, BOOLEAN_LITERAL, BREAK_STATEMENT, CAST_EXPRESSION, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, COMPILATION_UNIT, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, CREATION_REFERENCE, DIMENSION, DO_STATEMENT, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPORTS_DIRECTIVE, EXPRESSION_METHOD_REFERENCE, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, INTERSECTION_TYPE, JAVADOC, LABELED_STATEMENT, LAMBDA_EXPRESSION, LINE_COMMENT, MALFORMED, MARKER_ANNOTATION, MEMBER_REF, MEMBER_VALUE_PAIR, METHOD_DECLARATION, METHOD_INVOCATION, METHOD_REF, METHOD_REF_PARAMETER, MODIFIER, MODULE_DECLARATION, MODULE_MODIFIER, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NUMBER_LITERAL, OPENS_DIRECTIVE, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, PROVIDES_DIRECTIVE, QUALIFIED_NAME, QUALIFIED_TYPE, RECORD_DECLARATION, RECOVERED, REQUIRES_DIRECTIVE, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_MEMBER_ANNOTATION, SINGLE_VARIABLE_DECLARATION, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SUPER_METHOD_REFERENCE, SWITCH_CASE, SWITCH_EXPRESSION, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TEXT_BLOCK, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_METHOD_REFERENCE, TYPE_PARAMETER, UNION_TYPE, USES_DIRECTIVE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE, YIELD_STATEMENT| Modifier and Type | Method and Description |
|---|---|
FieldDeclaration[] |
getFields()
Returns the ordered list of field declarations of this type
declaration.
|
MethodDeclaration[] |
getMethods()
Returns the ordered list of method declarations of this type
declaration.
|
int |
getRestrictedIdentifierStartPosition() |
RecordDeclaration[] |
getTypes()
Returns the ordered list of member type declarations of this type
declaration.
|
static java.util.List |
propertyDescriptors(int apiLevel)
Returns a list of structural property descriptors for this node type.
|
static java.util.List |
propertyDescriptors(int apiLevel,
boolean previewEnabled)
Returns a list of structural property descriptors for this node type.
|
java.util.List |
recordComponents()
Returns the live ordered list of recordComponents of record declaration.
|
void |
setRestrictedIdentifierStartPosition(int restrictedIdentifierStartPosition) |
java.util.List |
superInterfaceTypes()
Returns the live ordered list of superinterfaces of this type
declaration (added in JLS3 API).
|
java.util.List |
typeParameters()
Returns the live ordered list of type parameters of this type
declaration (added in JLS3 API).
|
bodyDeclarations, getBodyDeclarationsProperty, getName, getNameProperty, isLocalTypeDeclaration, isMemberTypeDeclaration, isPackageMemberTypeDeclaration, resolveBinding, setNamegetJavadoc, getJavadocProperty, getModifiers, getModifiersProperty, modifiers, setJavadoc, setModifiersaccept, copySubtree, copySubtrees, delete, equals, getAST, getFlags, getLength, getLocationInParent, getNodeType, getParent, getProperty, getRoot, getStartPosition, getStructuralProperty, hashCode, nodeClassForType, properties, setFlags, setProperty, setSourceRange, setStructuralProperty, structuralPropertiesForType, subtreeBytes, subtreeMatch, toStringpublic static final ChildPropertyDescriptor JAVADOC_PROPERTY
Javadoc).public static final ChildListPropertyDescriptor MODIFIERS2_PROPERTY
IExtendedModifier).public static final ChildPropertyDescriptor NAME_PROPERTY
SimpleName).public static final ChildListPropertyDescriptor SUPER_INTERFACE_TYPES_PROPERTY
Type).public static final ChildListPropertyDescriptor TYPE_PARAMETERS_PROPERTY
TypeParameter).public static final ChildListPropertyDescriptor RECORD_COMPONENTS_PROPERTY
SingleVariableDeclaration).public static final ChildListPropertyDescriptor BODY_DECLARATIONS_PROPERTY
BodyDeclaration).public void setRestrictedIdentifierStartPosition(int restrictedIdentifierStartPosition)
public int getRestrictedIdentifierStartPosition()
public static java.util.List propertyDescriptors(int apiLevel)
apiLevel - the API level; one of the
AST.JLS* constantsStructuralPropertyDescriptor)public static java.util.List propertyDescriptors(int apiLevel,
boolean previewEnabled)
apiLevel - the API level; one of the
AST.JLS* constantspreviewEnabled - the previewEnabled flagStructuralPropertyDescriptor)public java.util.List typeParameters()
TypeParameter)public java.util.List superInterfaceTypes()
Type)public java.util.List recordComponents()
SingleVariableDeclaration)public FieldDeclaration[] getFields()
This convenience method returns this node's body declarations
with non-fields filtered out. Unlike bodyDeclarations,
this method does not return a live result.
public MethodDeclaration[] getMethods()
This convenience method returns this node's body declarations
with non-methods filtered out. Unlike bodyDeclarations,
this method does not return a live result.
public RecordDeclaration[] getTypes()
This convenience method returns this node's body declarations
with non-types filtered out. Unlike bodyDeclarations,
this method does not return a live result.