com.espertech.esper.epl.expression.table
Class ExprTableAccessNode

java.lang.Object
  extended by com.espertech.esper.epl.expression.core.ExprNodeBase
      extended by com.espertech.esper.epl.expression.table.ExprTableAccessNode
All Implemented Interfaces:
ExprNode, ExprValidator, MetaDefItem, java.io.Serializable
Direct Known Subclasses:
ExprTableAccessNodeKeys, ExprTableAccessNodeSubprop, ExprTableAccessNodeSubpropAccessor, ExprTableAccessNodeTopLevel

public abstract class ExprTableAccessNode
extends ExprNodeBase

See Also:
Serialized Form

Field Summary
protected  ExprEvaluator[] groupKeyEvaluators
           
protected  ExprTableAccessEvalStrategy strategy
           
protected  java.lang.String tableName
           
 
Constructor Summary
protected ExprTableAccessNode(java.lang.String tableName)
           
 
Method Summary
 boolean equalsNode(ExprNode o)
          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.
 java.lang.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(java.io.StringWriter writer)
           
protected  void toPrecedenceFreeEPLInternal(java.io.StringWriter writer, java.lang.String subprop)
           
 ExprNode validate(ExprValidationContext validationContext)
           
protected abstract  void validateBindingInternal(ExprValidationContext validationContext, TableMetadata tableMetadata)
           
protected  void validateGroupKeys(TableMetadata metadata)
           
protected  TableMetadataColumn validateSubpropertyGetCol(TableMetadata tableMetadata, java.lang.String subpropName)
           
 
Methods inherited from class com.espertech.esper.epl.expression.core.ExprNodeBase
accept, accept, acceptChildnodes, addChildNode, addChildNodes, addChildNodeToFront, getChildNodes, replaceUnlistedChildNode, setChildNode, setChildNodes, toEPL, toPrecedenceFreeEPL
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.espertech.esper.epl.expression.core.ExprNode
getExprEvaluator
 

Field Detail

tableName

protected final java.lang.String tableName

strategy

protected transient ExprTableAccessEvalStrategy strategy

groupKeyEvaluators

protected transient ExprEvaluator[] groupKeyEvaluators
Constructor Detail

ExprTableAccessNode

protected ExprTableAccessNode(java.lang.String tableName)
Method Detail

validateBindingInternal

protected abstract void validateBindingInternal(ExprValidationContext validationContext,
                                                TableMetadata tableMetadata)
                                         throws ExprValidationException
Throws:
ExprValidationException

equalsNodeInternal

protected abstract boolean equalsNodeInternal(ExprTableAccessNode other)

getTableName

public java.lang.String getTableName()

getGroupKeyEvaluators

public ExprEvaluator[] getGroupKeyEvaluators()

setStrategy

public void setStrategy(ExprTableAccessEvalStrategy strategy)

isConstantResult

public boolean isConstantResult()
Description copied from interface: ExprNode
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.

Returns:
true for constant evaluation value, false for non-constant evaluation value

validate

public final ExprNode validate(ExprValidationContext validationContext)
                        throws ExprValidationException
Throws:
ExprValidationException

validateGroupKeys

protected void validateGroupKeys(TableMetadata metadata)
                          throws ExprValidationException
Throws:
ExprValidationException

getPrecedence

public final ExprPrecedenceEnum getPrecedence()
Description copied from interface: ExprNode
Returns precedence.

Returns:
precedence

toPrecedenceFreeEPLInternal

protected void toPrecedenceFreeEPLInternal(java.io.StringWriter writer,
                                           java.lang.String subprop)

toPrecedenceFreeEPLInternal

protected void toPrecedenceFreeEPLInternal(java.io.StringWriter writer)

validateSubpropertyGetCol

protected TableMetadataColumn validateSubpropertyGetCol(TableMetadata tableMetadata,
                                                        java.lang.String subpropName)
                                                 throws ExprValidationException
Throws:
ExprValidationException

equalsNode

public boolean equalsNode(ExprNode o)
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.

Parameters:
o - to compare to
Returns:
true if semantically equal, or false if not equals

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

© 2006-2015 EsperTech Inc.
All rights reserved.
Visit us at espertech.com