Class

io.projectglow.SparkShim

QuaternaryExpression

Related Doc: package SparkShim

Permalink

abstract class QuaternaryExpression extends Expression

An expression with four inputs and one output. The output is by default evaluated to null if any input is evaluated to null.

Linear Supertypes
Expression, TreeNode[Expression], Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. QuaternaryExpression
  2. Expression
  3. TreeNode
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new QuaternaryExpression()

    Permalink

Abstract Value Members

  1. abstract def canEqual(that: Any): Boolean

    Permalink
    Definition Classes
    Equals
  2. abstract def children: Seq[Expression]

    Permalink
    Definition Classes
    TreeNode
  3. abstract def dataType: DataType

    Permalink
    Definition Classes
    Expression
  4. abstract def doGenCode(ctx: CodegenContext, ev: ExprCode): ExprCode

    Permalink
    Attributes
    protected
    Definition Classes
    Expression
  5. abstract def productArity: Int

    Permalink
    Definition Classes
    Product
  6. abstract def productElement(n: Int): Any

    Permalink
    Definition Classes
    Product

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def apply(number: Int): TreeNode[_]

    Permalink
    Definition Classes
    TreeNode
  5. def argString: String

    Permalink
    Definition Classes
    TreeNode
  6. def asCode: String

    Permalink
    Definition Classes
    TreeNode
  7. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  8. lazy val canonicalized: Expression

    Permalink
    Definition Classes
    Expression
  9. def checkInputDataTypes(): TypeCheckResult

    Permalink
    Definition Classes
    Expression
  10. def childrenResolved: Boolean

    Permalink
    Definition Classes
    Expression
  11. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. def collect[B](pf: PartialFunction[Expression, B]): Seq[B]

    Permalink
    Definition Classes
    TreeNode
  13. def collectFirst[B](pf: PartialFunction[Expression, B]): Option[B]

    Permalink
    Definition Classes
    TreeNode
  14. def collectLeaves(): Seq[Expression]

    Permalink
    Definition Classes
    TreeNode
  15. lazy val containsChild: Set[TreeNode[_]]

    Permalink
    Definition Classes
    TreeNode
  16. def defineCodeGen(ctx: CodegenContext, ev: ExprCode, f: (String, String, String, String) ⇒ String): ExprCode

    Permalink

    Short hand for generating quaternary evaluation code.

    Short hand for generating quaternary evaluation code. If either of the sub-expressions is null, the result of this computation is assumed to be null.

    f

    accepts four variable names and returns Java code to compute the output.

    Attributes
    protected
  17. lazy val deterministic: Boolean

    Permalink
    Definition Classes
    Expression
  18. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  19. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  20. def eval(input: InternalRow): Any

    Permalink

    Default behavior of evaluation according to the default nullability of QuaternaryExpression.

    Default behavior of evaluation according to the default nullability of QuaternaryExpression. If subclass of QuaternaryExpression override nullable, probably should also override this.

    Definition Classes
    QuaternaryExpression → Expression
  21. def fastEquals(other: TreeNode[_]): Boolean

    Permalink
    Definition Classes
    TreeNode
  22. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  23. def find(f: (Expression) ⇒ Boolean): Option[Expression]

    Permalink
    Definition Classes
    TreeNode
  24. def flatArguments: Iterator[Any]

    Permalink
    Attributes
    protected
    Definition Classes
    Expression
  25. def flatMap[A](f: (Expression) ⇒ TraversableOnce[A]): Seq[A]

    Permalink
    Definition Classes
    TreeNode
  26. def foldable: Boolean

    Permalink
    Definition Classes
    QuaternaryExpression → Expression
  27. def foreach(f: (Expression) ⇒ Unit): Unit

    Permalink
    Definition Classes
    TreeNode
  28. def foreachUp(f: (Expression) ⇒ Unit): Unit

    Permalink
    Definition Classes
    TreeNode
  29. def genCode(ctx: CodegenContext): ExprCode

    Permalink
    Definition Classes
    Expression
  30. def generateTreeString(depth: Int, lastChildren: Seq[Boolean], builder: StringBuilder, verbose: Boolean, prefix: String, addSuffix: Boolean): StringBuilder

    Permalink
    Definition Classes
    TreeNode
  31. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  32. def hashCode(): Int

    Permalink
    Definition Classes
    TreeNode → AnyRef → Any
  33. def innerChildren: Seq[TreeNode[_]]

    Permalink
    Attributes
    protected
    Definition Classes
    TreeNode
  34. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  35. def jsonFields: List[JField]

    Permalink
    Attributes
    protected
    Definition Classes
    TreeNode
  36. def makeCopy(newArgs: Array[AnyRef]): Expression

    Permalink
    Definition Classes
    TreeNode
  37. def map[A](f: (Expression) ⇒ A): Seq[A]

    Permalink
    Definition Classes
    TreeNode
  38. def mapChildren(f: (Expression) ⇒ Expression): Expression

    Permalink
    Definition Classes
    TreeNode
  39. def mapProductIterator[B](f: (Any) ⇒ B)(implicit arg0: ClassTag[B]): Array[B]

    Permalink
    Attributes
    protected
    Definition Classes
    TreeNode
  40. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  41. def nodeName: String

    Permalink
    Definition Classes
    TreeNode
  42. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  43. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  44. def nullSafeCodeGen(ctx: CodegenContext, ev: ExprCode, f: (String, String, String, String) ⇒ String): ExprCode

    Permalink

    Short hand for generating quaternary evaluation code.

    Short hand for generating quaternary evaluation code. If either of the sub-expressions is null, the result of this computation is assumed to be null.

    f

    function that accepts the 4 non-null evaluation result names of children and returns Java code to compute the output.

    Attributes
    protected
  45. def nullSafeEval(input1: Any, input2: Any, input3: Any, input4: Any): Any

    Permalink

    Called by default eval implementation.

    Called by default eval implementation. If subclass of QuaternaryExpression keep the default nullability, they can override this method to save null-check code. If we need full control of evaluation process, we should override eval.

    Attributes
    protected
  46. def nullable: Boolean

    Permalink
    Definition Classes
    QuaternaryExpression → Expression
  47. def numberedTreeString: String

    Permalink
    Definition Classes
    TreeNode
  48. val origin: Origin

    Permalink
    Definition Classes
    TreeNode
  49. def otherCopyArgs: Seq[AnyRef]

    Permalink
    Attributes
    protected
    Definition Classes
    TreeNode
  50. def p(number: Int): Expression

    Permalink
    Definition Classes
    TreeNode
  51. def prettyJson: String

    Permalink
    Definition Classes
    TreeNode
  52. def prettyName: String

    Permalink
    Definition Classes
    Expression
  53. def productIterator: Iterator[Any]

    Permalink
    Definition Classes
    Product
  54. def productPrefix: String

    Permalink
    Definition Classes
    Product
  55. def references: AttributeSet

    Permalink
    Definition Classes
    Expression
  56. lazy val resolved: Boolean

    Permalink
    Definition Classes
    Expression
  57. def semanticEquals(other: Expression): Boolean

    Permalink
    Definition Classes
    Expression
  58. def semanticHash(): Int

    Permalink
    Definition Classes
    Expression
  59. def simpleString: String

    Permalink
    Definition Classes
    Expression → TreeNode
  60. def sql: String

    Permalink
    Definition Classes
    Expression
  61. def stringArgs: Iterator[Any]

    Permalink
    Attributes
    protected
    Definition Classes
    TreeNode
  62. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  63. def toJSON: String

    Permalink
    Definition Classes
    TreeNode
  64. def toString(): String

    Permalink
    Definition Classes
    Expression → TreeNode → AnyRef → Any
  65. def transform(rule: PartialFunction[Expression, Expression]): Expression

    Permalink
    Definition Classes
    TreeNode
  66. def transformDown(rule: PartialFunction[Expression, Expression]): Expression

    Permalink
    Definition Classes
    TreeNode
  67. def transformUp(rule: PartialFunction[Expression, Expression]): Expression

    Permalink
    Definition Classes
    TreeNode
  68. def treeString(verbose: Boolean, addSuffix: Boolean): String

    Permalink
    Definition Classes
    TreeNode
  69. def treeString: String

    Permalink
    Definition Classes
    TreeNode
  70. final def verboseString: String

    Permalink
    Definition Classes
    Expression → TreeNode
  71. def verboseStringWithSuffix: String

    Permalink
    Definition Classes
    TreeNode
  72. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  73. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  74. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  75. def withNewChildren(newChildren: Seq[Expression]): Expression

    Permalink
    Definition Classes
    TreeNode

Inherited from Expression

Inherited from TreeNode[Expression]

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped