public abstract class ExprTableAccessNode extends ExprNodeBase implements ExprForgeInstrumentable, ExprEvaluator
Modifier and Type | Field and Description |
---|---|
protected ExprForge[] |
groupKeyEvaluators |
protected ExprTableEvalStrategyFactoryForge |
strategy |
protected TableMetaData |
tableMeta |
protected String |
tableName |
Constructor and Description |
---|
ExprTableAccessNode(String tableName)
Ctor.
|
accept, accept, acceptChildnodes, addChildNode, addChildNodes, addChildNodeToFront, checkValidated, checkValidatedException, getChildNodes, replaceUnlistedChildNode, setChildNode, setChildNodes, toEPL, toPrecedenceFreeEPL
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getEvaluationType
protected final String tableName
protected TableMetaData tableMeta
protected ExprTableEvalStrategyFactoryForge strategy
protected ExprForge[] groupKeyEvaluators
public ExprTableAccessNode(String tableName)
tableName
- table nameprotected abstract void validateBindingInternal(ExprValidationContext validationContext) throws ExprValidationException
ExprValidationException
protected abstract boolean equalsNodeInternal(ExprTableAccessNode other)
protected abstract String getInstrumentationQName()
protected abstract CodegenExpression[] getInstrumentationQParams()
public abstract ExprTableEvalStrategyFactoryForge getTableAccessFactoryForge()
public String getTableName()
public final ExprNode validate(ExprValidationContext validationContext) throws ExprValidationException
validate
in interface ExprValidator
ExprValidationException
protected void validateGroupKeys(TableMetaData metadata, ExprValidationContext validationContext) throws ExprValidationException
ExprValidationException
public final ExprPrecedenceEnum getPrecedence()
ExprNode
getPrecedence
in interface ExprNode
public ExprNodeRenderable getForgeRenderable()
getForgeRenderable
in interface ExprForge
public CodegenExpression evaluateCodegenUninstrumented(Class requiredType, CodegenMethodScope codegenMethodScope, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope)
evaluateCodegenUninstrumented
in interface ExprForgeInstrumentable
public CodegenExpression evaluateCodegen(Class requiredType, CodegenMethodScope parent, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope)
evaluateCodegen
in interface ExprForge
public CodegenExpression evaluateGetROCollectionEventsCodegen(CodegenMethodScope parent, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope)
public CodegenExpression evaluateGetROCollectionScalarCodegen(CodegenMethodScope parent, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope)
public CodegenExpression evaluateGetEventBeanCodegen(CodegenMethodScope parent, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope)
public final ExprForgeConstantType getForgeConstantType()
getForgeConstantType
in interface ExprForge
public ExprEvaluator getExprEvaluator()
getExprEvaluator
in interface ExprForge
public final Object evaluate(EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext context)
ExprEvaluator
evaluate
in interface ExprEvaluator
eventsPerStream
- - event tupleisNewData
- - indicates whether we are dealing with new data (istream) or old data (rstream)context
- context for expression evaluationprotected void toPrecedenceFreeEPLInternal(StringWriter writer, String subprop)
protected void toPrecedenceFreeEPLInternal(StringWriter writer)
protected TableMetadataColumn validateSubpropertyGetCol(TableMetaData tableMetadata, String subpropName) throws ExprValidationException
ExprValidationException
public boolean equalsNode(ExprNode o, boolean ignoreStreamPrefix)
ExprNode
Concrete implementations should compare the type and any additional information that impact the evaluation of a node.
equalsNode
in interface ExprNode
o
- to compare toignoreStreamPrefix
- when the equals-comparison can ignore prefix of event propertiespublic void setTableAccessNumber(int tableAccessNumber)
public int getTableAccessNumber()
protected static CodegenExpression makeEvaluate(com.espertech.esper.common.internal.epl.expression.table.ExprTableAccessNode.AccessEvaluationType evaluationType, ExprTableAccessNode accessNode, Class resultType, CodegenMethodScope parent, ExprForgeCodegenSymbol symbols, CodegenClassScope classScope)
Copyright © 2005–2018. All rights reserved.