public class ExprTableIdentNodeSubpropAccessor extends ExprNodeBase implements ExprForgeInstrumentable, ExprEvaluator, ExprEnumerationForge, ExprEnumerationEval
Constructor and Description |
---|
ExprTableIdentNodeSubpropAccessor(int streamNum,
String optionalStreamName,
TableMetaData table,
TableMetadataColumnAggregation tableAccessColumn,
ExprNode aggregateAccessMultiValueNode) |
accept, accept, acceptChildnodes, addChildNode, addChildNodes, addChildNodeToFront, checkValidated, checkValidatedException, getChildNodes, replaceUnlistedChildNode, setChildNode, setChildNodes, toEPL
public ExprTableIdentNodeSubpropAccessor(int streamNum, String optionalStreamName, TableMetaData table, TableMetadataColumnAggregation tableAccessColumn, ExprNode aggregateAccessMultiValueNode)
public ExprNode validate(ExprValidationContext validationContext) throws ExprValidationException
validate
in interface ExprValidator
ExprValidationException
public CodegenExpression evaluateCodegenUninstrumented(Class requiredType, CodegenMethodScope parent, ExprForgeCodegenSymbol symbols, CodegenClassScope classScope)
evaluateCodegenUninstrumented
in interface ExprForgeInstrumentable
public CodegenExpression evaluateCodegen(Class requiredType, CodegenMethodScope parent, ExprForgeCodegenSymbol symbols, CodegenClassScope classScope)
evaluateCodegen
in interface ExprForge
public Class getEvaluationType()
getEvaluationType
in interface ExprForge
public ExprNodeRenderable getForgeRenderable()
getForgeRenderable
in interface ExprEnumerationForge
getForgeRenderable
in interface ExprForge
public ExprEvaluator getExprEvaluator()
getExprEvaluator
in interface ExprForge
public ExprEnumerationEval getExprEvaluatorEnumeration()
getExprEvaluatorEnumeration
in interface ExprEnumerationForge
public CodegenExpression evaluateGetROCollectionEventsCodegen(CodegenMethodScope parent, ExprForgeCodegenSymbol symbols, CodegenClassScope classScope)
evaluateGetROCollectionEventsCodegen
in interface ExprEnumerationForge
public Object evaluate(EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext exprEvaluatorContext)
ExprEvaluator
evaluate
in interface ExprEvaluator
eventsPerStream
- - event tupleisNewData
- - indicates whether we are dealing with new data (istream) or old data (rstream)exprEvaluatorContext
- context for expression evaluationpublic EventType getEventTypeCollection(StatementRawInfo statementRawInfo, StatementCompileTimeServices compileTimeServices) throws ExprValidationException
getEventTypeCollection
in interface ExprEnumerationForge
ExprValidationException
public Collection<EventBean> evaluateGetROCollectionEvents(EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext context)
evaluateGetROCollectionEvents
in interface ExprEnumerationEval
public Class getComponentTypeCollection() throws ExprValidationException
getComponentTypeCollection
in interface ExprEnumerationForge
ExprValidationException
public Collection evaluateGetROCollectionScalar(EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext context)
evaluateGetROCollectionScalar
in interface ExprEnumerationEval
public CodegenExpression evaluateGetROCollectionScalarCodegen(CodegenMethodScope parent, ExprForgeCodegenSymbol symbols, CodegenClassScope classScope)
evaluateGetROCollectionScalarCodegen
in interface ExprEnumerationForge
public EventType getEventTypeSingle(StatementRawInfo statementRawInfo, StatementCompileTimeServices compileTimeServices) throws ExprValidationException
getEventTypeSingle
in interface ExprEnumerationForge
ExprValidationException
public EventBean evaluateGetEventBean(EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext context)
evaluateGetEventBean
in interface ExprEnumerationEval
public CodegenExpression evaluateGetEventBeanCodegen(CodegenMethodScope codegenMethodScope, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope)
evaluateGetEventBeanCodegen
in interface ExprEnumerationForge
public void toPrecedenceFreeEPL(StringWriter writer)
toPrecedenceFreeEPL
in class ExprNodeBase
public ExprPrecedenceEnum getPrecedence()
ExprNode
getPrecedence
in interface ExprNode
public boolean isConstantResult()
public boolean equalsNode(ExprNode node, boolean ignoreStreamPrefix)
ExprNode
Concrete implementations should compare the type and any additional information that impact the evaluation of a node.
equalsNode
in interface ExprNode
node
- to compare toignoreStreamPrefix
- when the equals-comparison can ignore prefix of event propertiespublic ExprForgeConstantType getForgeConstantType()
getForgeConstantType
in interface ExprForge
public static Object evaluateTableWithReader(int streamNum, AggregationMultiFunctionTableReader reader, int aggColNum, EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext exprEvaluatorContext)
streamNum
- stream numberreader
- readeraggColNum
- agg coleventsPerStream
- eventsisNewData
- new-data flagexprEvaluatorContext
- expr ctxpublic static Collection evaluateTableWithReaderCollectionEvents(int streamNum, AggregationMultiFunctionTableReader reader, int aggColNum, EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext exprEvaluatorContext)
streamNum
- stream numberreader
- readeraggColNum
- agg coleventsPerStream
- eventsisNewData
- new-data flagexprEvaluatorContext
- expr ctxpublic static Collection evaluateTableWithReaderCollectionScalar(int streamNum, AggregationMultiFunctionTableReader reader, int aggColNum, EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext exprEvaluatorContext)
streamNum
- stream numberreader
- readeraggColNum
- agg coleventsPerStream
- eventsisNewData
- new-data flagexprEvaluatorContext
- expr ctxCopyright © 2005–2018. All rights reserved.