Class AbstractFunctionExpression<T,R>
- java.lang.Object
-
- org.apache.qpid.server.query.engine.parsing.expression.AbstractExpressionNode<T,R>
-
- org.apache.qpid.server.query.engine.parsing.expression.function.AbstractFunctionExpression<T,R>
-
- Type Parameters:
T- Input parameter typeR- Output parameter type
- All Implemented Interfaces:
java.util.function.Function<T,R>,Expression<T,R>,ExpressionNode<T,R>
- Direct Known Subclasses:
AbsExpression,AbstractAggregationExpression,CoalesceExpression,ConcatExpression,CurrentTimestampExpression,DateAddExpression,DateDiffExpression,DateExpression,ExtractExpression,LeftTrimExpression,LengthExpression,LowerExpression,PositionExpression,ReplaceExpression,RightTrimExpression,RoundExpression,SubstringExpression,TrimExpression,TruncExpression,UpperExpression
public abstract class AbstractFunctionExpression<T,R> extends AbstractExpressionNode<T,R>
Parent for function expression classes
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String_functionNameFunction name-
Fields inherited from class org.apache.qpid.server.query.engine.parsing.expression.AbstractExpressionNode
_metadata
-
-
Constructor Summary
Constructors Constructor Description AbstractFunctionExpression(java.lang.String alias, java.util.List<ExpressionNode<T,?>> args)Constructor initializes children expression list
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected <X,Y>
YevaluateChild(int index, X value, FunctionParameterTypePredicate<Y> typePredicate)Evaluates child expression against the value supplied and validates the result against the validatorjava.lang.StringgetFunctionName()Getter for function name<X,Y>
java.util.Optional<Y>getOptionalConstantParameter(int index, java.lang.Class<Y> type, java.lang.String message)Evaluates nullable constant expression.<X,Y>
java.util.Optional<Y>getOptionalParameter(int index, X value, java.lang.Class<Y> type, java.lang.String message)Evaluates nullable expression using value supplied and performs validation checks of result.<X,Y>
YgetRequiredParameter(int index, X value, java.lang.Class<Y> type, java.lang.String message)Evaluates expression using value supplied and performs validation checks of result.-
Methods inherited from class org.apache.qpid.server.query.engine.parsing.expression.AbstractExpressionNode
containsAggregation, ctx, evaluateChild, getAggregations, getAlias, getChild, getChildren, getParent, isAccessor, isInstantlyEvaluable, setAlias, setParent, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.qpid.server.query.engine.parsing.expression.Expression
andThen, apply
-
-
-
-
Constructor Detail
-
AbstractFunctionExpression
public AbstractFunctionExpression(java.lang.String alias, java.util.List<ExpressionNode<T,?>> args)Constructor initializes children expression list- Parameters:
alias- Expression aliasargs- List of children expressions
-
-
Method Detail
-
getFunctionName
public java.lang.String getFunctionName()
Getter for function name- Returns:
- Function name
-
evaluateChild
protected <X,Y> Y evaluateChild(int index, X value, FunctionParameterTypePredicate<Y> typePredicate)Evaluates child expression against the value supplied and validates the result against the validator- Type Parameters:
X- Value typeY- Result type- Parameters:
index- Child expression indexvalue- Value used to evaluate child expressiontypePredicate- Predicate used for result validation- Returns:
- Result of child expression evaluation
-
getRequiredParameter
public <X,Y> Y getRequiredParameter(int index, X value, java.lang.Class<Y> type, java.lang.String message)Evaluates expression using value supplied and performs validation checks of result. Returns result if checks succeeded, throws an exception otherwise.- Type Parameters:
X- Input parameter typeY- Return parameter type- Parameters:
index- Child expression index to evaluatevalue- Value to pass to expressiontype- Expected result typemessage- Exception message- Returns:
- Evaluated result
-
getOptionalParameter
public <X,Y> java.util.Optional<Y> getOptionalParameter(int index, X value, java.lang.Class<Y> type, java.lang.String message)Evaluates nullable expression using value supplied and performs validation checks of result. Returns an empty Optional when expression is null, otherwise returns evaluated result wrapped into Optional.- Type Parameters:
X- Input parameter typeY- Return parameter type- Parameters:
index- Child expression index to evaluatevalue- Value to pass to expressiontype- Expected result typemessage- Exception message- Returns:
- Optional result
-
getOptionalConstantParameter
public <X,Y> java.util.Optional<Y> getOptionalConstantParameter(int index, java.lang.Class<Y> type, java.lang.String message)Evaluates nullable constant expression. Returns an empty Optional when expression is null, otherwise returns evaluated result wrapped into Optional.- Type Parameters:
X- Input parameter typeY- Return parameter type- Parameters:
index- Child expression index to evaluatetype- Expected result typemessage- Exception message- Returns:
- Optional result
-
-