Class ExprTableAccessNode
java.lang.Object
com.espertech.esper.common.internal.epl.expression.core.ExprNodeBase
com.espertech.esper.common.internal.epl.expression.table.ExprTableAccessNode
- All Implemented Interfaces:
ExprEvaluator
,ExprForge
,ExprForgeInstrumentable
,ExprNode
,ExprNodeRenderable
,ExprValidator
- Direct Known Subclasses:
ExprTableAccessNodeKeys
,ExprTableAccessNodeSubprop
,ExprTableAccessNodeTopLevel
public abstract class ExprTableAccessNode
extends ExprNodeBase
implements ExprForgeInstrumentable, ExprEvaluator
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ExprForge[]
protected ExprTableEvalStrategyFactoryForge
protected TableMetaData
protected final String
Fields inherited from interface com.espertech.esper.common.internal.epl.expression.core.ExprEvaluator
EPTYPE, EPTYPEARRAY
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
equalsNode
(ExprNode o, boolean ignoreStreamPrefix) Return true if a expression node semantically equals the current node, or false if not.protected abstract boolean
final Object
evaluate
(EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext context) Evaluate event tuple and return result.evaluateCodegen
(EPTypeClass requiredType, CodegenMethodScope parent, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) evaluateCodegenUninstrumented
(EPTypeClass requiredType, CodegenMethodScope codegenMethodScope, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) evaluateGetEventBeanCodegen
(CodegenMethodScope parent, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) evaluateGetROCollectionEventsCodegen
(CodegenMethodScope parent, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) evaluateGetROCollectionScalarCodegen
(CodegenMethodScope parent, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) final ExprForgeConstantType
protected abstract String
protected abstract CodegenExpression[]
final ExprPrecedenceEnum
Returns precedence.abstract ExprTableEvalStrategyFactoryForge
int
protected static CodegenExpression
makeEvaluate
(com.espertech.esper.common.internal.epl.expression.table.ExprTableAccessNode.AccessEvaluationType evaluationType, ExprTableAccessNode accessNode, EPType resultType, CodegenMethodScope parent, ExprForgeCodegenSymbol symbols, CodegenClassScope classScope) void
setTableAccessNumber
(int tableAccessNumber) protected void
toPrecedenceFreeEPLInternal
(StringWriter writer, ExprNodeRenderableFlags flags) protected void
toPrecedenceFreeEPLInternal
(StringWriter writer, String subprop, ExprNodeRenderableFlags flags) final ExprNode
validate
(ExprValidationContext validationContext) protected abstract void
validateBindingInternal
(ExprValidationContext validationContext) protected void
validateGroupKeys
(TableMetaData metadata, ExprValidationContext validationContext) protected TableMetadataColumn
validateSubpropertyGetCol
(TableMetaData tableMetadata, String subpropName) Methods inherited from class com.espertech.esper.common.internal.epl.expression.core.ExprNodeBase
accept, accept, acceptChildnodes, addChildNode, addChildNodes, addChildNodeToFront, checkValidated, checkValidatedException, getChildNodes, replaceUnlistedChildNode, setChildNode, setChildNodes, toEPL, toPrecedenceFreeEPL
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.espertech.esper.common.internal.epl.expression.core.ExprForge
getEvaluationType
-
Field Details
-
tableName
-
tableMeta
-
strategy
-
groupKeyEvaluators
-
-
Constructor Details
-
ExprTableAccessNode
Ctor. Getting a table name allows "eplToModel" without knowing tables.- Parameters:
tableName
- table name
-
-
Method Details
-
validateBindingInternal
protected abstract void validateBindingInternal(ExprValidationContext validationContext) throws ExprValidationException - Throws:
ExprValidationException
-
equalsNodeInternal
-
getInstrumentationQName
-
getInstrumentationQParams
-
getTableAccessFactoryForge
-
getTableName
-
validate
public final ExprNode validate(ExprValidationContext validationContext) throws ExprValidationException - Specified by:
validate
in interfaceExprValidator
- Throws:
ExprValidationException
-
validateGroupKeys
protected void validateGroupKeys(TableMetaData metadata, ExprValidationContext validationContext) throws ExprValidationException - Throws:
ExprValidationException
-
getPrecedence
Description copied from interface:ExprNode
Returns precedence.- Specified by:
getPrecedence
in interfaceExprNode
- Returns:
- precedence
-
getForgeRenderable
- Specified by:
getForgeRenderable
in interfaceExprForge
-
evaluateCodegenUninstrumented
public CodegenExpression evaluateCodegenUninstrumented(EPTypeClass requiredType, CodegenMethodScope codegenMethodScope, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) - Specified by:
evaluateCodegenUninstrumented
in interfaceExprForgeInstrumentable
-
evaluateCodegen
public CodegenExpression evaluateCodegen(EPTypeClass requiredType, CodegenMethodScope parent, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) - Specified by:
evaluateCodegen
in interfaceExprForge
-
evaluateGetROCollectionEventsCodegen
public CodegenExpression evaluateGetROCollectionEventsCodegen(CodegenMethodScope parent, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) -
evaluateGetROCollectionScalarCodegen
public CodegenExpression evaluateGetROCollectionScalarCodegen(CodegenMethodScope parent, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) -
evaluateGetEventBeanCodegen
public CodegenExpression evaluateGetEventBeanCodegen(CodegenMethodScope parent, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope) -
getForgeConstantType
- Specified by:
getForgeConstantType
in interfaceExprForge
-
getExprEvaluator
- Specified by:
getExprEvaluator
in interfaceExprForge
-
evaluate
public final Object evaluate(EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext context) Description copied from interface:ExprEvaluator
Evaluate event tuple and return result.- Specified by:
evaluate
in interfaceExprEvaluator
- Parameters:
eventsPerStream
- - event tupleisNewData
- - indicates whether we are dealing with new data (istream) or old data (rstream)context
- context for expression evaluation- Returns:
- evaluation result, a boolean value for OR/AND-type evalution nodes.
-
toPrecedenceFreeEPLInternal
protected void toPrecedenceFreeEPLInternal(StringWriter writer, String subprop, ExprNodeRenderableFlags flags) -
toPrecedenceFreeEPLInternal
-
validateSubpropertyGetCol
protected TableMetadataColumn validateSubpropertyGetCol(TableMetaData tableMetadata, String subpropName) throws ExprValidationException - Throws:
ExprValidationException
-
equalsNode
Description copied from interface:ExprNode
Return true if a expression node semantically equals the current node, or false if not.Concrete implementations should compare the type and any additional information that impact the evaluation of a node.
- Specified by:
equalsNode
in interfaceExprNode
- Parameters:
o
- to compare toignoreStreamPrefix
- when the equals-comparison can ignore prefix of event properties- Returns:
- true if semantically equal, or false if not equals
-
setTableAccessNumber
public void setTableAccessNumber(int tableAccessNumber) -
getTableAccessNumber
public int getTableAccessNumber() -
getTableMeta
-
makeEvaluate
protected static CodegenExpression makeEvaluate(com.espertech.esper.common.internal.epl.expression.table.ExprTableAccessNode.AccessEvaluationType evaluationType, ExprTableAccessNode accessNode, EPType resultType, CodegenMethodScope parent, ExprForgeCodegenSymbol symbols, CodegenClassScope classScope)
-