public abstract class ExprTableAccessNode extends ExprNodeBase implements ExprForge
Modifier and Type | Field and Description |
---|---|
protected ExprEvaluator[] |
groupKeyEvaluators |
protected ExprTableAccessEvalStrategy |
strategy |
protected String |
tableName |
Modifier | Constructor and Description |
---|---|
protected |
ExprTableAccessNode(String tableName) |
Modifier and Type | Method and Description |
---|---|
boolean |
equalsNode(ExprNode o,
boolean ignoreStreamPrefix)
Return true if a expression node semantically equals the current node, or false if not.
|
protected abstract boolean |
equalsNodeInternal(ExprTableAccessNode other) |
ExprNodeRenderable |
getForgeRenderable() |
ExprEvaluator[] |
getGroupKeyEvaluators() |
ExprPrecedenceEnum |
getPrecedence()
Returns precedence.
|
String |
getTableName() |
int |
hashCode() |
boolean |
isConstantResult()
Returns true if the expression node's evaluation value doesn't depend on any events data,
as must be determined at validation time, which is bottom-up and therefore
reliably allows each node to determine constant value.
|
void |
setStrategy(ExprTableAccessEvalStrategy strategy) |
protected void |
toPrecedenceFreeEPLInternal(StringWriter writer) |
protected void |
toPrecedenceFreeEPLInternal(StringWriter writer,
String subprop) |
ExprNode |
validate(ExprValidationContext validationContext) |
protected abstract void |
validateBindingInternal(ExprValidationContext validationContext,
TableMetadata tableMetadata) |
protected void |
validateGroupKeys(TableMetadata metadata,
ExprValidationContext validationContext) |
protected TableMetadataColumn |
validateSubpropertyGetCol(TableMetadata tableMetadata,
String subpropName) |
accept, accept, acceptChildnodes, addChildNode, addChildNodes, addChildNodeToFront, getChildNodes, replaceUnlistedChildNode, setChildNode, setChildNodes, toEPL, toPrecedenceFreeEPL
clone, equals, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
evaluateCodegen, getComplexity, getEvaluationType, getExprEvaluator
protected final String tableName
protected transient ExprTableAccessEvalStrategy strategy
protected transient ExprEvaluator[] groupKeyEvaluators
protected ExprTableAccessNode(String tableName)
protected abstract void validateBindingInternal(ExprValidationContext validationContext, TableMetadata tableMetadata) throws ExprValidationException
ExprValidationException
protected abstract boolean equalsNodeInternal(ExprTableAccessNode other)
public String getTableName()
public ExprEvaluator[] getGroupKeyEvaluators()
public void setStrategy(ExprTableAccessEvalStrategy strategy)
public boolean isConstantResult()
ExprNode
isConstantResult
in interface ExprNode
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
protected 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 properties