public class ExprNewStructNode extends ExprNodeBase implements ExprEvaluatorTypableReturn
Constructor and Description |
---|
ExprNewStructNode(String[] columnNames) |
Modifier and Type | Method and Description |
---|---|
boolean |
equalsNode(ExprNode node,
boolean ignoreStreamPrefix)
Return true if a expression node semantically equals the current node, or false if not.
|
Object |
evaluate(EventBean[] eventsPerStream,
boolean isNewData,
ExprEvaluatorContext exprEvaluatorContext)
Evaluate event tuple and return result.
|
Object[][] |
evaluateTypableMulti(EventBean[] eventsPerStream,
boolean isNewData,
ExprEvaluatorContext context) |
Object[] |
evaluateTypableSingle(EventBean[] eventsPerStream,
boolean isNewData,
ExprEvaluatorContext context) |
String[] |
getColumnNames() |
ExprEvaluator |
getExprEvaluator() |
ExprPrecedenceEnum |
getPrecedence()
Returns precedence.
|
LinkedHashMap<String,Object> |
getRowProperties()
Return null to indicate no row-type result available,
or a map of property names and types to indicate a row-type result is available.
|
Class |
getType()
Returns the type that the node's evaluate method returns an instance of.
|
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.
|
Boolean |
isMultirow()
Return true for multi-row return, return false for return of single row only
|
void |
toPrecedenceFreeEPL(StringWriter writer) |
ExprNode |
validate(ExprValidationContext validationContext) |
accept, accept, acceptChildnodes, addChildNode, addChildNodes, addChildNodeToFront, getChildNodes, replaceUnlistedChildNode, setChildNode, setChildNodes, toEPL
public ExprNewStructNode(String[] columnNames)
public ExprEvaluator getExprEvaluator()
getExprEvaluator
in interface ExprNode
public ExprNode validate(ExprValidationContext validationContext) throws ExprValidationException
validate
in interface ExprValidator
ExprValidationException
public String[] getColumnNames()
public boolean isConstantResult()
ExprNode
isConstantResult
in interface ExprNode
public Class getType()
ExprEvaluator
getType
in interface ExprEvaluator
public LinkedHashMap<String,Object> getRowProperties() throws ExprValidationException
ExprEvaluatorTypableReturn
getRowProperties
in interface ExprEvaluatorTypableReturn
ExprValidationException
- if the expression is invalidpublic Object evaluate(EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext exprEvaluatorContext)
ExprEvaluator
evaluate
in interface ExprEvaluator
eventsPerStream
- - event tupleisNewData
- - indicates whether we are dealing with new data (istream) or old data (rstream)exprEvaluatorContext
- context for expression evaluationpublic Boolean isMultirow()
ExprEvaluatorTypableReturn
isMultirow
in interface ExprEvaluatorTypableReturn
public Object[] evaluateTypableSingle(EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext context)
evaluateTypableSingle
in interface ExprEvaluatorTypableReturn
public Object[][] evaluateTypableMulti(EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext context)
evaluateTypableMulti
in interface ExprEvaluatorTypableReturn
public boolean equalsNode(ExprNode node, boolean ignoreStreamPrefix)
ExprNode
Concrete implementations should compare the type and any additional information that impact the evaluation of a node.
equalsNode
in interface ExprNode
node
- to compare toignoreStreamPrefix
- when the equals-comparison can ignore prefix of event propertiespublic void toPrecedenceFreeEPL(StringWriter writer)
toPrecedenceFreeEPL
in class ExprNodeBase
public ExprPrecedenceEnum getPrecedence()
ExprNode
getPrecedence
in interface ExprNode