Class WritableBooleanChunk<ATTR extends Attributes.Any>

java.lang.Object
com.illumon.iris.db.v2.sources.chunk.ChunkBase<ATTR>
com.illumon.iris.db.v2.sources.chunk.BooleanChunk<ATTR>
com.illumon.iris.db.v2.sources.chunk.WritableBooleanChunk<ATTR>
All Implemented Interfaces:
Chunk<ATTR>, PoolableChunk, WritableChunk<ATTR>, SafeCloseable, AutoCloseable
Direct Known Subclasses:
ResettableWritableBooleanChunk

public class WritableBooleanChunk<ATTR extends Attributes.Any> extends BooleanChunk<ATTR> implements WritableChunk<ATTR>
WritableChunk implementation for boolean data.
  • Method Details

    • makeWritableChunk

      public static <ATTR extends Attributes.Any> WritableBooleanChunk<ATTR> makeWritableChunk(int size)
      Retrieve a WritableBooleanChunk of the specified size.

      Note that the returned chunk may have a larger capacity than requested, and its size will be set to size.

      Users must take care to close() the chunk when finished.

      Parameters:
      size - the desired size of the chunk.
      Returns:
      A WritableBooleanChunk of the requested size.
    • makeWritableChunkForPool

      public static <ATTR extends Attributes.Any> WritableBooleanChunk<ATTR> makeWritableChunkForPool(int size)
      Create a WritableBooleanChunk of the specified size. The returned chunk will have exactly the requested capacity, and its size will be set to size.
      Parameters:
      size - the desired size of the chunk.
      Returns:
      A WritableBooleanChunk of the requested size.
    • writableChunkWrap

      public static <ATTR extends Attributes.Any> WritableBooleanChunk<ATTR> writableChunkWrap(@NotNull boolean[] data)
      Wrap the specified array in a WritableBooleanChunk. The ChunkBase.size() will be initialized to the data length.
      Parameters:
      data - the array to wrap
      Returns:
      A new WritableBooleanChunk backed by the specified array.
    • writableChunkWrap

      public static <ATTR extends Attributes.Any> WritableBooleanChunk<ATTR> writableChunkWrap(@NotNull boolean[] data, int offset, int size)
      Wrap the specified array in a WritableBooleanChunk.
      Parameters:
      data - the array to wrap
      Returns:
      A new WritableBooleanChunk backed by the specified array.
    • set

      public final void set(int index, boolean value)
    • add

      public final void add(boolean value)
      Add the specified value to the chunk. The value will be added at the position ChunkBase.size(), and the ChunkBase.size() will be incremented.
      Parameters:
      value - the value to add
    • slice

      public WritableBooleanChunk<ATTR> slice(int offset, int capacity)
      Description copied from interface: Chunk
      Make a new Chunk that represents either exactly the same view on the underlying data as this Chunk, or a subrange of that view. The view is defined as [0..size) (in the coordinate space of this Chunk).
      Specified by:
      slice in interface Chunk<ATTR extends Attributes.Any>
      Specified by:
      slice in interface WritableChunk<ATTR extends Attributes.Any>
      Overrides:
      slice in class BooleanChunk<ATTR extends Attributes.Any>
      Parameters:
      offset - Offset of the new Chunk, relative to this Chunk. 0 ≤ offset ≤ this.size
      capacity - Capacity and initial size of the new Chunk. 0 ≤ capacity ≤ this.size - offset.
      Returns:
      The new Chunk. A new Chunk will always be returned, even if the Chunks represent the same view.
    • fillWithBoxedValue

      public final void fillWithBoxedValue(int offset, int size, Object value)
      Description copied from interface: WritableChunk
      Fill a sub-range of this writable chunk with the given value, unboxing it as appropriate.
      Specified by:
      fillWithBoxedValue in interface WritableChunk<ATTR extends Attributes.Any>
      Parameters:
      offset - Starting offset
      size - Number of values to fill
    • fillWithValue

      public final void fillWithValue(int offset, int length, boolean value)
    • appendTypedChunk

      public final void appendTypedChunk(BooleanChunk<? extends ATTR> src, int srcOffset, int length)
    • copyFromChunk

      public final void copyFromChunk(Chunk<? extends ATTR> src, int srcOffset, int destOffset, int length)
      Specified by:
      copyFromChunk in interface WritableChunk<ATTR extends Attributes.Any>
    • copyFromTypedChunk

      public final void copyFromTypedChunk(BooleanChunk<? extends ATTR> src, int srcOffset, int destOffset, int length)
    • copyFromArray

      public final void copyFromArray(Object srcArray, int srcOffset, int destOffset, int length)
      Specified by:
      copyFromArray in interface WritableChunk<ATTR extends Attributes.Any>
    • copyFromTypedArray

      public final void copyFromTypedArray(boolean[] src, int srcOffset, int destOffset, int length)
    • getChunkFiller

      public final ChunkFiller getChunkFiller()
      Description copied from interface: WritableChunk
      Our ChunkFiller "plugin".
      Specified by:
      getChunkFiller in interface WritableChunk<ATTR extends Attributes.Any>
    • sort

      public final void sort()
      Description copied from interface: WritableChunk
      Sort this chunk in-place using Java's primitive defined ordering. Of note is that nulls or NaNs are not sorted according to Deephaven ordering rules.
      Specified by:
      sort in interface WritableChunk<ATTR extends Attributes.Any>
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface SafeCloseable
    • upcast

      public static <ATTR extends Attributes.Any, ATTR_DERIV extends ATTR> WritableBooleanChunk<ATTR> upcast(WritableBooleanChunk<ATTR_DERIV> self)
    • downcast

      public static <ATTR extends Attributes.Any, ATTR_DERIV extends ATTR> WritableBooleanChunk<ATTR_DERIV> downcast(WritableBooleanChunk<ATTR> self)