org.eclipse.jdt.core.dom

## Class StringLiteral

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

    public class StringLiteral
    extends Expression

String literal nodes.

Since:
  2.0
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, 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, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NUMBER_LITERAL, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, QUALIFIED_NAME, QUALIFIED_TYPE, RECOVERED, 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_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_METHOD_REFERENCE, TYPE_PARAMETER, UNION_TYPE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE`

### 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.
`void` `setEscapedValue(String token)` Sets the string value of this literal node to the given string literal token.
`void` `setLiteralValue(String value)` Sets the value of this literal node.

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

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

     StringLiteral s;
     s.setEscapedValue("\"hello\\nworld\"");
     assert s.getLiteralValue().equals("hello\nworld");

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

Returns:
  the string value without enclosing double quotes and embedded escapes
Throws:
  `IllegalArgumentException` - if the literal value cannot be converted

#### setLiteralValue

    public void setLiteralValue(String value)

Sets the value of this literal node.

For example,

     StringLiteral s;
     s.setLiteralValue("hello\nworld");
     assert s.getEscapedValue().equals("\"hello\\nworld\"");
     assert s.getLiteralValue().equals("hello\nworld");

Note that this is a convenience method that converts to the stored string literal token acceptable to `setEscapedLiteral`.

Parameters:
  `value` - the string value without enclosing double quotes and embedded escapes
Throws:
  `IllegalArgumentException` - if the argument is incorrect