com.jaxfront.core.rule
Class MathEvaluator

java.lang.Object
  extended by com.jaxfront.core.rule.MathEvaluator

public class MathEvaluator
extends java.lang.Object

MathEvaluator provides a simple mechanism to evaluate algebraic expressions. It uses and extends the JEP Parser hosted by sourcefourge.net. Only with the MathEvaluator.class it's possible to use nodeFunctions! NodeFunctions are functions that uses Nodes (Types) referenced by a TypePath.

See Also:
JEP

Nested Class Summary
 class MathEvaluator.MathCommunicator
           
 
Field Summary
 int _callCount
           
static java.lang.String MATH_EVALUATOR_ARGUMENT_PREFIX
           
static java.lang.String MATH_VAR_ABSTRACT_GROUP_IDS
           
static java.lang.String MATH_VAR_ABSTRACT_GROUP_UUIDS
           
static java.lang.String MATH_VAR_APPLICATION
           
static java.lang.String MATH_VAR_BASE_GROUP_IDS
           
static java.lang.String MATH_VAR_BASE_GROUP_UUIDS
           
static java.lang.String MATH_VAR_BASE_GROUPS
           
static java.lang.String MATH_VAR_DEPUTY_FROM_IDS
           
static java.lang.String MATH_VAR_DEPUTY_IDS
           
static java.lang.String MATH_VAR_DIRECT_PARENT_GROUP
           
static java.lang.String MATH_VAR_DOM_ID
           
static java.lang.String MATH_VAR_DOMHANDLER
           
static java.lang.String MATH_VAR_ESURVEY_ID
           
static java.lang.String MATH_VAR_FALSE
           
static java.lang.String MATH_VAR_FORM_ID
           
static java.lang.String MATH_VAR_GROUP_IDS
           
static java.lang.String MATH_VAR_GROUP_NAMES
           
static java.lang.String MATH_VAR_GROUP_UUID_IDS
           
static java.lang.String MATH_VAR_GROUP_UUIDS
           
static java.lang.String MATH_VAR_GROUPS
           
static java.lang.String MATH_VAR_HISTORY_PARTICIPANTS
           
static java.lang.String MATH_VAR_HTTP_SESSION
           
static java.lang.String MATH_VAR_ICONNECTIONMANAGER
           
static java.lang.String MATH_VAR_JEP_FUNCTIONS
           
static java.lang.String MATH_VAR_LANGUAGES
           
static java.lang.String MATH_VAR_MANDANT
           
static java.lang.String MATH_VAR_MANDANT_ID
           
static java.lang.String MATH_VAR_MANDANT_NAME
           
static java.lang.String MATH_VAR_MATH_EVALUATOR
           
static java.lang.String MATH_VAR_NA_N
           
static java.lang.String MATH_VAR_NLS_LANGUAGE_SEQUENCE
           
static java.lang.String MATH_VAR_NULL
           
static java.lang.String MATH_VAR_OS_NAME
           
static java.lang.String MATH_VAR_PARAM_FALSE
           
static java.lang.String MATH_VAR_PARAM_TRUE
           
static java.lang.String MATH_VAR_PARENT_GROUP_ID
           
static java.lang.String MATH_VAR_PARENT_GROUPS
           
static java.lang.String MATH_VAR_PARENT_GROUPS_IDS
           
static java.lang.String MATH_VAR_PIDS
           
static java.lang.String MATH_VAR_SYSTEM_FORM_IDS
           
static java.lang.String MATH_VAR_SYSTEM_NAME
           
static java.lang.String MATH_VAR_TRUE
           
static java.lang.String MATH_VAR_USER
           
static java.lang.String MATH_VAR_USER_COUNTRY
           
static java.lang.String MATH_VAR_USER_EMAIL
           
static java.lang.String MATH_VAR_USER_HOME
           
static java.lang.String MATH_VAR_USER_ID
           
static java.lang.String MATH_VAR_USER_LANGUAGE
           
