Class ColumnProcessors


  • public class ColumnProcessors
    extends Object
    Creates "column processors", which are objects that wrap a single input column and provide some functionality on top of it.
    See Also:
    which this may eventually replace
    • Field Detail

      • NIL_COLUMN_CAPABILITIES

        public static final ColumnCapabilities NIL_COLUMN_CAPABILITIES
        Capabilites that are used when we return a nil selector for a nonexistent column.
    • Constructor Detail

      • ColumnProcessors

        public ColumnProcessors()
    • Method Detail

      • makeProcessor

        public static <T> T makeProcessor​(String column,
                                          ColumnProcessorFactory<T> processorFactory,
                                          ColumnSelectorFactory selectorFactory)
        Make a processor for a particular named column.
        Type Parameters:
        T - processor type
        Parameters:
        column - the column
        processorFactory - the processor factory
        selectorFactory - the column selector factory
      • makeProcessor

        public static <T> T makeProcessor​(DimensionSpec dimensionSpec,
                                          ColumnProcessorFactory<T> processorFactory,
                                          ColumnSelectorFactory selectorFactory)
        Make a processor for a particular DimensionSpec.
        Type Parameters:
        T - processor type
        Parameters:
        dimensionSpec - the dimension spec
        processorFactory - the processor factory
        selectorFactory - the column selector factory
      • makeProcessor

        public static <T> T makeProcessor​(Expr expr,
                                          ColumnType exprTypeHint,
                                          ColumnProcessorFactory<T> processorFactory,
                                          ColumnSelectorFactory selectorFactory)
        Make a processor for a particular expression. If the expression is a simple identifier, this behaves identically to makeProcessor(String, ColumnProcessorFactory, ColumnSelectorFactory) and accesses the column directly. Otherwise, it uses an expression selector of type exprTypeHint.
        Type Parameters:
        T - processor type
        Parameters:
        expr - the parsed expression
        exprTypeHint - expression selector type to use for exprs that are not simple identifiers
        processorFactory - the processor factory
        selectorFactory - the column selector factory
      • makeVectorProcessor

        public static <T> T makeVectorProcessor​(String column,
                                                VectorColumnProcessorFactory<T> processorFactory,
                                                VectorColumnSelectorFactory selectorFactory)
        Make a processor for a particular named column.
        Type Parameters:
        T - processor type
        Parameters:
        column - the column
        processorFactory - the processor factory
        selectorFactory - the column selector factory
      • makeVectorProcessor

        public static <T> T makeVectorProcessor​(DimensionSpec dimensionSpec,
                                                VectorColumnProcessorFactory<T> processorFactory,
                                                VectorColumnSelectorFactory selectorFactory)
        Make a processor for a particular DimensionSpec.
        Type Parameters:
        T - processor type
        Parameters:
        dimensionSpec - the dimension spec
        processorFactory - the processor factory
        selectorFactory - the column selector factory