|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.espertech.esper.epl.expression.core.ExprNodeUtility
public class ExprNodeUtility
Nested Class Summary | |
---|---|
static class |
ExprNodeUtility.MappedPropertyParseResult
Encapsulates the parse result parsing a mapped property as a class and method name with args. |
Field Summary | |
---|---|
static ExprDeclaredNode[] |
EMPTY_DECLARED_ARR
|
static ExprNode[] |
EMPTY_EXPR_ARRAY
|
Constructor Summary | |
---|---|
ExprNodeUtility()
|
Method Summary | |
---|---|
static void |
acceptChain(ExprNodeVisitor visitor,
java.util.List<ExprChainedSpec> chainSpec)
|
static void |
acceptChain(ExprNodeVisitorWithParent visitor,
java.util.List<ExprChainedSpec> chainSpec)
|
static void |
acceptChain(ExprNodeVisitorWithParent visitor,
java.util.List<ExprChainedSpec> chainSpec,
ExprNode parent)
|
static void |
addNonAggregatedProps(ExprNode exprNode,
ExprNodePropOrStreamSet set,
EventType[] types,
ContextPropertyRegistry contextPropertyRegistry)
|
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 Pair<java.lang.String,ExprNode> |
checkGetAssignmentToProp(ExprNode node)
|
static Pair<java.lang.String,ExprNode> |
checkGetAssignmentToVariableOrProp(ExprNode node)
|
static java.util.List<ExprNode> |
collectChainParameters(java.util.List<ExprChainedSpec> chainSpec)
|
static ExprAndNode |
connectExpressionsByLogicalAnd(java.util.Collection<ExprNode> nodes)
|
static ExprNode |
connectExpressionsByLogicalAnd(java.util.List<ExprNode> nodes,
ExprNode optionalAdditionalFilter)
|
static boolean |
deepEquals(ExprNode[] one,
ExprNode[] two)
Compares two expression nodes via deep comparison, considering all child nodes of either side. |
static boolean |
deepEquals(ExprNode nodeOne,
ExprNode nodeTwo)
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 java.lang.Object[] |
evaluateExpressions(ExprEvaluator[] parameters,
ExprEvaluatorContext exprEvaluatorContext)
|
static java.util.List<Pair<ExprNode,ExprNode>> |
findExpression(ExprNode selectExpression,
ExprNode searchExpression)
|
static ExprNodePropOrStreamSet |
getAggregatedProperties(java.util.List<ExprAggregateNode> aggregateNodes)
|
static java.util.Map<ExprDeclaredNode,java.util.List<ExprDeclaredNode>> |
getDeclaredExpressionCallHierarchy(ExprDeclaredNode[] declaredExpressions)
|
static ExprEvaluator[] |
getEvaluators(ExprNode[] exprNodes)
|
static ExprEvaluator[] |
getEvaluators(java.util.List<ExprNode> childNodes)
|
static java.util.List<Pair<java.lang.Integer,java.lang.String>> |
getExpressionProperties(ExprNode exprNode,
boolean visitAggregateNodes)
Walk expression returning properties used. |
static ExprIdentNode |
getExprIdentNode(EventType[] typesPerStream,
int streamId,
java.lang.String property)
|
static java.lang.Class[] |
getExprResultTypes(ExprEvaluator[] evaluators)
|
static java.lang.Class[] |
getExprResultTypes(ExprNode[] groupByNodes)
|
static java.lang.Class[] |
getExprResultTypes(java.util.List<ExprNode> expressions)
|
static ExprNodePropOrStreamSet |
getGroupByPropertiesValidateHasOne(ExprNode[] groupByNodes)
|
static java.lang.String[] |
getIdentResolvedPropertyNames(ExprNode[] nodes)
|
static java.util.Set<java.lang.Integer> |
getIdentStreamNumbers(ExprNode child)
|
static java.util.Map<java.lang.String,ExprNamedParameterNode> |
getNamedExpressionsHandleDups(java.util.List<ExprNode> parameters)
|
static ExprNodePropOrStreamSet |
getNonAggregatedProps(EventType[] types,
java.util.List<ExprNode> exprNodes,
ContextPropertyRegistry contextPropertyRegistry)
|
static java.util.Set<java.lang.String> |
getPropertyNamesIfAllProps(ExprNode[] expressions)
|
static ExprNode |
getValidatedAssignment(OnTriggerSetAssignment assignment,
ExprValidationContext validationContext)
|
static void |
getValidatedSubtree(ExprNodeOrigin origin,
ExprNode[][] exprNode,
ExprValidationContext validationContext)
|
static void |
getValidatedSubtree(ExprNodeOrigin origin,
ExprNode[] exprNode,
ExprValidationContext validationContext)
|
static ExprNode |
getValidatedSubtree(ExprNodeOrigin origin,
ExprNode exprNode,
ExprValidationContext validationContext)
Validates the expression node subtree that has this node as root. |
static boolean |
hasRemoveStreamForAggregations(ExprNode child,
StreamTypeService streamTypeService,
boolean unidirectionalJoin)
Returns true if all properties within the expression are witin data window'd streams. |
static boolean |
hasStreamSelect(java.util.List<ExprNode> exprNodes)
|
static boolean |
isAllConstants(java.util.List<ExprNode> parameters)
|
static boolean |
isConstantValueExpr(ExprNode exprNode)
|
static java.lang.String |
isMinimalExpression(ExprNode expression)
Check if the expression is minimal: does not have a subselect, aggregation and does not need view resources |
static ExprEvaluator |
makeUnderlyingEvaluator(int streamNum,
java.lang.Class resultType,
TableMetadata tableMetadata)
|
static ExprNodeUtility.MappedPropertyParseResult |
parseMappedProperty(java.lang.String property)
Parse the mapped property into classname, method and string argument. |
static java.lang.String |
printEvaluators(ExprEvaluator[] evaluators)
|
static void |
replaceChainChildNode(ExprNode nodeToReplace,
ExprNode newNode,
java.util.List<ExprChainedSpec> chainSpec)
|
static void |
replaceChildNode(ExprNode parentNode,
ExprNode nodeToReplace,
ExprNode newNode)
|
static ExprNodeUtilMethodDesc |
resolveMethodAllowWildcardAndStream(java.lang.String className,
java.lang.Class optionalClass,
java.lang.String methodName,
java.util.List<ExprNode> parameters,
MethodResolutionService methodResolutionService,
EventAdapterService eventAdapterService,
java.lang.String statementId,
boolean allowWildcard,
EventType wildcardType,
ExprNodeUtilResolveExceptionHandler exceptionHandler,
java.lang.String functionName,
TableService tableService)
|
static ExprNode[] |
toArray(java.util.Collection<ExprNode> expressions)
|
static ExprDeclaredNode[] |
toArray(java.util.List<ExprDeclaredNode> declaredNodes)
|
static ScheduleSpec |
toCrontabSchedule(ExprNodeOrigin origin,
java.util.List<ExprNode> scheduleSpecExpressionList,
StatementContext context,
boolean allowBindingConsumption)
|
static void |
toExpressionString(java.util.List<ExprChainedSpec> chainSpec,
java.io.StringWriter buffer,
boolean prefixDot,
java.lang.String functionName)
|
static void |
toExpressionStringIncludeParen(java.util.List<ExprNode> parameters,
java.io.StringWriter buffer)
|
static java.lang.String |
toExpressionStringMinPrecedence(ExprNode[] nodes)
|
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)
|
static void |
validate(ExprNodeOrigin origin,
java.util.List<ExprChainedSpec> chainSpec,
ExprValidationContext validationContext)
|
static void |
validateNamed(java.util.Map<java.lang.String,ExprNamedParameterNode> namedExpressions,
java.lang.String[] namedParameters)
|
static boolean |
validateNamedExpectType(ExprNamedParameterNode namedParameterNode,
java.lang.Class[] expectedTypes)
|
static void |
validateNoSpecialsGroupByExpressions(ExprNode[] groupByNodes)
|
static void |
validatePlainExpression(ExprNodeOrigin origin,
java.lang.String expressionTextualName,
ExprNode expression)
|
static ExprNode |
validateSimpleGetSubtree(ExprNodeOrigin origin,
ExprNode expression,
StatementContext statementContext,
EventType optionalEventType,
boolean allowBindingConsumption)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final ExprNode[] EMPTY_EXPR_ARRAY
public static final ExprDeclaredNode[] EMPTY_DECLARED_ARR
Constructor Detail |
---|
public ExprNodeUtility()
Method Detail |
---|
public static boolean deepEqualsIsSubset(ExprNode[] subset, ExprNode[] superset)
public static boolean deepEqualsIgnoreDupAndOrder(ExprNode[] setOne, ExprNode[] setTwo)
public static java.util.Map<ExprDeclaredNode,java.util.List<ExprDeclaredNode>> getDeclaredExpressionCallHierarchy(ExprDeclaredNode[] declaredExpressions)
public static java.lang.String toExpressionStringMinPrecedenceSafe(ExprNode node)
public static java.lang.String toExpressionStringMinPrecedence(ExprNode[] nodes)
public static Pair<java.lang.String,ExprNode> checkGetAssignmentToProp(ExprNode node)
public static Pair<java.lang.String,ExprNode> checkGetAssignmentToVariableOrProp(ExprNode node) throws ExprValidationException
ExprValidationException
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 ExprNode connectExpressionsByLogicalAnd(java.util.List<ExprNode> nodes, ExprNode optionalAdditionalFilter)
public static ExprAndNode connectExpressionsByLogicalAnd(java.util.Collection<ExprNode> nodes)
public static java.util.List<Pair<java.lang.Integer,java.lang.String>> getExpressionProperties(ExprNode exprNode, boolean visitAggregateNodes)
exprNode
- to walkvisitAggregateNodes
- true to visit aggregation nodes
public static boolean isConstantValueExpr(ExprNode exprNode)
public static ExprNode getValidatedSubtree(ExprNodeOrigin origin, ExprNode exprNode, ExprValidationContext validationContext) throws ExprValidationException
ExprValidationException
- when the validation failspublic static void getValidatedSubtree(ExprNodeOrigin origin, ExprNode[] exprNode, ExprValidationContext validationContext) throws ExprValidationException
ExprValidationException
public static void getValidatedSubtree(ExprNodeOrigin origin, ExprNode[][] exprNode, ExprValidationContext validationContext) throws ExprValidationException
ExprValidationException
public static ExprNode getValidatedAssignment(OnTriggerSetAssignment assignment, ExprValidationContext validationContext) throws ExprValidationException
ExprValidationException
public static ExprNodeUtility.MappedPropertyParseResult parseMappedProperty(java.lang.String property)
property
- is the string property to be passed as a static method invocation
public static boolean isAllConstants(java.util.List<ExprNode> parameters)
public static ExprIdentNode getExprIdentNode(EventType[] typesPerStream, int streamId, java.lang.String property)
public static java.lang.Class[] getExprResultTypes(ExprEvaluator[] evaluators)
public static java.lang.Class[] getExprResultTypes(java.util.List<ExprNode> expressions)
public static ExprNodeUtilMethodDesc resolveMethodAllowWildcardAndStream(java.lang.String className, java.lang.Class optionalClass, java.lang.String methodName, java.util.List<ExprNode> parameters, MethodResolutionService methodResolutionService, EventAdapterService eventAdapterService, java.lang.String statementId, boolean allowWildcard, EventType wildcardType, ExprNodeUtilResolveExceptionHandler exceptionHandler, java.lang.String functionName, TableService tableService) throws ExprValidationException
ExprValidationException
public static void validatePlainExpression(ExprNodeOrigin origin, java.lang.String expressionTextualName, ExprNode expression) throws ExprValidationException
ExprValidationException
public static ExprNode validateSimpleGetSubtree(ExprNodeOrigin origin, ExprNode expression, StatementContext statementContext, EventType optionalEventType, boolean allowBindingConsumption) throws ExprValidationException
ExprValidationException
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[] groupByNodes)
public static ExprEvaluator makeUnderlyingEvaluator(int streamNum, java.lang.Class resultType, TableMetadata tableMetadata)
public static boolean hasStreamSelect(java.util.List<ExprNode> exprNodes)
public static void validateNoSpecialsGroupByExpressions(ExprNode[] groupByNodes) throws ExprValidationException
ExprValidationException
public static java.util.Map<java.lang.String,ExprNamedParameterNode> getNamedExpressionsHandleDups(java.util.List<ExprNode> parameters) throws ExprValidationException
ExprValidationException
public static void validateNamed(java.util.Map<java.lang.String,ExprNamedParameterNode> namedExpressions, java.lang.String[] namedParameters) throws ExprValidationException
ExprValidationException
public static boolean validateNamedExpectType(ExprNamedParameterNode namedParameterNode, java.lang.Class[] expectedTypes) throws ExprValidationException
ExprValidationException
public static void acceptChain(ExprNodeVisitor visitor, java.util.List<ExprChainedSpec> chainSpec)
public static void acceptChain(ExprNodeVisitorWithParent visitor, java.util.List<ExprChainedSpec> chainSpec)
public static void acceptChain(ExprNodeVisitorWithParent visitor, java.util.List<ExprChainedSpec> chainSpec, ExprNode parent)
public static void replaceChildNode(ExprNode parentNode, ExprNode nodeToReplace, ExprNode newNode)
public static void replaceChainChildNode(ExprNode nodeToReplace, ExprNode newNode, java.util.List<ExprChainedSpec> chainSpec)
public static ExprNodePropOrStreamSet getNonAggregatedProps(EventType[] types, java.util.List<ExprNode> exprNodes, ContextPropertyRegistry contextPropertyRegistry)
public static void addNonAggregatedProps(ExprNode exprNode, ExprNodePropOrStreamSet set, EventType[] types, ContextPropertyRegistry contextPropertyRegistry)
public static ExprNodePropOrStreamSet getAggregatedProperties(java.util.List<ExprAggregateNode> aggregateNodes)
public static ExprEvaluator[] getEvaluators(ExprNode[] exprNodes)
public static ExprEvaluator[] getEvaluators(java.util.List<ExprNode> childNodes)
public static java.util.Set<java.lang.Integer> getIdentStreamNumbers(ExprNode child)
public static boolean hasRemoveStreamForAggregations(ExprNode child, StreamTypeService streamTypeService, boolean unidirectionalJoin)
child
- expression to interrogatestreamTypeService
- streams
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 evaluation
public static boolean applyFilterExpression(ExprEvaluator filter, EventBean[] eventsPerStream, ExprEvaluatorContext exprEvaluatorContext)
filter
- to applyeventsPerStream
- events per streamexprEvaluatorContext
- context for expression evaluation
public static boolean deepEquals(ExprNode nodeOne, ExprNode nodeTwo)
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 compare
public static boolean deepEquals(ExprNode[] one, ExprNode[] two)
one
- array of expressionstwo
- array of expressions
public static boolean deepEquals(java.util.List<ExprNode> one, java.util.List<ExprNode> two)
public static java.lang.String isMinimalExpression(ExprNode expression)
expression
- to inspect
public static void toExpressionString(java.util.List<ExprChainedSpec> chainSpec, java.io.StringWriter buffer, boolean prefixDot, java.lang.String functionName)
public static void toExpressionStringParameterList(java.util.List<ExprNode> parameters, java.io.StringWriter buffer)
public static void toExpressionStringIncludeParen(java.util.List<ExprNode> parameters, java.io.StringWriter buffer)
public static void validate(ExprNodeOrigin origin, java.util.List<ExprChainedSpec> chainSpec, ExprValidationContext validationContext) throws ExprValidationException
ExprValidationException
public static java.util.List<ExprNode> collectChainParameters(java.util.List<ExprChainedSpec> chainSpec)
public static void toExpressionStringParams(java.io.StringWriter writer, ExprNode[] params)
public static java.lang.String printEvaluators(ExprEvaluator[] evaluators)
public static ScheduleSpec toCrontabSchedule(ExprNodeOrigin origin, java.util.List<ExprNode> scheduleSpecExpressionList, StatementContext context, boolean allowBindingConsumption) throws ExprValidationException
ExprValidationException
public static java.lang.Object[] evaluateExpressions(ExprEvaluator[] parameters, ExprEvaluatorContext exprEvaluatorContext)
public static ExprNode[] toArray(java.util.Collection<ExprNode> expressions)
public static ExprDeclaredNode[] toArray(java.util.List<ExprDeclaredNode> declaredNodes)
public static ExprNodePropOrStreamSet getGroupByPropertiesValidateHasOne(ExprNode[] groupByNodes) throws ExprValidationException
ExprValidationException
|
© 2006-2015 EsperTech Inc. All rights reserved. Visit us at espertech.com |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |