Class StringLiteral


public class StringLiteral extends Expression
String literal nodes.
Since:
2.0
Restriction:
This class is not intended to be instantiated by clients.
  • Field Details

    • ESCAPED_VALUE_PROPERTY

      public static final SimplePropertyDescriptor ESCAPED_VALUE_PROPERTY
      The "escapedValue" structural property of this node type (type: String).
      Since:
      3.0
  • 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)
      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