atg.commerce.expression
Class ExpressionParser
java.lang.Object
   atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
       atg.nucleus.GenericService
atg.nucleus.GenericService
           atg.commerce.expression.ExpressionParser
atg.commerce.expression.ExpressionParser
- All Implemented Interfaces: 
- atg.naming.AbsoluteNameable, NameContextBindingListener, NameContextElement, atg.naming.NameContextParentable, NameResolver, AdminableService, atg.nucleus.Configured, ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, VariableArgumentApplicationLogging, ComponentNameResolver, Service, ServiceListener, java.util.EventListener
- public class ExpressionParser 
- extends GenericService
This class parses an expression and generates the Rule tree. The Rule tree is represented
 via a Rule object and its contained sub objects. The supported operations are =, !=, <, >,
 <=, >=, contains, and containskey. An expression has a left and right side which can be
 a String, a constant number (integer or real), a bean value, a collection or array element,
 or a map or dictionary keyed value. Below are examples of expressions:
 6 = 6 (This compares two constants)
 
 Order.priceInfo.amount>1000.0 (This compares the amount of the order to 1000.0)
 Order.priceInfo.amount>Profile.allowedAmount (This compares the amount of the order to a property called allowedAmount in the Profile)
 Order.commerceItems[2].quantity > Profile.maxAllowedQuantity (This compares the commerce item's quantity in location 2 to the Profile's maxAllowQuantity property)
 Order.specialInstructions.allow = true  (This compares the specialInstruction whose key is "allow" to the boolean value true)
 Reserved expressions are true, false, null.
 Supported operators are =, !=, <, <=, >, >=, contains, containskey
 Expressions can be a string of digits to represent a number (ex. - 45)
 Expressions can be Strings which should be enclosed in double quotes (ex.- "string")
 Expressions can be characters which should be enclosed in single quotes (ex.- 'c')
 Expressions can be bean strings such as bean.bean.property
 Expressions can be collection or array elements and should be an expression similar to collection[0] or collection[0].elementProperty
 Expressions can contain map or dictionary keys and should be an expression similar to map.key or map.key.elementProperty
| Field Summary | 
| static java.lang.String | CLASS_VERSIONClass version string
 | 
| protected static java.util.ResourceBundle | sResourceBundleResource Bundle
 | 
 
 
| Fields inherited from interface atg.nucleus.logging.TraceApplicationLogging | 
| DEFAULT_LOG_TRACE_STATUS | 
 
 
 
| Method Summary | 
|  java.lang.String | getLoggingIdentifier()Returns property LoggingIdentifier
 | 
|  Rule | parseExpression(java.lang.String pExpression)This method parses an expression and generates a Rule tree.
 | 
|  void | setLoggingIdentifier(java.lang.String pLoggingIdentifier)Sets property LoggingIdentifier
 | 
 
| Methods inherited from class atg.nucleus.GenericService | 
| addLogListener, createAdminServlet, doStartService, doStopService, getAbsoluteName, getAdminServlet, getAdminServletOutputStreamEncoding, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isAdminServletUseServletOutputStream, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, reResolveThis, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setAdminServletOutputStreamEncoding, setAdminServletUseServletOutputStream, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService | 
 
| Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingImpl | 
| vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning | 
 
| Methods inherited from class java.lang.Object | 
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
 
CLASS_VERSION
public static final java.lang.String CLASS_VERSION
- Class version string
 
- See Also:
- Constant Field Values
 
sResourceBundle
protected static java.util.ResourceBundle sResourceBundle
- Resource Bundle
 
 
ExpressionParser
public ExpressionParser()
setLoggingIdentifier
public void setLoggingIdentifier(java.lang.String pLoggingIdentifier)
- Sets property LoggingIdentifier
 
- 
 
getLoggingIdentifier
public java.lang.String getLoggingIdentifier()
- Returns property LoggingIdentifier
 
- 
 
parseExpression
public Rule parseExpression(java.lang.String pExpression)
                     throws java.text.ParseException
- This method parses an expression and generates a Rule tree.
 
- 
- Parameters:
- pExpression- the expression to parse
- Throws:
- java.text.ParseException- thrown if a parsing error occurs