Package org.eclipse.jdt.core.dom

# Class RecordPattern

java.lang.Object
org.eclipse.jdt.core.dom.ASTNode
org.eclipse.jdt.core.dom.Expression
org.eclipse.jdt.core.dom.Pattern
org.eclipse.jdt.core.dom.RecordPattern

public class RecordPattern extends Pattern
TypePattern pattern AST node type.

     RecordPattern:
          Pattern<Pattern<Patterns....>> Type SimpleName

Since:
  3.31
Restriction:
  This class is not intended to be referenced by clients.
Restriction:
  This class is not intended to be instantiated by clients.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final ChildPropertyDescriptor`
`PATTERN_TYPE_PROPERTY`
The "patternType" structural property of this node type (child type: `Type`).
`static final ChildListPropertyDescriptor`
`PATTERNS_PROPERTY`
The "patterns" structural property of this node type (child type: `Pattern`).

### Fields inherited from class org.eclipse.jdt.core.dom.ASTNode

`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, CASE_DEFAULT_EXPRESSION, 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, ENHANCED_FOR_WITH_RECORD_PATTERN, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPORTS_DIRECTIVE, EXPRESSION_METHOD_REFERENCE, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, GUARDED_PATTERN, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, INTERSECTION_TYPE, JAVADOC, JAVADOC_REGION, JAVADOC_TEXT_ELEMENT, 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, MODULE_QUALIFIED_NAME, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NULL_PATTERN, NUMBER_LITERAL, OPENS_DIRECTIVE, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, PATTERN_INSTANCEOF_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, PROVIDES_DIRECTIVE, QUALIFIED_NAME, QUALIFIED_TYPE, RECORD_DECLARATION, RECORD_PATTERN, RECOVERED, REQUIRES_DIRECTIVE, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_MEMBER_ANNOTATION, SINGLE_VARIABLE_DECLARATION, STRING_FRAGMENT, STRING_LITERAL, STRING_TEMPLATE_COMPONENT, STRING_TEMPLATE_EXPRESSION, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SUPER_METHOD_REFERENCE, SWITCH_CASE, SWITCH_EXPRESSION, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TAG_PROPERTY, TEXT_BLOCK, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_METHOD_REFERENCE, TYPE_PARAMETER, TYPE_PATTERN, UNION_TYPE, USES_DIRECTIVE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE, YIELD_STATEMENT`

## Method Summary

Modifier and Type
Method
Description
`Type`
`getPatternType()`
Returns the pattern type of Types Pattern.
`List<Pattern>`
`patterns()`
Returns the nested Pattern list.
`static List`
`propertyDescriptors(int apiLevel)`
Returns a list of structural property descriptors for this node type.
`static List`
`propertyDescriptors(int apiLevel, boolean previewEnabled)`
Returns a list of structural property descriptors for this node type.
`void`
`setPatternType(Type patternType)`
Sets the pattern type.

### Methods inherited from class org.eclipse.jdt.core.dom.Expression

`resolveBoxing, resolveConstantExpressionValue, resolveTypeBinding, resolveUnboxing`

### Methods inherited from class org.eclipse.jdt.core.dom.ASTNode

`accept, copySubtree, copySubtrees, delete, equals, getAST, getFlags, getLength, getLocationInParent, getNodeType, getParent, getProperty, getRoot, getStartPosition, getStructuralProperty, hashCode, nodeClassForType, properties, setFlags, setProperty, setSourceRange, setStructuralProperty, structuralPropertiesForType, subtreeBytes, subtreeMatch, toString`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

## Field Details

### PATTERNS_PROPERTY

public static final ChildListPropertyDescriptor PATTERNS_PROPERTY
The "patterns" structural property of this node type (child type: `Pattern`).

### PATTERN_TYPE_PROPERTY

public static final ChildPropertyDescriptor PATTERN_TYPE_PROPERTY
The "patternType" structural property of this node type (child type: `Type`).

## Method Details

### propertyDescriptors

public static List propertyDescriptors(int apiLevel)
Returns a list of structural property descriptors for this node type. Clients must not modify the result.

Parameters:
  `apiLevel` - the API level; one of the `AST.JLS*` constants
Returns:
  a list of property descriptors (element type: `StructuralPropertyDescriptor`)
Restriction:
  This method is not intended to be referenced by clients.

### propertyDescriptors

public static List propertyDescriptors(int apiLevel, boolean previewEnabled)
Returns a list of structural property descriptors for this node type. Clients must not modify the result.

Parameters:
  `apiLevel` - the API level; one of the `AST.JLS*` constants
  `previewEnabled` - the previewEnabled flag
Returns:
  a list of property descriptors (element type: `StructuralPropertyDescriptor`)
Restriction:
  This method is not intended to be referenced by clients.

### setPatternType

public void setPatternType(Type patternType)
Sets the pattern type.

Parameters:
  `patternType` - the right operand node
Throws:
  `IllegalArgumentException` - if:
  - the node belongs to a different AST
  - the node already has a parent
  - a cycle in would be created
  `UnsupportedOperationException` - if this operation is used other than JLS19
  `UnsupportedOperationException` - if this expression is used with previewEnabled flag as false
Restriction:
  This method is not intended to be referenced by clients as it is a part of Java preview feature.

### getPatternType

public Type getPatternType()
Returns the pattern type of Types Pattern.

Returns:
  the pattern type
Throws:
  `UnsupportedOperationException` - if this operation is used other than JLS19
  `UnsupportedOperationException` - if this expression is used with previewEnabled flag as false
Restriction:
  This method is not intended to be referenced by clients as it is a part of Java preview feature.

### patterns

public List<Pattern> patterns()
Returns the nested Pattern list.

Returns:
  the live list of pattern nodes (element type: `Pattern`)
Throws:
  `UnsupportedOperationException` - if this operation is used other than JLS19
  `UnsupportedOperationException` - if this expression is used with previewEnabled flag as false
Restriction:
  This method is not intended to be referenced by clients as it is a part of Java preview feature.