Overview | Package | Class | Tree | Deprecated | Index | Help
| Copyright © 2008 BEA Systems, Inc. All Rights Reserved
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.beasys.commerce.util
Class ExpressionHelper

    java.lang.Object
      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 See BEA Commerce product offering

Constructor Summary
`ExpressionHelper()` Deprecated See BEA Commerce product offering

Method Summary
`static ExpressionHelper.ParseException` | `convertException(Exception excep)` Deprecated See BEA Commerce product offering
`static String` | `fromStringLiteral(String in)` Deprecated See BEA Commerce product offering
`static int` | `getOrdinalValue(char ch)` Deprecated See BEA Commerce product offering
`static boolean` | `isHexString(String str)` Deprecated See BEA Commerce product offering
`static Logical` | `join(Expression expr1, Expression expr2)` Deprecated See BEA Commerce product offering
`static Expression` | `normalize(Expression expr)` Deprecated See BEA Commerce product offering
`static Expression` | `parse(String queryStr)` Deprecated See BEA Commerce product offering
`static void` | `printTree(int depth, PrintWriter out, Expression expr)` Deprecated See BEA Commerce product offering
`static void` | `printTree(PrintWriter out, Expression expr)` Deprecated See BEA Commerce product offering
`static String` | `toString(Criteria c)` Deprecated See BEA Commerce product offering
`static String` | `toString(Expression expr)` Deprecated See BEA Commerce product offering
`static String` | `toString(Logical l)` Deprecated See BEA Commerce product offering
`static String` | `toStringLiteral(String in)` Deprecated See BEA Commerce product offering
`static String` | `toTree(Expression expr)` Deprecated See BEA Commerce product offering

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ExpressionHelper

    public ExpressionHelper()

  Deprecated See BEA Commerce product offering

Method Detail

### parse

    public static Expression parse(String queryStr)
                            throws ExpressionHelper.ParseException,
                                   IllegalArgumentException

  Deprecated See BEA Commerce product offering

  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)
  - String literal values are enclosed in single quotes (back-slash is the quoting character, unicode characters not supported). Additionally, unicode (e.g. "`\u6565`"), octal (e.g. "`\7`", "`\65`", "`\377`"), and standard Java escape sequences (e.g. "`\n`", "`\r`", "`\b`") are allowed in the string literals.
  - Boolean literal are either the "`true`" or "`false`" keyword (without quotes).
  - Number literals are Java form (scientific notation is supported).
  - Time literals are presented in "`toDate(['formatStr'], 'dateStr')`" format. `formatStr` must be a valid `SimpleDateFormat` format string; if omitted, '`MM/dd/yyyy HH:mm:ss z`' is used. Also, the "`now`" keyword specifies the current time/date.
  - Collections cannot be represented in the expression syntax.

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', 'Launch Date') < now && !(MyApp.expireDate > toDate('HH:mm:ss MM-dd-yyyy', '12:12:12 12/12/2002'))

  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 See BEA Commerce product offering

  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 See BEA Commerce product offering

  Normalize an Expression.

  This will remove:

  - Non-root Logicals which contain only one Expression
  - Logicals which contain only one Criteria.

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

### toString

    public static String toString(Expression expr)

  Deprecated See BEA Commerce product offering

  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 See BEA Commerce product offering

  Return a string representation of the given criteria.

### toString

    public static String toString(Logical l)

  Deprecated See BEA Commerce product offering

  Return a string representation of the given Logical.

### toTree

    public static String toTree(Expression expr)

  Deprecated See BEA Commerce product offering

  For debug purposes, return a tree representation of the given expression.

### printTree

    public static void printTree(PrintWriter out,
                                 Expression expr)

  Deprecated See BEA Commerce product offering

  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 See BEA Commerce product offering

  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 See BEA Commerce product offering

  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 See BEA Commerce product offering

  Determine is a string contains only ASCII hexidecimal characters ([0-9a-fA-F]).

### toStringLiteral

    public static String toStringLiteral(String in)

  Deprecated See BEA Commerce product offering

  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 See BEA Commerce product offering

  Get the ordinal (Unicode) value of a character.

### convertException

    public static ExpressionHelper.ParseException convertException(Exception excep)

  Deprecated See BEA Commerce product offering

  Convert a generic exception into a ParseException.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2008 BEA Systems, Inc. All Rights Reserved