Class InvokeExpression
- java.lang.Object
-
- org.datanucleus.store.query.expression.Expression
-
- org.datanucleus.store.query.expression.InvokeExpression
-
- All Implemented Interfaces:
Serializable
public class InvokeExpression extends Expression
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:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.datanucleus.store.query.expression.Expression
Expression.DyadicOperator, Expression.MonadicOperator, Expression.Operator
-
-
Field Summary
-
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
Constructors Constructor Description InvokeExpression(Expression invoked, String methodName, List<Expression> args)
Constructor for an expression for the invocation of a method/function.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Symbol
bind(SymbolTable symtbl)
Method to bind the expression to the symbol table as appropriate.List<Expression>
getArguments()
Accessor for any arguments to be passed in the invocation.String
getOperation()
The method/function invoked.String
toString()
Method to return the string form of this expression.String
toStringWithoutAlias()
Method to return the string form of this without the alias component.
-
-
-
Constructor Detail
-
InvokeExpression
public InvokeExpression(Expression invoked, String methodName, List<Expression> args)
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 Detail
-
getOperation
public String getOperation()
The method/function invoked.- Returns:
- The method/function invoked.
-
getArguments
public List<Expression> getArguments()
Accessor for any arguments to be passed in the invocation.- Returns:
- The arguments.
-
bind
public Symbol bind(SymbolTable symtbl)
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
public String 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
public String 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.
-
-