public class ExprDotNodeForgeStaticMethodEval extends Object implements ExprEvaluator, EventPropertyGetter
Modifier and Type | Field and Description |
---|---|
static String |
METHOD_STATICMETHODEVALHANDLEINVOCATIONEXCEPTION |
EPTYPE, EPTYPEARRAY
Constructor and Description |
---|
ExprDotNodeForgeStaticMethodEval(ExprDotNodeForgeStaticMethod forge,
ExprEvaluator[] childEvals,
ExprDotEval[] chainEval) |
Modifier and Type | Method and Description |
---|---|
static CodegenExpression |
codegenExprEval(ExprDotNodeForgeStaticMethod forge,
CodegenMethodScope codegenMethodScope,
ExprForgeCodegenSymbol exprSymbol,
CodegenClassScope codegenClassScope) |
static CodegenExpression |
codegenGet(CodegenExpression beanExpression,
ExprDotNodeForgeStaticMethod forge,
CodegenMethodScope codegenMethodScope,
CodegenClassScope codegenClassScope) |
Object |
evaluate(EventBean[] eventsPerStream,
boolean isNewData,
ExprEvaluatorContext exprEvaluatorContext)
Evaluate event tuple and return result.
|
Object |
get(EventBean eventBean)
Return the value for the property in the event object specified when the instance was obtained.
|
Object |
getFragment(EventBean eventBean)
|
boolean |
isExistsProperty(EventBean eventBean)
Returns true if the property exists, or false if the type does not have such a property.
|
static void |
staticMethodEvalHandleInvocationException(String optionalStatementName,
String methodName,
Class[] parameterTypes,
String classOrPropertyName,
Object[] args,
Throwable thrown,
boolean rethrow)
NOTE: Code-generation-invoked method, method name and parameter order matters
|
public static final String METHOD_STATICMETHODEVALHANDLEINVOCATIONEXCEPTION
public ExprDotNodeForgeStaticMethodEval(ExprDotNodeForgeStaticMethod forge, ExprEvaluator[] childEvals, ExprDotEval[] chainEval)
public 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 static CodegenExpression codegenExprEval(ExprDotNodeForgeStaticMethod forge, CodegenMethodScope codegenMethodScope, ExprForgeCodegenSymbol exprSymbol, CodegenClassScope codegenClassScope)
public Object get(EventBean eventBean) throws PropertyAccessException
EventPropertyValueGetter
get
in interface EventPropertyValueGetter
eventBean
- is the event to get the value of a property fromPropertyAccessException
- to indicate that property access failedpublic static CodegenExpression codegenGet(CodegenExpression beanExpression, ExprDotNodeForgeStaticMethod forge, CodegenMethodScope codegenMethodScope, CodegenClassScope codegenClassScope)
public boolean isExistsProperty(EventBean eventBean)
EventPropertyGetter
Useful for dynamic properties of the syntax "property?" and the dynamic nested/indexed/mapped versions. Dynamic nested properties follow the syntax "property?.nested" which is equivalent to "property?.nested?". If any of the properties in the path of a dynamic nested property return null, the dynamic nested property does not exists and the method returns false.
For non-dynamic properties, this method always returns true since a getter would not be available unless
isExistsProperty
in interface EventPropertyGetter
eventBean
- is the event to check if the dynamic property existspublic Object getFragment(EventBean eventBean) throws PropertyAccessException
EventPropertyGetter
EventBean
or array of EventBean
for a property name or property expression.
For use with properties whose value is itself an event or whose value can be represented as an event by the underlying event representation.
The EventType
of the EventBean
instance(s) returned by this method can be determined by
EventType.getFragmentType(String)
. Use EventPropertyDescriptor
to
obtain a list of properties that return fragments from an event type.
Returns null if the property value is null or the property value cannot be represented as a fragment by the underlying representation.
getFragment
in interface EventPropertyGetter
eventBean
- is the event to get the fragment value of a propertyPropertyAccessException
- - if there is no property of the specified name, or the property cannot be accessedpublic static void staticMethodEvalHandleInvocationException(String optionalStatementName, String methodName, Class[] parameterTypes, String classOrPropertyName, Object[] args, Throwable thrown, boolean rethrow)
optionalStatementName
- stmt namemethodName
- methodNameparameterTypes
- param typesclassOrPropertyName
- target nameargs
- argsthrown
- exceptionrethrow
- indicator whether to rethrowCopyright © 2005–2021. All rights reserved.