static java.lang.Object MATH_VAR_USER_LAST_LOGIN_TIME
           
static java.lang.Object MATH_VAR_USER_LOGIN_TIME
           
static java.lang.String MATH_VAR_USER_NAME
           
static java.lang.String MATH_VAR_USER_ROLE
           
static java.lang.String MATH_VAR_USER_TIMEZONE
           
static java.lang.String MATH_VAR_USER_UUID
           
static java.lang.String MATH_VAR_USER_UUID_ID
           
static java.lang.String MATH_VAR_UUID
           
static java.lang.String MATH_VAR_WORKFLOW_FAILED_STATE
           
static java.lang.String MATH_VAR_WORKFLOW_SUCESS_STATE
           
static java.lang.String MATH_VAR_XUI_LANGUAGE
           
 long timeConsumption
           
 
Constructor Summary
MathEvaluator(java.util.Hashtable initVars)
           
 
Method Summary
 double evaluate(java.lang.String expression, MathEvaluator.MathCommunicator communicator)
          Evaluate a simple algebraic expression
 double evaluate(Type formulaRoot, java.lang.String expression)
          Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions
 double evaluate(Type formulaRoot, java.lang.String expression, boolean includeOnlySerializable)
          Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions
 double evaluate(Type formulaRoot, Type eventSource, java.lang.String expression, boolean includeOnlySerializable)
          Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions
 boolean evaluateBoolean(java.lang.String expression, MathEvaluator.MathCommunicator communicator)
          Evaluate a simple algebraic expression.
 boolean evaluateBoolean(Type formulaRoot, java.lang.String expression)
          Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions
 boolean evaluateBoolean(Type formulaRoot, java.lang.String expression, boolean includeOnlySerializable)
          Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions
 boolean evaluateBoolean(Type formulaRoot, Type eventSource, java.lang.Object event, java.lang.String expression, boolean includeOnlySerializable)
          Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions
 java.lang.String evaluateExternal(Type formulaRoot, java.lang.String expression)
           
 java.lang.String evaluateExternal(Type formulaRoot, java.lang.String expression, java.util.Map userObjs)
           
 java.lang.String evaluateExternalCaught(Type formulaRoot, java.lang.String expression, java.util.Map userObjs)
           
 boolean evaluateExternalOK(Type formulaRoot, java.lang.String expression)
          Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions
 boolean evaluateExternalOK(Type formulaRoot, java.lang.String expression, java.util.Map userObjects)
          Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions
 java.lang.Object evaluateObject(java.lang.String expression, MathEvaluator.MathCommunicator com)
          Evaluate a simple algebraic expression.
 java.lang.Object evaluateObject(Type formulaRoot, java.lang.String expression)
          Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions
 java.lang.Object evaluateObject(Type formulaRoot, java.lang.String expression, boolean includeOnlySerializable)
          Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions
 java.lang.Object evaluateObject(Type formulaRoot, Type eventSource, java.lang.Object event, java.lang.String expression, boolean includeOnlySerializable)
          Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions
 java.util.HashSet evaluateReferencedNodes(Type formulaRoot, java.lang.String expression)
          Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions
 java.util.HashSet evaluateReferencedNodes(Type formulaRoot, java.lang.String expression, boolean edTypeIncl)
           
 java.lang.String evaluateString(java.lang.String expression, MathEvaluator.MathCommunicator com)
          Evaluate a simple algebraic expression.
 java.lang.String evaluateString(Type formulaRoot, java.lang.Object eventSource, java.lang.Object event, java.lang.String expression, boolean includeOnlySerializable, java.util.List targetTypes)
          Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions
 java.lang.String evaluateString(Type formulaRoot, java.lang.String expression)
          Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions
 java.lang.String evaluateString(Type formulaRoot, java.lang.String expression, boolean includeOnlySerializable)
          Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions
 java.lang.Object evaluateUser(java.lang.String expression, Type aBaseType)
          Evaluate a simple algebraic expression.
