Methods Summary |
---|
public static org.apache.taglibs.standard.lang.jstl.StringLiteral | fromLiteralValue(java.lang.String pValue)Returns a StringLiteral with the given string value
return new StringLiteral (pValue);
|
public static org.apache.taglibs.standard.lang.jstl.StringLiteral | fromToken(java.lang.String pToken)Returns a StringLiteral parsed from the given token (enclosed by
single or double quotes)
return new StringLiteral (getValueFromToken (pToken));
|
public java.lang.String | getExpressionString()Returns the expression in the expression language syntax
return toStringToken ((String) getValue ());
|
public static java.lang.String | getValueFromToken(java.lang.String pToken)Parses the given token into the literal value
StringBuffer buf = new StringBuffer ();
int len = pToken.length () - 1;
boolean escaping = false;
for (int i = 1; i < len; i++) {
char ch = pToken.charAt (i);
if (escaping) {
buf.append (ch);
escaping = false;
}
else if (ch == '\\") {
escaping = true;
}
else {
buf.append (ch);
}
}
return buf.toString ();
|
static boolean | isJavaIdentifier(java.lang.String pValue)Returns true if the specified value is a legal java identifier
int len = pValue.length ();
if (len == 0) {
return false;
}
else {
if (!Character.isJavaIdentifierStart (pValue.charAt (0))) {
return false;
}
else {
for (int i = 1; i < len; i++) {
if (!Character.isJavaIdentifierPart (pValue.charAt (i))) {
return false;
}
}
return true;
}
}
|
public static java.lang.String | toIdentifierToken(java.lang.String pValue)Converts the specified value to an identifier token, escaping it
as a string literal if necessary.
// See if it's a valid java identifier
if (isJavaIdentifier (pValue)) {
return pValue;
}
// Return as a String literal
else {
return toStringToken (pValue);
}
|
public static java.lang.String | toStringToken(java.lang.String pValue)Converts the specified value to a String token, using " as the
enclosing quotes and escaping any characters that need escaping.
// See if any escaping is needed
if (pValue.indexOf ('\"") < 0 &&
pValue.indexOf ('\\") < 0) {
return "\"" + pValue + "\"";
}
// Escaping is needed
else {
StringBuffer buf = new StringBuffer ();
buf.append ('\"");
int len = pValue.length ();
for (int i = 0; i < len; i++) {
char ch = pValue.charAt (i);
if (ch == '\\") {
buf.append ('\\");
buf.append ('\\");
}
else if (ch == '\"") {
buf.append ('\\");
buf.append ('\"");
}
else {
buf.append (ch);
}
}
buf.append ('\"");
return buf.toString ();
}
|