org.apache.commons.jexl3.parser
Class StringParser

java.lang.Object
  extended by org.apache.commons.jexl3.parser.StringParser
Direct Known Subclasses:
JexlParser

public class StringParser
extends Object

Common constant strings utilities.

This package methods read JEXL string literals and handle escaping through the 'backslash' (ie: \) character. Escaping is used to neutralize string delimiters (the single and double quotes) and read Unicode hexadecimal encoded characters.

The only escapable characters are the single and double quotes - ''' and '"' -, a Unicode sequence starting with 'u' followed by 4 hexadecimals and the backslash character - '\' - itself.

A sequence where '\' occurs before any non-escapable character or sequence has no effect, the sequence output being the same as the input.


Constructor Summary
StringParser()
          Default constructor.
 
Method Summary
static String buildString(CharSequence str, boolean eatsep)
          Builds a string, handles escaping through '\' syntax.
static String escapeString(String str, char delim)
          Escapes a String representation, expand non-ASCII characters as Unicode escape sequence.
static int readString(StringBuilder strb, CharSequence str, int index, char sep)
          Read the remainder of a string till a given separator, handles escaping through '\' syntax.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StringParser

public StringParser()
Default constructor.

Method Detail

buildString

public static String buildString(CharSequence str,
                                 boolean eatsep)
Builds a string, handles escaping through '\' syntax.

Parameters:
str - the string to build from
eatsep - whether the separator, the first character, should be considered
Returns:
the built string

readString

public static int readString(StringBuilder strb,
                             CharSequence str,
                             int index,
                             char sep)
Read the remainder of a string till a given separator, handles escaping through '\' syntax.

Parameters:
strb - the destination buffer to copy characters into
str - the origin
index - the offset into the origin
sep - the separator, single or double quote, marking end of string
Returns:
the offset in origin

escapeString

public static String escapeString(String str,
                                  char delim)
Escapes a String representation, expand non-ASCII characters as Unicode escape sequence.

Parameters:
str - the string to escape
Returns:
the escaped representation


Copyright © 2001-2011 The Apache Software Foundation. All Rights Reserved.