Class ClassGenerator.HoldingContainer

java.lang.Object
org.apache.drill.exec.expr.ClassGenerator.HoldingContainer
Direct Known Subclasses:
EvaluationVisitor.VectorVariableHolder
Enclosing class:
ClassGenerator<T>

public static class ClassGenerator.HoldingContainer extends Object
Represents a (Nullable)?(Type)Holder instance. Allows code gen to declare, set, work with and retrieve values from a holder. Holders exploit scalar replacement in Drill (or in Java): that the holder can, via code rewrites, be replaced by scalars that do the same job.
  • Constructor Details

    • HoldingContainer

      public HoldingContainer(TypeProtos.MajorType t, com.sun.codemodel.JVar holder, com.sun.codemodel.JFieldRef value, com.sun.codemodel.JFieldRef isSet)
    • HoldingContainer

      public HoldingContainer(TypeProtos.MajorType t, com.sun.codemodel.JVar holder, com.sun.codemodel.JFieldRef value, com.sun.codemodel.JFieldRef isSet, boolean singularRepeated, boolean isReader)
    • HoldingContainer

      public HoldingContainer(ClassGenerator.HoldingContainer from)
  • Method Details

    • isReader

      public boolean isReader()
    • isSingularRepeated

      public boolean isSingularRepeated()
    • setConstant

      public ClassGenerator.HoldingContainer setConstant(boolean isConstant)
    • f

      public com.sun.codemodel.JFieldRef f(String name)
    • isConstant

      public boolean isConstant()
    • getHolder

      public com.sun.codemodel.JVar getHolder()
    • getValue

      public com.sun.codemodel.JFieldRef getValue()
    • getMajorType

      public TypeProtos.MajorType getMajorType()
    • getIsSet

      public com.sun.codemodel.JFieldRef getIsSet()
    • isOptional

      public boolean isOptional()
    • isRepeated

      public boolean isRepeated()
    • getMinorType

      public TypeProtos.MinorType getMinorType()
    • toString

      public String toString()
      Convert holder to a string for debugging use.
      Overrides:
      toString in class Object