static java.util.Properties evaluateUserProperties(IUser user)
           
 java.lang.String evaluateUserString(java.lang.String expression, MathEvaluator.MathCommunicator com)
          Evaluate a simple algebraic expression.
 java.lang.String evaluateUserString(java.lang.String expression, Type aBaseType)
          Evaluate a simple algebraic expression.
 int getCalls()
           
 java.util.Stack getCallStack()
           
 java.lang.String getErrorInfo()
           
static java.util.Hashtable getExternalFunctions()
           
 java.net.URL getFunctionsURL()
           
 java.net.URL getFunctionsXSD()
           
static MathEvaluator getInstance()
          Returns a new instance of the MathEvaluator
 java.util.Hashtable getNodeFunctionNames()
           
 java.util.Enumeration getRegisteredFunctions()
          Parses the current expression in the exprField.
 java.util.Hashtable getVariables()
           
 void initExternalFunctions()
           
 void initExternalFunctions(org.w3c.dom.Document doc, boolean cache)
           
 boolean isDebug()
           
 org.nfunk.jep.function.PostfixMathCommandI registerFunction(java.lang.String functionImplementorClass, java.lang.String functionName, java.lang.String isNodeFunction)
           
static void release()
           
static java.lang.String serializeProperties(java.util.Map props)
           
 void setDebug(boolean _debug)
           
 void setVariable(java.lang.String name, java.lang.Object value)
          This method set a simple variable to JEP!
 void setVariables(java.util.Map variables)
          This method set variables to JEP!
static java.lang.Object translateVar(java.util.Map vars, java.lang.String aValue)
           
static java.lang.String translateVar(java.lang.String text, java.util.Map varMap)
           
static java.lang.String translateVar(java.lang.String text, java.util.Map varMap, MathEvaluator math)
           
static java.lang.String translateVar(java.lang.String text, MathEvaluator math)
           
static java.lang.String translateVar(java.lang.String text, Type aType)
           
static java.lang.String translateVar(Type aType, java.lang.String aValue, IUser user, java.util.Map vars, MathEvaluator math)
           
static java.lang.String translateVar(Type aType, java.lang.String text, java.util.Map varMap, MathEvaluator math)
           
static java.lang.String translateVars(java.util.Map vars, java.lang.String aValue)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_callCount

public int _callCount

MATH_EVALUATOR_ARGUMENT_PREFIX

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

MATH_VAR_ABSTRACT_GROUP_IDS

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

MATH_VAR_ABSTRACT_GROUP_UUIDS

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

MATH_VAR_APPLICATION

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

MATH_VAR_BASE_GROUP_IDS

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

MATH_VAR_BASE_GROUP_UUIDS

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

MATH_VAR_BASE_GROUPS

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

MATH_VAR_DEPUTY_FROM_IDS

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

MATH_VAR_DEPUTY_IDS

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

MATH_VAR_DIRECT_PARENT_GROUP

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

MATH_VAR_DOM_ID

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

MATH_VAR_DOMHANDLER

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

MATH_VAR_ESURVEY_ID

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

MATH_VAR_FALSE

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

MATH_VAR_FORM_ID

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

MATH_VAR_GROUP_IDS

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

MATH_VAR_GROUP_NAMES

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

MATH_VAR_GROUP_UUID_IDS

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

MATH_VAR_GROUP_UUIDS

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

MATH_VAR_GROUPS

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

MATH_VAR_HISTORY_PARTICIPANTS

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

MATH_VAR_HTTP_SESSION

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

MATH_VAR_ICONNECTIONMANAGER

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

MATH_VAR_JEP_FUNCTIONS

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

MATH_VAR_LANGUAGES

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

MATH_VAR_MANDANT

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

MATH_VAR_MANDANT_ID

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

MATH_VAR_MANDANT_NAME

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

MATH_VAR_MATH_EVALUATOR

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

MATH_VAR_NA_N

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

MATH_VAR_NLS_LANGUAGE_SEQUENCE

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

