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