com.waveset.object
Class Rule.RuleState

java.lang.Object
  extended bycom.waveset.expression.ExState
      extended bycom.waveset.object.Rule.RuleState
All Implemented Interfaces:
VariableResolver
Enclosing class:
Rule

public static class Rule.RuleState
extends ExState

An default ExState that serves as the callback handler for resolving external references within the rule expression. Used for older rules that are run against a particular object rather than within a larger application environment.

Assuming we're a PersistentObject, we have enough to try to resolve calls to external functions as calls to other Rule objects.


Nested Class Summary
 
Nested classes inherited from class com.waveset.expression.ExState
ExState.ExBreakpointContext
 
Field Summary
static java.lang.String ACCOUNT
           
static java.lang.String ACCOUNT_DOT
           
static java.lang.String USER
           
static java.lang.String USER_DOT
           
 
Fields inherited from class com.waveset.expression.ExState
code_id
 
Constructor Summary
Rule.RuleState(java.util.Map map)
          Builds a state object for a map of values.
Rule.RuleState(WSUser user)
          Builds a state object for a particular user.
Rule.RuleState(WSUser user1, WSUser user2)
          Builds a state object for a pair of users.
 
Method Summary
 java.lang.Object resolveReference(java.lang.String name)
          Resolve a reference to an external variable.
 
Methods inherited from class com.waveset.expression.ExState
addError, addResolver, beginTrace, beginTrace, breakpoint, breakpointEnd, breakpointEnd, breakpointEndAndTrace, breakpointStart, breakpointStartAndTrace, checkBreak, clearErrors, clearGlobalBindings, clearTrace, createBreakpointContext, endTrace, endTrace, endTrace, enterScope, externalCall, externalReference, externalRule, externalRuleArguments, free, freeState, freeValue, getArgInitializer, getBinding, getBreakpointContext, getErrors, getInvokeInterceptor, getLibraryFunction, getLocale, getRuleArguments, getState, getTrace, getTraceBuffer, initBindings, isAllowExceptions, isConsoleTraceEnabled, isPrintEnabled, isTraceEnabled, leaveScope, loadLibrary, loadLibrary, loadLibrary, markBreakpointStack, newValue, newValue, newValue, print, println, printTrace, promoteValue, removeResolver, resolveCall, resolveObject, resolveRule, resolveVariable, setAllowExceptions, setBinding, setConsoleTraceEnable, setConsoleTraceEnable, setExternal, setInvokeInterceptor, setLocale, setPrimaryResolver, setPrintEnable, setPrintStream, setTraceEnable, setTraceEnable, signalBreak, trace, unwindBreakpointStack
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

USER

public static final java.lang.String USER
See Also:
Constant Field Values

ACCOUNT

public static final java.lang.String ACCOUNT
See Also:
Constant Field Values

USER_DOT

public static final java.lang.String USER_DOT
See Also:
Constant Field Values

ACCOUNT_DOT

public static final java.lang.String ACCOUNT_DOT
See Also:
Constant Field Values
Constructor Detail

Rule.RuleState

public Rule.RuleState(java.util.Map map)
Builds a state object for a map of values.


Rule.RuleState

public Rule.RuleState(WSUser user)
Builds a state object for a particular user.


Rule.RuleState

public Rule.RuleState(WSUser user1,
                      WSUser user2)
Builds a state object for a pair of users.

Parameters:
user1 - - the first user.
user2 - - the second user.

Expressions should distinguish references to attributes of the two users by qualifying each reference with "user1.$attribute" or "user2.$attribute". For example: user2.email NOTE: Any unqualified reference will be assumed to refer to "user1".

Method Detail

resolveReference

public java.lang.Object resolveReference(java.lang.String name)
Resolve a reference to an external variable.

Overrides:
resolveReference in class ExState