public class ExprNodeUtilityCore
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static ExprNode[] |
EMPTY_EXPR_ARRAY |
static ExprForge[] |
EMPTY_FORGE_ARRAY |
Constructor and Description |
---|
ExprNodeUtilityCore() |
Modifier and Type | Method and Description |
---|---|
static void |
acceptParams(ExprNodeVisitor visitor,
java.util.List<ExprNode> params) |
static void |
acceptParams(ExprNodeVisitorWithParent visitor,
java.util.List<ExprNode> params) |
static void |
acceptParams(ExprNodeVisitorWithParent visitor,
java.util.List<ExprNode> params,
ExprNode parent) |
static ExprNode[] |
addExpression(ExprNode[] expressions,
ExprNode expression) |
static boolean |
applyFilterExpression(ExprEvaluator filter,
EventBean[] eventsPerStream,
ExprEvaluatorContext exprEvaluatorContext)
Apply a filter expression returning a pass indicator.
|
static EventBean[] |
applyFilterExpression(ExprEvaluator filter,
EventBean streamZeroEvent,
EventBean[] streamOneEvents,
ExprEvaluatorContext exprEvaluatorContext)
Apply a filter expression.
|
static void |
applyFilterExpressionIterable(java.util.Iterator<EventBean> iterator,
ExprEvaluator filterExpression,
ExprEvaluatorContext exprEvaluatorContext,
java.util.Collection<EventBean> eventsInWindow) |
static void |
applyFilterExpressionsIterable(java.lang.Iterable<EventBean> iterable,
java.util.List<ExprNode> filterExpressions,
ExprEvaluatorContext exprEvaluatorContext,
java.util.Collection<EventBean> eventsInWindow) |
static boolean |
deepEquals(ExprNode[] one,
ExprNode[] two,
boolean ignoreStreamPrefix)
Compares two expression nodes via deep comparison, considering all
child nodes of either side.
|
static boolean |
deepEquals(ExprNode nodeOne,
ExprNode nodeTwo,
boolean ignoreStreamPrefix)
Compare two expression nodes and their children in exact child-node sequence,
returning true if the 2 expression nodes trees are equals, or false if they are not equals.
|
static boolean |
deepEquals(java.util.List<ExprNode> one,
java.util.List<ExprNode> two) |
static boolean |
deepEqualsIgnoreDupAndOrder(ExprNode[] setOne,
ExprNode[] setTwo) |
static boolean |
deepEqualsIsSubset(ExprNode[] subset,
ExprNode[] superset) |
static boolean |
deepEqualsNullChecked(ExprNode nodeOne,
ExprNode nodeTwo,
boolean ignoreStreamPrefix) |
static java.lang.Object[] |
evaluateExpressions(ExprEvaluator[] parameters,
ExprEvaluatorContext exprEvaluatorContext) |
static java.lang.Object |
evaluateValidationTimeNoStreams(ExprEvaluator evaluator,
ExprEvaluatorContext context,
java.lang.String expressionName) |
static java.util.List<Pair<ExprNode,ExprNode>> |
findExpression(ExprNode selectExpression,
ExprNode searchExpression) |
static java.util.Comparator<java.lang.Object> |
getComparatorHashableMultiKeys(ExprNode[] sortCriteria,
boolean isSortUsingCollator,
boolean[] isDescendingValues) |
static ExprEvaluator[] |
getEvaluatorsNoCompile(ExprForge[] forges) |
static ExprEvaluator[] |
getEvaluatorsNoCompile(ExprNode[] exprNodes) |
static ExprEvaluator[] |
getEvaluatorsNoCompile(java.util.List<ExprNode> childNodes) |
static ExprIdentNode |
getExprIdentNode(EventType[] typesPerStream,
int streamId,
java.lang.String property) |
static java.lang.Class[] |
getExprResultTypes(ExprForge[] nodes) |
static java.lang.Class[] |
getExprResultTypes(ExprNode[] nodes) |
static java.lang.Class[] |
getExprResultTypes(java.util.List<ExprNode> expressions) |
static ExprForge[] |
getForges(ExprNode[] exprNodes) |
static java.lang.String[] |
getIdentResolvedPropertyNames(ExprNode[] nodes) |
static java.util.Set<java.lang.String> |
getPropertyNamesIfAllProps(ExprNode[] expressions) |
static boolean |
isConstantValueExpr(ExprNode exprNode) |
static java.lang.String |
printEvaluators(ExprEvaluator[] evaluators) |
static void |
replaceChildNode(ExprNode parentNode,
ExprNode nodeToReplace,
ExprNode newNode) |
static ExprNode[] |
toArray(java.util.Collection<ExprNode> expressions) |
static void |
toExpressionString(ExprNode node,
java.io.StringWriter buffer) |
static void |
toExpressionStringIncludeParen(java.util.List<ExprNode> parameters,
java.io.StringWriter buffer) |
static java.lang.String[] |
toExpressionStringMinPrecedenceAsArray(ExprNode[] nodes) |
static java.lang.String |
toExpressionStringMinPrecedenceAsList(ExprNode[] nodes) |
static void |
toExpressionStringMinPrecedenceAsList(ExprNode[] nodes,
java.io.StringWriter writer) |
static java.lang.String |
toExpressionStringMinPrecedenceSafe(ExprNode node) |
static void |
toExpressionStringParameterList(ExprNode[] childNodes,
java.io.StringWriter buffer) |
static void |
toExpressionStringParameterList(java.util.List<ExprNode> parameters,
java.io.StringWriter buffer) |
static void |
toExpressionStringParams(java.io.StringWriter writer,
ExprNode[] params) |
static java.lang.String[] |
toExpressionStringsMinPrecedence(ExprNode[] expressions) |
static void |
toExpressionStringWFunctionName(java.lang.String functionName,
ExprNode[] childNodes,
java.io.StringWriter writer) |
public static final ExprNode[] EMPTY_EXPR_ARRAY
public static final ExprForge[] EMPTY_FORGE_ARRAY
public static java.util.Comparator<java.lang.Object> getComparatorHashableMultiKeys(ExprNode[] sortCriteria, boolean isSortUsingCollator, boolean[] isDescendingValues)
public static java.lang.Object evaluateValidationTimeNoStreams(ExprEvaluator evaluator, ExprEvaluatorContext context, java.lang.String expressionName) throws ExprValidationException
ExprValidationException
public static boolean deepEqualsIgnoreDupAndOrder(ExprNode[] setOne, ExprNode[] setTwo)
public static java.lang.String toExpressionStringMinPrecedenceSafe(ExprNode node)
public static java.lang.String[] toExpressionStringMinPrecedenceAsArray(ExprNode[] nodes)
public static java.lang.String toExpressionStringMinPrecedenceAsList(ExprNode[] nodes)
public static void toExpressionStringMinPrecedenceAsList(ExprNode[] nodes, java.io.StringWriter writer)
public static void applyFilterExpressionsIterable(java.lang.Iterable<EventBean> iterable, java.util.List<ExprNode> filterExpressions, ExprEvaluatorContext exprEvaluatorContext, java.util.Collection<EventBean> eventsInWindow)
public static void applyFilterExpressionIterable(java.util.Iterator<EventBean> iterator, ExprEvaluator filterExpression, ExprEvaluatorContext exprEvaluatorContext, java.util.Collection<EventBean> eventsInWindow)
public static boolean isConstantValueExpr(ExprNode exprNode)
public static java.util.Set<java.lang.String> getPropertyNamesIfAllProps(ExprNode[] expressions)
public static java.lang.String[] toExpressionStringsMinPrecedence(ExprNode[] expressions)
public static java.util.List<Pair<ExprNode,ExprNode>> findExpression(ExprNode selectExpression, ExprNode searchExpression)
public static void toExpressionStringParameterList(ExprNode[] childNodes, java.io.StringWriter buffer)
public static void toExpressionStringWFunctionName(java.lang.String functionName, ExprNode[] childNodes, java.io.StringWriter writer)
public static java.lang.String[] getIdentResolvedPropertyNames(ExprNode[] nodes)
public static java.lang.Class[] getExprResultTypes(ExprNode[] nodes)
public static java.lang.Class[] getExprResultTypes(ExprForge[] nodes)
public static EventBean[] applyFilterExpression(ExprEvaluator filter, EventBean streamZeroEvent, EventBean[] streamOneEvents, ExprEvaluatorContext exprEvaluatorContext)
filter
- expressionstreamZeroEvent
- the event that represents stream zerostreamOneEvents
- all events thate are stream one eventsexprEvaluatorContext
- context for expression evaluationpublic static boolean applyFilterExpression(ExprEvaluator filter, EventBean[] eventsPerStream, ExprEvaluatorContext exprEvaluatorContext)
filter
- to applyeventsPerStream
- events per streamexprEvaluatorContext
- context for expression evaluationpublic static boolean deepEquals(ExprNode nodeOne, ExprNode nodeTwo, boolean ignoreStreamPrefix)
Recursive call since it uses this method to compare child nodes in the same exact sequence. Nodes are compared using the equalsNode method.
nodeOne
- - first expression top node of the tree to comparenodeTwo
- - second expression top node of the tree to compareignoreStreamPrefix
- when the equals-comparison can ignore prefix of event propertiespublic static boolean deepEqualsNullChecked(ExprNode nodeOne, ExprNode nodeTwo, boolean ignoreStreamPrefix)
public static boolean deepEquals(ExprNode[] one, ExprNode[] two, boolean ignoreStreamPrefix)
one
- array of expressionstwo
- array of expressionsignoreStreamPrefix
- indicator whether we ignore stream prefixes and instead use resolved property namepublic static boolean deepEquals(java.util.List<ExprNode> one, java.util.List<ExprNode> two)
public static java.lang.Object[] evaluateExpressions(ExprEvaluator[] parameters, ExprEvaluatorContext exprEvaluatorContext)
public static ExprEvaluator[] getEvaluatorsNoCompile(ExprNode[] exprNodes)
public static ExprEvaluator[] getEvaluatorsNoCompile(ExprForge[] forges)
public static ExprEvaluator[] getEvaluatorsNoCompile(java.util.List<ExprNode> childNodes)
public static void toExpressionStringParams(java.io.StringWriter writer, ExprNode[] params)
public static java.lang.Class[] getExprResultTypes(java.util.List<ExprNode> expressions)
public static void replaceChildNode(ExprNode parentNode, ExprNode nodeToReplace, ExprNode newNode)
public static void toExpressionStringParameterList(java.util.List<ExprNode> parameters, java.io.StringWriter buffer)
public static void toExpressionString(ExprNode node, java.io.StringWriter buffer)
public static void toExpressionStringIncludeParen(java.util.List<ExprNode> parameters, java.io.StringWriter buffer)
public static java.lang.String printEvaluators(ExprEvaluator[] evaluators)
public static void acceptParams(ExprNodeVisitor visitor, java.util.List<ExprNode> params)
public static void acceptParams(ExprNodeVisitorWithParent visitor, java.util.List<ExprNode> params)
public static void acceptParams(ExprNodeVisitorWithParent visitor, java.util.List<ExprNode> params, ExprNode parent)
public static ExprIdentNode getExprIdentNode(EventType[] typesPerStream, int streamId, java.lang.String property)