public class ReconCompFilterExpression extends ReconExpression
Modifier and Type | Field and Description |
---|---|
protected DataSet |
dataSet |
protected java.lang.String[] |
filterOperators |
compiled, expressionTag, infixTokens, reconInfo, rootNode, TOKEN_CONSTANT, TOKEN_DATASET1_FIELD, TOKEN_DATASET2_FIELD, TOKEN_HIGHEST_VALUE, TOKEN_INVALID, TOKEN_LEFT_PARENTHESIS, TOKEN_LOWEST_VALUE, TOKEN_OPERATOR, TOKEN_RIGHT_PARENTHESIS, TOKEN_VALUE, validOperators
Constructor and Description |
---|
ReconCompFilterExpression(DataSet dataSet,
ReconInfo reconInfo) |
Modifier and Type | Method and Description |
---|---|
ReconCompFilterReturn |
evaluateExpression(ComparisonQueryHelper queries)
Evaluates the expression, compiling it first if needed.
|
protected ReconCompFilterReturn |
evaluateExpressionTree(BinaryTreeNode root,
ComparisonQueryHelper queries)
Traverse the binary tree using a recursive algorithm
|
protected void |
readClause(MboRemote clause) |
protected void |
readOperator(MboRemote clause)
Read the operator and value for the reconciliation comparison filter
clause.
|
addExpressionToken, addExpressionToken, compileExpression, convertInfixToExpressionTree, convertTreeToInfixString, findOperator, getAndOrAttributeName, getAttributeSet, getAttributeToUnitMap, getCloseParentheses, getCompiledExpressionAsString, getExpressionTag, getExpressionTag, getOpenParentheses, getSequenceNum, handleLogicalAnd, handleLogicalOperator, handleLogicalOr, popLinkPush, prepareAttributeIndexes, processInfixExpression, processOperatorToken, processRightParenthesisToken, readExpression, readExpression, reset, setExpressionTag, walkTreeReplaceAttributeNamesWithIndexes, walkTreeToGetAttribSet, walkTreeToGetAttribToUnitMap
protected DataSet dataSet
protected java.lang.String[] filterOperators
public ReconCompFilterReturn evaluateExpression(ComparisonQueryHelper queries) throws MXException
MXException
protected ReconCompFilterReturn evaluateExpressionTree(BinaryTreeNode root, ComparisonQueryHelper queries) throws MXApplicationException
The pseudocode is
if ( [current node contains an operator] )
x = evaluateTree(root.left_child);
y = evaluateTree(root.right_child);
// Consult the design document why the logical operator AND is handled in the way it is
[Perform operation on x and y, specified by the operator and store result in z]
return z;
else
return root->data;
if (root != null)
MXApplicationException
protected void readOperator(MboRemote clause) throws MXException, java.rmi.RemoteException
clause
- for the reconciliation comparison filter clauseMXException
java.rmi.RemoteException
protected void readClause(MboRemote clause) throws MXException, java.rmi.RemoteException
readClause
in class ReconExpression
MXException
java.rmi.RemoteException