Class InvokeExpression
java.lang.Object
org.datanucleus.store.query.expression.Expression
org.datanucleus.store.query.expression.InvokeExpression
- All Implemented Interfaces:
Serializable
Expression representing invocation of a method.
This may be an aggregate in a result clause (like "count(this)"), or a method on a class, or a function.
The "left" expression is what we are invoking on. This is typically a PrimaryExpression, or an InvokeExpression.
This then allows chaining of invocations.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.datanucleus.store.query.expression.Expression
Expression.DyadicOperator, Expression.MonadicOperator, Expression.Operator
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) List
<Expression> Arguments for the method invocation.(package private) String
Name of the method to invoke.private static final long
Fields inherited from class org.datanucleus.store.query.expression.Expression
alias, left, op, OP_ADD, OP_AND, OP_BIT_AND, OP_BIT_OR, OP_BIT_XOR, OP_CAST, OP_COM, OP_CONCAT, OP_DISTINCT, OP_DIV, OP_EQ, OP_GT, OP_GTEQ, OP_IN, OP_IS, OP_ISNOT, OP_LIKE, OP_LT, OP_LTEQ, OP_MOD, OP_MUL, OP_NEG, OP_NOT, OP_NOTEQ, OP_NOTIN, OP_OR, OP_SUB, parent, right, symbol
-
Constructor Summary
ConstructorsConstructorDescriptionInvokeExpression
(Expression invoked, String methodName, List<Expression> args) Constructor for an expression for the invocation of a method/function. -
Method Summary
Modifier and TypeMethodDescriptionbind
(SymbolTable symtbl) Method to bind the expression to the symbol table as appropriate.Accessor for any arguments to be passed in the invocation.The method/function invoked.toString()
Method to return the string form of this expression.Method to return the string form of this without the alias component.
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
methodName
String methodNameName of the method to invoke. -
arguments
List<Expression> argumentsArguments for the method invocation.
-
-
Constructor Details
-
InvokeExpression
Constructor for an expression for the invocation of a method/function.- Parameters:
invoked
- Expression on which we are invokingmethodName
- Name of the methodargs
- Arguments passed in to the method/function call
-
-
Method Details
-
getOperation
The method/function invoked.- Returns:
- The method/function invoked.
-
getArguments
Accessor for any arguments to be passed in the invocation.- Returns:
- The arguments.
-
bind
Method to bind the expression to the symbol table as appropriate.- Specified by:
bind
in classExpression
- Parameters:
symtbl
- Symbol table- Returns:
- The symbol for this expression
-
toStringWithoutAlias
Method to return the string form of this without the alias component. This is useful when we want to compare expressions in a query compile, and the alias is not important to the comparison. Returns a String of the form "InvokeExpression{[left].methodName(args)}" or "InvokeExpression{STATIC.methodName(args)}".- Returns:
- The string form
-
toString
Method to return the string form of this expression. Returns a String of the form "InvokeExpression{[left].methodName(args)} AS alias" or "InvokeExpression{STATIC.methodName(args)} AS alias". where it only adds the "AS alias" when the alias is non-null.
-