|
Oracle Fusion Middleware Java API for Oracle WebLogic Portal 10g Release 3 (10.3.2) E14255-01 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object
com.beasys.commerce.util.ExpressionHelper
Deprecated Use ExpressionHelper
instead.
public class ExpressionHelper
Helper class to handle dealing with Expression, Criteria, and Logical objects.
Expression
, Criteria
, Logical
Nested Class Summary | |
---|---|
static class |
ExpressionHelper.ParseException Deprecated Exception to report an error while parsing a query expression. |
Constructor Summary | |
---|---|
ExpressionHelper() Deprecated |
Method Summary | |
---|---|
static ExpressionHelper.ParseException |
convertException(Exception excep) Deprecated Convert a generic exception into a ParseException. |
static String |
fromStringLiteral(String in) Deprecated Convert a String literal (which may contain quoted characters) into a corresponding String value. |
static int |
getOrdinalValue(char ch) Deprecated Get the ordinal (Unicode) value of a character. |
static boolean |
isHexString(String str) Deprecated Determine is a string contains only ASCII hexidecimal characters ([0-9a-fA-F]). |
static Logical |
join(Expression expr1, Expression expr2) Deprecated Join together two expression via an AND expression. |
static Expression |
normalize(Expression expr) Deprecated Normalize an Expression. |
static Expression |
parse(String queryStr) Deprecated Convert a query expression string into an Expression object. |
static void |
printTree(int depth, PrintWriter out, Expression expr) Deprecated For debug purposes, print the given expression as a tree at the given depth. |
static void |
printTree(PrintWriter out, Expression expr) Deprecated For debug purposes, print the given expression as a tree. |
static String |
toString(Criteria c) Deprecated Return a string representation of the given criteria. |
static String |
toString(Expression expr) Deprecated Get a string representation of the given expression. |
static String |
toString(Logical l) Deprecated Return a string representation of the given Logical. |
static String |
toStringLiteral(String in) Deprecated Get an ASCII String literal from a Java string. |
static String |
toTree(Expression expr) Deprecated For debug purposes, return a tree representation of the given expression. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ExpressionHelper()
Method Detail |
---|
public static Expression parse(String queryStr) throws ExpressionHelper.ParseException, IllegalArgumentException
The string should follow the query syntax specified in the Personalization Server documentation. The expression syntax is tree-based, with each leaf in the tree beinging of the form "property comparator value" (e.g. "identifier == '1234'
").
This specifies the object property to match against. To specify a property name which contains non-identifier characters (e.g. whitespace, double quotes, dashes), you can use the <nobr>"toProperty('property name')
"</nobr> form in the left-hand-side. To specify scopenames as part of the property name, either use the "scope.name
" form or the <nobr>"toProperty('scope', 'property')
"</nobr> form in the left-hand-side.
The valid comparision operators are =
(or ==
), !=
, <
, >
, <=
, >=
, "like
", and "contains
". The "like
" operator expects the pattern (which is the value of the leaf) to use *
(match all) and ?
(match any); "like
" also is only expected to work against String values, although it might work with other datatypes depending upon the search implementation. The "contains
" operator is only expected to work against multi-valued properties, although it might work with other datatypes depending upon the search implementation.
\u6565
"), octal (e.g. "\7
", "\65
", "\377
"), and standard Java escape sequences (e.g. "\n
", "\r
", "\b
") are allowed in the string literals.true
" or "false
" keyword (without quotes).toDate(['formatStr'], 'dateStr')
"</nobr> format. formatStr
must be a valid SimpleDateFormat
format string; if omitted, <nobr>'MM/dd/yyyy HH:mm:ss z
'</nobr> is used. Also, the "now
" keyword specifies the current time/date.Each branch in the tree is comprised of 1 or more leafs or branches separated by either "&&
" (boolean AND) or "||
" (boolean OR). They can be enclosed in parenthesis for clearity and ordering (AND has precendance over OR). Additionally, "!
" marks a branch as using negative logical (boolean NOT). The "!
" operator can only be used preceding an open parenthesis.
Examples of valid expression strings:
identifier == '00099abv48932ds'
((UserAge <= 35 && colors contains 'red') || (UserAge > 35 && !(colors contains 'black')) && mimeType == 'text/html'
toProperty('MyApp', <nobr>'Launch Date'</nobr>) < now && !(MyApp.expireDate > toDate(<nobr>'HH:mm:ss MM-dd-yyyy'</nobr>, <nobr>'12:12:12 12/12/2002'</nobr>))
queryStr
- the query expression stringExpressionHelper.ParseException
- thrown on a an invalid expression query or a parser error.IllegalArgumentException
- thrown on a general error.convertException(java.lang.Exception)
, normalize(com.beasys.commerce.foundation.expression.Expression)
public static Logical join(Expression expr1, Expression expr2)
expr1
- the first expression.expr2
- the second expression.public static Expression normalize(Expression expr)
This will remove:
expr
- the incoming expression.public static String toString(Expression expr)
Pretty much, a string generated from this method can be parse()'ed into the equivalent (not neccessarily identical) expression tree.
expr
- the expression.public static String toString(Criteria c)
public static String toString(Logical l)
public static String toTree(Expression expr)
public static void printTree(PrintWriter out, Expression expr)
out
- the output stream to print on.expr
- the expression.public static void printTree(int depth, PrintWriter out, Expression expr)
depth
- the depth of this expression in the tree.out
- the output stream to print on.expr
- the expression.public static String fromStringLiteral(String in)
This supports the standard Java Language Specification escape sequences.
in
- the input string literal.public static boolean isHexString(String str)
public static String toStringLiteral(String in)
This will quote some special characters with back-slashes.
The output of this can be sent through fromStringLiteral(java.lang.String)
to result in the original String.
public static int getOrdinalValue(char ch)
public static ExpressionHelper.ParseException convertException(Exception excep)
|
Oracle Fusion Middleware Java API for Oracle WebLogic Portal 10g Release 3 (10.3.2) E14255-01 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright © 2010, Oracle. All rights reserved.