net.esper.eql.expression
Class ExprStaticMethodNode

java.lang.Object
  extended by net.esper.eql.expression.ExprNode
      extended by net.esper.eql.expression.ExprStaticMethodNode
All Implemented Interfaces:
ExprEvaluator, ExprValidator, MetaDefItem

public class ExprStaticMethodNode
extends ExprNode

Represents an invocation of a static library method in the expression tree.


Nested Class Summary
 
Nested classes/interfaces inherited from class net.esper.eql.expression.ExprNode
ExprNode.MappedPropertyParseResult
 
Constructor Summary
ExprStaticMethodNode(String className, String methodName)
          Ctor.
 
Method Summary
 boolean equalsNode(ExprNode node)
          Return true if a expression node semantically equals the current node, or false if not.
 Object evaluate(EventBean[] eventsPerStream, boolean isNewData)
          Evaluate event tuple and return result.
 String getClassName()
          Returns the class name.
 String getMethodName()
          Returns the method name.
 Class[] getParamTypes()
          Returns parameter descriptor.
protected  Method getStaticMethod()
          Returns the static method.
 Class getType()
          Returns the type that the node's evaluate method returns an instance of.
 String toExpressionString()
          Returns the expression node rendered as a string.
 void validate(StreamTypeService streamTypeService, AutoImportService autoImportService, ViewResourceDelegate viewResourceDelegate)
          Validate node.
 
Methods inherited from class net.esper.eql.expression.ExprNode
accept, addChildNode, deepEquals, dumpDebug, getChildNodes, getValidatedSubtree, parseMappedProperty
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExprStaticMethodNode

public ExprStaticMethodNode(String className,
                            String methodName)
Ctor.

Parameters:
className - - the declaring class for the method that this node will invoke
methodName - - the name of the method that this node will invoke
Method Detail

getStaticMethod

protected Method getStaticMethod()
Returns the static method.

Returns:
the static method that this node invokes

getClassName

public String getClassName()
Returns the class name.

Returns:
the class that declared the static method

getMethodName

public String getMethodName()
Returns the method name.

Returns:
the name of the method

getParamTypes

public Class[] getParamTypes()
Returns parameter descriptor.

Returns:
the types of the child nodes of this node

toExpressionString

public String toExpressionString()
Description copied from class: ExprNode
Returns the expression node rendered as a string.

Specified by:
toExpressionString in class ExprNode
Returns:
string rendering of expression

equalsNode

public boolean equalsNode(ExprNode node)
Description copied from class: 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 class ExprNode
Parameters:
node - to compare to
Returns:
true if semantically equal, or false if not equals

validate

public void validate(StreamTypeService streamTypeService,
                     AutoImportService autoImportService,
                     ViewResourceDelegate viewResourceDelegate)
              throws ExprValidationException
Description copied from interface: ExprValidator
Validate node.

Parameters:
streamTypeService - serves stream event type info
autoImportService - - for resolving class names in library method invocations
viewResourceDelegate - - delegates for view resources to expression nodes
Throws:
ExprValidationException - thrown when validation failed

getType

public Class getType()
              throws ExprValidationException
Description copied from interface: ExprValidator
Returns the type that the node's evaluate method returns an instance of.

Returns:
type returned when evaluated
Throws:
ExprValidationException - thrown when validation failed

evaluate

public Object evaluate(EventBean[] eventsPerStream,
                       boolean isNewData)
Description copied from interface: ExprEvaluator
Evaluate event tuple and return result.

Parameters:
eventsPerStream - - event tuple
isNewData - - indicates whether we are dealing with new data (istream) or old data (rstream)
Returns:
evaluation result, a boolean value for OR/AND-type evalution nodes.