MATH_VAR_NULL

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

MATH_VAR_OS_NAME

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

MATH_VAR_PARAM_FALSE

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

MATH_VAR_PARAM_TRUE

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

MATH_VAR_PARENT_GROUP_ID

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

MATH_VAR_PARENT_GROUPS

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

MATH_VAR_PARENT_GROUPS_IDS

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

MATH_VAR_PIDS

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

MATH_VAR_SYSTEM_FORM_IDS

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

MATH_VAR_SYSTEM_NAME

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

MATH_VAR_TRUE

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

MATH_VAR_USER

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

MATH_VAR_USER_COUNTRY

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

MATH_VAR_USER_EMAIL

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

MATH_VAR_USER_HOME

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

MATH_VAR_USER_ID

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

MATH_VAR_USER_LANGUAGE

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

MATH_VAR_USER_LAST_LOGIN_TIME

public static final java.lang.Object MATH_VAR_USER_LAST_LOGIN_TIME

MATH_VAR_USER_LOGIN_TIME

public static final java.lang.Object MATH_VAR_USER_LOGIN_TIME

MATH_VAR_USER_NAME

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

MATH_VAR_USER_ROLE

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

MATH_VAR_USER_TIMEZONE

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

MATH_VAR_USER_UUID

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

MATH_VAR_USER_UUID_ID

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

MATH_VAR_UUID

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

MATH_VAR_WORKFLOW_FAILED_STATE

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

MATH_VAR_WORKFLOW_SUCESS_STATE

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

MATH_VAR_XUI_LANGUAGE

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

timeConsumption

public long timeConsumption
Constructor Detail

MathEvaluator

public MathEvaluator(java.util.Hashtable initVars)
Method Detail

evaluate

public double evaluate(java.lang.String expression,
                       MathEvaluator.MathCommunicator communicator)
                throws org.nfunk.jep.ParseException
Evaluate a simple algebraic expression

Returns:
double result
Throws:
org.nfunk.jep.ParseException

evaluate

public double evaluate(Type formulaRoot,
                       java.lang.String expression)
                throws org.nfunk.jep.ParseException
Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions

Returns:
double result
Throws:
org.nfunk.jep.ParseException

evaluate

public double evaluate(Type formulaRoot,
                       java.lang.String expression,
                       boolean includeOnlySerializable)
                throws org.nfunk.jep.ParseException
Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions

Returns:
double result
Throws:
org.nfunk.jep.ParseException

evaluate

public double evaluate(Type formulaRoot,
                       Type eventSource,
                       java.lang.String expression,
                       boolean includeOnlySerializable)
                throws org.nfunk.jep.ParseException
Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions

Returns:
double result
Throws:
org.nfunk.jep.ParseException

evaluateBoolean

public boolean evaluateBoolean(java.lang.String expression,
                               MathEvaluator.MathCommunicator communicator)
                        throws org.nfunk.jep.ParseException
Evaluate a simple algebraic expression.

Returns:
boolean true/false
Throws:
org.nfunk.jep.ParseException

evaluateBoolean

public boolean evaluateBoolean(Type formulaRoot,
                               java.lang.String expression)
                        throws org.nfunk.jep.ParseException
Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions

Returns:
boolean true/false
Throws:
org.nfunk.jep.ParseException

evaluateBoolean

public boolean evaluateBoolean(Type formulaRoot,
                               java.lang.String expression,
                               boolean includeOnlySerializable)
                        throws org.nfunk.jep.ParseException
Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions

Returns:
boolean true/false
Throws:
org.nfunk.jep.ParseException

evaluateBoolean

public boolean evaluateBoolean(Type formulaRoot,
                               Type eventSource,
                               java.lang.Object event,
                               java.lang.String expression,
                               boolean includeOnlySerializable)
                        throws org.nfunk.jep.ParseException
Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions

Returns:
boolean true/false
Throws:
org.nfunk.jep.ParseException

evaluateExternal

