Interface ArrayExpansionKernel<T>

Type Parameters:
T - The type of elements within the array being expanded.
All Superinterfaces:
ExpansionKernel<T>
All Known Implementing Classes:
BooleanArrayExpansionKernel, BoxedBooleanArrayExpansionKernel, ByteArrayExpansionKernel, CharArrayExpansionKernel, DoubleArrayExpansionKernel, FloatArrayExpansionKernel, IntArrayExpansionKernel, LongArrayExpansionKernel, ObjectArrayExpansionKernel, ShortArrayExpansionKernel

public interface ArrayExpansionKernel<T> extends ExpansionKernel<T>
The ArrayExpansionKernel interface provides a mechanism for expanding chunks containing arrays into a pair of LongChunk and Chunk<T>, enabling efficient handling of array-typed columnar data. This interface is part of the Deephaven Barrage extensions for processing structured data in Flight/Barrage streams.

An ArrayExpansionKernel is specialized for handling array-like data, where each element in the source chunk may itself be an array. The kernel performs the transformation to a flattened format, suitable for further processing or serialization.

  • Method Details

    • makeExpansionKernel

      static <T> ArrayExpansionKernel<T> makeExpansionKernel(ChunkType chunkType, Class<?> componentType)
      Creates an ArrayExpansionKernel for the specified ChunkType and component type.

      The implementation is chosen based on the provided chunkType and componentType, with specialized kernels for primitive types and boxed types, including boolean handling for packed bit representations.

      Type Parameters:
      T - The type of elements within the array being expanded.
      Parameters:
      chunkType - The ChunkType representing the type of data in the chunk.
      componentType - The class of the component type within the array.
      Returns:
      An ArrayExpansionKernel capable of expanding chunks of the specified type.