Package org.eclipse.jdt.core.dom

## Class TextBlock

- java.lang.Object
- - org.eclipse.jdt.core.dom.ASTNode
  - - org.eclipse.jdt.core.dom.Expression
    - - org.eclipse.jdt.core.dom.TextBlock

    public class TextBlock
    extends Expression

TextBolck AST node type. These are block of String literal nodes.

Since:
  3.20
Restriction:
  This class is not intended to be referenced by clients as it is a part of Java preview feature.
Restriction:
  This class is not intended to be instantiated by clients.

### Field Summary

Fields
`static SimplePropertyDescriptor` `ESCAPED_VALUE_PROPERTY` The "escapedValue" structural property of this node type (type: `String`).

### 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, 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, 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`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`String` `getEscapedValue()` Returns the string value of this literal node to the given string literal token.
`String` `getLiteralValue()` Returns the value of this literal node.
`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` `setEscapedValue​(String token)` Sets the string value of this literal node to the given string literal token.

### 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 Detail

#### ESCAPED_VALUE_PROPERTY

    public static final SimplePropertyDescriptor ESCAPED_VALUE_PROPERTY

The "escapedValue" structural property of this node type (type: `String`).

Since:
  3.0

### Method Detail

#### 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`)
Since:
  3.0

#### 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`)
Since:
  3.20
Restriction:
  This method is not intended to be referenced by clients.

#### getEscapedValue

    public String getEscapedValue()

Returns the string value of this literal node to the given string literal token. The token is the sequence of characters that would appear in the source program, including enclosing double quotes and embedded escapes.

Returns:
  the string literal token, including enclosing double quotes and embedded escapes

#### setEscapedValue

    public void setEscapedValue​(String token)

Sets the string value of this literal node to the given string literal token. The token is the sequence of characters that would appear in the source program, including enclosing double quotes and embedded escapes. For example,

- `""` `setLiteral("\"\"")`
- `"hello world"` `setLiteral("\"hello world\"")`
- `"boo\nhoo"` `setLiteral("\"boo\\nhoo\"")`

Parameters:
  `token` - the string literal token, including enclosing double quotes and embedded escapes
Throws:
  `IllegalArgumentException` - if the argument is incorrect

#### getLiteralValue

    public String getLiteralValue()

Returns the value of this literal node.

For example,

     TextBlock s;
     s.setEscapedValue("\"\"\"  \n hello\\n world\"");
     assert s.getLiteralValue().equals("hello\n world");

Note that this is a convenience method that converts from the stored TextBlock token returned by `getEscapedLiteral`.

Returns:
  the string value without enclosing triple quotes
Throws:
  `IllegalArgumentException` - if the literal value cannot be converted