public java.lang.String evaluateExternal(Type formulaRoot,
                                         java.lang.String expression)
                                  throws java.lang.Exception
Throws:
java.lang.Exception

evaluateExternal

public java.lang.String evaluateExternal(Type formulaRoot,
                                         java.lang.String expression,
                                         java.util.Map userObjs)
                                  throws java.lang.Exception
Throws:
java.lang.Exception

evaluateExternalCaught

public java.lang.String evaluateExternalCaught(Type formulaRoot,
                                               java.lang.String expression,
                                               java.util.Map userObjs)

evaluateExternalOK

public boolean evaluateExternalOK(Type formulaRoot,
                                  java.lang.String expression)
Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions

Returns:
double result

evaluateExternalOK

public boolean evaluateExternalOK(Type formulaRoot,
                                  java.lang.String expression,
                                  java.util.Map userObjects)
Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions

Returns:
double result

evaluateObject

public java.lang.Object evaluateObject(java.lang.String expression,
                                       MathEvaluator.MathCommunicator com)
                                throws org.nfunk.jep.ParseException
Evaluate a simple algebraic expression.

Returns:
Object result
Throws:
org.nfunk.jep.ParseException

evaluateObject

public java.lang.Object evaluateObject(Type formulaRoot,
                                       java.lang.String expression)
                                throws org.nfunk.jep.ParseException
Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions

Returns:
Object result
Throws:
org.nfunk.jep.ParseException

evaluateObject

public java.lang.Object evaluateObject(Type formulaRoot,
                                       java.lang.String expression,
                                       boolean includeOnlySerializable)
                                throws org.nfunk.jep.ParseException
Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions

Returns:
Object result
Throws:
org.nfunk.jep.ParseException

evaluateObject

public java.lang.Object evaluateObject(Type formulaRoot,
                                       Type eventSource,
                                       java.lang.Object event,
                                       java.lang.String expression,
                                       boolean includeOnlySerializable)
                                throws org.nfunk.jep.ParseException
Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions

Returns:
Object result
Throws:
org.nfunk.jep.ParseException

evaluateReferencedNodes

public java.util.HashSet evaluateReferencedNodes(Type formulaRoot,
                                                 java.lang.String expression)
                                          throws org.nfunk.jep.ParseException
Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions

Returns:
double result
Throws:
org.nfunk.jep.ParseException

evaluateReferencedNodes

public java.util.HashSet evaluateReferencedNodes(Type formulaRoot,
                                                 java.lang.String expression,
                                                 boolean edTypeIncl)
                                          throws org.nfunk.jep.ParseException
Throws:
org.nfunk.jep.ParseException

evaluateString

public java.lang.String evaluateString(java.lang.String expression,
                                       MathEvaluator.MathCommunicator com)
                                throws org.nfunk.jep.ParseException
Evaluate a simple algebraic expression.

Returns:
Object result
Throws:
org.nfunk.jep.ParseException

evaluateString

public java.lang.String evaluateString(Type formulaRoot,
                                       java.lang.Object eventSource,
                                       java.lang.Object event,
                                       java.lang.String expression,
                                       boolean includeOnlySerializable,
                                       java.util.List targetTypes)
                                throws org.nfunk.jep.ParseException
Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions

Returns:
String result
Throws:
org.nfunk.jep.ParseException

evaluateString

public java.lang.String evaluateString(Type formulaRoot,
                                       java.lang.String expression)
                                throws org.nfunk.jep.ParseException
Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions

Returns:
String result
Throws:
org.nfunk.jep.ParseException

evaluateString

public java.lang.String evaluateString(Type formulaRoot,
                                       java.lang.String expression,
                                       boolean includeOnlySerializable)
                                throws org.nfunk.jep.ParseException
Evaluate a simple algebraic expression and set a new formulaRoot for nodeFunctions

Returns:
String result
Throws:
org.nfunk.jep.ParseException

evaluateUser

public java.lang.Object evaluateUser(java.lang.String expression,
                                     Type aBaseType)
