trait ExpressionBuilder extends FunctionBuilderBase[Expression]
This is a trait used for scalar valued functions that defines how their expression representations are constructed in FunctionRegistry.
- Alphabetic
- By Inheritance
- ExpressionBuilder
- FunctionBuilderBase
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def build(funcName: String, expressions: Seq[Expression]): Expression
- Definition Classes
- FunctionBuilderBase
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def functionSignature: Option[FunctionSignature]
A method that returns the method signature for this function.
A method that returns the method signature for this function. Each function signature includes a list of parameters to which the analyzer can compare a function call with provided arguments to determine if that function call is a match for the function signature.
IMPORTANT: For now, each function expression builder should have only one function signature. Also, for any function signature, required arguments must always come before optional ones.
- Definition Classes
- FunctionBuilderBase
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def rearrange(expectedSignature: FunctionSignature, providedArguments: Seq[Expression], functionName: String): Seq[Expression]
This function rearranges the arguments provided during function invocation in positional order according to the function signature.
This function rearranges the arguments provided during function invocation in positional order according to the function signature. This method will fill in the default values if optional parameters do not have their values specified. Any function which supports named arguments will have this routine invoked, even if no named arguments are present in the argument list. This is done to eliminate constructor overloads in some methods which use them for default values prior to the implementation of the named argument framework. This function will also check if the number of arguments are correct. If that is not the case, then an error will be thrown.
IMPORTANT: This method will be called before the FunctionBuilderBase.build method is invoked. It is guaranteed that the expressions provided to the FunctionBuilderBase.build functions forms a valid set of argument expressions that can be used in the construction of the function expression.
- expectedSignature
The method signature which we rearrange our arguments according to
- providedArguments
The list of arguments passed from function invocation
- functionName
The name of the function
- returns
The rearranged argument list with arguments in positional order
- Definition Classes
- FunctionBuilderBase
- def supportsLambda: Boolean
- Definition Classes
- FunctionBuilderBase
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()