public abstract class ExprTableAccessNode extends ExprNodeBase
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) |
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) |
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
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
public final ExprNode validate(ExprValidationContext validationContext) throws ExprValidationException
ExprValidationException
protected void validateGroupKeys(TableMetadata metadata) throws ExprValidationException
ExprValidationException
public final ExprPrecedenceEnum getPrecedence()
ExprNode
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.
o
- to compare toignoreStreamPrefix
- when the equals-comparison can ignore prefix of event properties