Evaluate a simple algebraic expression.

Returns:
Object result

evaluateUserProperties

public static java.util.Properties evaluateUserProperties(IUser user)

evaluateUserString

public java.lang.String evaluateUserString(java.lang.String expression,
                                           MathEvaluator.MathCommunicator com)
Evaluate a simple algebraic expression.

Returns:
Object result

evaluateUserString

public java.lang.String evaluateUserString(java.lang.String expression,
                                           Type aBaseType)
Evaluate a simple algebraic expression.

Returns:
Object result

getCalls

public int getCalls()

getCallStack

public java.util.Stack getCallStack()

getErrorInfo

public java.lang.String getErrorInfo()

getExternalFunctions

public static java.util.Hashtable getExternalFunctions()

getFunctionsURL

public java.net.URL getFunctionsURL()

getFunctionsXSD

public java.net.URL getFunctionsXSD()

getInstance

public static MathEvaluator getInstance()
Returns a new instance of the MathEvaluator

Returns:
com.jaxfront.core.rule.MathEvaluator

getNodeFunctionNames

public java.util.Hashtable getNodeFunctionNames()

getRegisteredFunctions

public java.util.Enumeration getRegisteredFunctions()
Parses the current expression in the exprField. This method also re-initializes the contents of the symbol and function tables. This is neccessary because the "allow undeclared variables" option adds variables from expressions to the symbol table.


getVariables

public java.util.Hashtable getVariables()

initExternalFunctions

public void initExternalFunctions()
                           throws org.apache.xerces.xni.parser.XMLParseException,
                                  org.xml.sax.SAXException,
                                  java.io.IOException
Throws:
org.apache.xerces.xni.parser.XMLParseException
org.xml.sax.SAXException
java.io.IOException

initExternalFunctions

public void initExternalFunctions(org.w3c.dom.Document doc,
                                  boolean cache)
                           throws org.apache.xerces.xni.parser.XMLParseException,
                                  org.xml.sax.SAXException,
                                  java.io.IOException
Throws:
org.apache.xerces.xni.parser.XMLParseException
org.xml.sax.SAXException
java.io.IOException

isDebug

public boolean isDebug()

registerFunction

public org.nfunk.jep.function.PostfixMathCommandI registerFunction(java.lang.String functionImplementorClass,
                                                                   java.lang.String functionName,
                                                                   java.lang.String isNodeFunction)

release

public static void release()

serializeProperties

public static java.lang.String serializeProperties(java.util.Map props)
                                            throws java.io.IOException
Throws:
java.io.IOException

setDebug

public void setDebug(boolean _debug)

setVariable

public void setVariable(java.lang.String name,
                        java.lang.Object value)
This method set a simple variable to JEP! The method take not care about datatypes.

Parameters:
variables - java.util.Hashtable

setVariables

public void setVariables(java.util.Map variables)
This method set variables to JEP! It takes the key value as variable name and variable value. The method take not care about datatypes.

Parameters:
variables - java.util.Hashtable

translateVar

public static java.lang.Object translateVar(java.util.Map vars,
                                            java.lang.String aValue)

translateVar

public static java.lang.String translateVar(java.lang.String text,
                                            java.util.Map varMap)

translateVar

public static java.lang.String translateVar(java.lang.String text,
                                            java.util.Map varMap,
                                            MathEvaluator math)

translateVar

public static java.lang.String translateVar(java.lang.String text,
                                            MathEvaluator math)

translateVar

public static java.lang.String translateVar(java.lang.String text,
                                            Type aType)

translateVar

public static java.lang.String translateVar(Type aType,
                                            java.lang.String aValue,
                                            IUser user,
                                            java.util.Map vars,
                                            MathEvaluator math)

translateVar

public static java.lang.String translateVar(Type aType,
                                            java.lang.String text,
                                            java.util.Map varMap,
                                            MathEvaluator math)

translateVars

public static java.lang.String translateVars(java.util.Map vars,
                                             java.lang.String aValue)