com.beasys.commerce.util
Class ExpressionHelper

java.lang.Object
  extended by com.beasys.commerce.util.ExpressionHelper

Deprecated Use ExpressionHelper instead.

public class ExpressionHelper
extends Object

Helper class to handle dealing with Expression, Criteria, and Logical objects.

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

ExpressionHelper

public ExpressionHelper()
Deprecated 
Method Detail

parse

public static Expression parse(String queryStr)
                        throws ExpressionHelper.ParseException,
                               IllegalArgumentException
Deprecated 
Convert a query expression string into an Expression object.

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'").

Property (LHS)

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 "toProperty('property name')" form in the left-hand-side. To specify scopenames as part of the property name, either use the "scope.name" form or the "toProperty('scope', 'property')" form in the left-hand-side.

Comparators

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.

Value (RHS)

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:

Parameters
queryStr - the query expression string
Returns
an Expression object representing (null if queryStr is a null expression).
Throws
ExpressionHelper.ParseException - thrown on a an invalid expression query or a parser error.
IllegalArgumentException - thrown on a general error.
See Also
convertException(java.lang.Exception), normalize(com.beasys.commerce.foundation.expression.Expression)

join

public static Logical join(Expression expr1,
                           Expression expr2)
Deprecated 
Join together two expression via an AND expression.

Parameters
expr1 - the first expression.
expr2 - the second expression.
Returns
a Logical of the two expressions.

normalize

public static Expression normalize(Expression expr)
Deprecated 
Normalize an Expression.

This will remove:

Parameters
expr - the incoming expression.
Returns
the normalized expression, null if normalized to nothing.

toString

public static String toString(Expression expr)
Deprecated 
Get a string representation of the given expression.

Pretty much, a string generated from this method can be parse()'ed into the equivalent (not neccessarily identical) expression tree.

Parameters
expr - the expression.
Returns
the query syntax representation of the expression.

toString

public static String toString(Criteria c)
Deprecated 
Return a string representation of the given criteria.


toString

public static String toString(Logical l)
Deprecated 
Return a string representation of the given Logical.


toTree

public static String toTree(Expression expr)
Deprecated 
For debug purposes, return a tree representation of the given expression.


printTree

public static void printTree(PrintWriter out,
                             Expression expr)
Deprecated 
For debug purposes, print the given expression as a tree.

Parameters
out - the output stream to print on.
expr - the expression.

printTree

public static void printTree(int depth,
                             PrintWriter out,
                             Expression expr)
Deprecated 
For debug purposes, print the given expression as a tree at the given depth.

Parameters
depth - the depth of this expression in the tree.
out - the output stream to print on.
expr - the expression.

fromStringLiteral

public static String fromStringLiteral(String in)
Deprecated 
Convert a String literal (which may contain quoted characters) into a corresponding String value.

This supports the standard Java Language Specification escape sequences.

Parameters
in - the input string literal.
Returns
the string value.

isHexString

public static boolean isHexString(String str)
Deprecated 
Determine is a string contains only ASCII hexidecimal characters ([0-9a-fA-F]).


toStringLiteral

public static String toStringLiteral(String in)
Deprecated 
Get an ASCII String literal from a Java string.

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.


getOrdinalValue

public static int getOrdinalValue(char ch)
Deprecated 
Get the ordinal (Unicode) value of a character.


convertException

public static ExpressionHelper.ParseException convertException(Exception excep)
Deprecated 
Convert a generic exception into a ParseException.



Copyright © 2000, 2008, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.