Package com.blazebit.expression
Class FunctionInvocation
- java.lang.Object
-
- com.blazebit.expression.AbstractExpression
-
- com.blazebit.expression.FunctionInvocation
-
- All Implemented Interfaces:
ArithmeticExpression
,Expression
public final class FunctionInvocation extends AbstractExpression implements ArithmeticExpression
A function invocation expression.- Since:
- 1.0.0
- Author:
- Christian Beikov
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.blazebit.expression.Expression
Expression.ResultVisitor<T>, Expression.Visitor
-
-
Constructor Summary
Constructors Constructor Description FunctionInvocation(com.blazebit.domain.runtime.model.DomainFunction function, Map<com.blazebit.domain.runtime.model.DomainFunctionArgument,Expression> arguments, com.blazebit.domain.runtime.model.DomainType type)
Creates a new function invocation expression from the given domain function and function argument assignments returning a result of the given domain type.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> T
accept(Expression.ResultVisitor<T> visitor)
Dynamic dispatch to one of the visit methods of the visitor, based on the runtime type.void
accept(Expression.Visitor visitor)
Dynamic dispatch to one of the visit methods of the visitor, based on the runtime type.boolean
equals(Object o)
Map<com.blazebit.domain.runtime.model.DomainFunctionArgument,Expression>
getArguments()
Returns the function argument assignments.com.blazebit.domain.runtime.model.DomainFunction
getFunction()
Returns the domain function.int
hashCode()
-
Methods inherited from class com.blazebit.expression.AbstractExpression
getType
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.blazebit.expression.Expression
getType, getUsedPaths
-
-
-
-
Constructor Detail
-
FunctionInvocation
public FunctionInvocation(com.blazebit.domain.runtime.model.DomainFunction function, Map<com.blazebit.domain.runtime.model.DomainFunctionArgument,Expression> arguments, com.blazebit.domain.runtime.model.DomainType type)
Creates a new function invocation expression from the given domain function and function argument assignments returning a result of the given domain type.- Parameters:
function
- The domain functionarguments
- The function argument assignmentstype
- The result domain type
-
-
Method Detail
-
getFunction
public com.blazebit.domain.runtime.model.DomainFunction getFunction()
Returns the domain function.- Returns:
- the domain function
-
getArguments
public Map<com.blazebit.domain.runtime.model.DomainFunctionArgument,Expression> getArguments()
Returns the function argument assignments.- Returns:
- the function argument assignments
-
accept
public void accept(Expression.Visitor visitor)
Dynamic dispatch to one of the visit methods of the visitor, based on the runtime type.- Specified by:
accept
in interfaceExpression
- Parameters:
visitor
- The visitor to call visit on
-
accept
public <T> T accept(Expression.ResultVisitor<T> visitor)
Dynamic dispatch to one of the visit methods of the visitor, based on the runtime type.- Specified by:
accept
in interfaceExpression
- Type Parameters:
T
- The result type- Parameters:
visitor
- The visitor to call visit on- Returns:
- the value as returned by the result visitor
-
equals
public boolean equals(Object o)
- Overrides:
equals
in classAbstractExpression
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classAbstractExpression
-
-