Interface WritableSourceWithPrepareForParallelPopulation

All Known Implementing Classes:
BooleanArraySource, BooleanSparseArraySource, BooleanSparseArraySource.ReinterpretedAsByte, ByteArraySource, ByteSparseArraySource, CharacterArraySource, CharacterSparseArraySource, DoubleArraySource, DoubleSparseArraySource, FloatArraySource, FloatSparseArraySource, Immutable2DByteArraySource, Immutable2DCharArraySource, Immutable2DDoubleArraySource, Immutable2DFloatArraySource, Immutable2DInstantArraySource, Immutable2DIntArraySource, Immutable2DLongArraySource, Immutable2DNanosBasedTimeArraySource, Immutable2DObjectArraySource, Immutable2DShortArraySource, Immutable2DZonedDateTimeArraySource, ImmutableByteArraySource, ImmutableCharArraySource, ImmutableDoubleArraySource, ImmutableFloatArraySource, ImmutableInstantArraySource, ImmutableIntArraySource, ImmutableLongArraySource, ImmutableNanosBasedTimeArraySource, ImmutableObjectArraySource, ImmutableShortArraySource, ImmutableZonedDateTimeArraySource, InstantArraySource, InstantSparseArraySource, IntegerArraySource, IntegerSparseArraySource, LongArraySource, LongSparseArraySource, NanosBasedTimeArraySource, NanosBasedTimeSparseArraySource, ObjectArraySource, ObjectSparseArraySource, ShortArraySource, ShortSparseArraySource, SparseArrayColumnSource, ZonedDateTimeArraySource, ZonedDateTimeSparseArraySource

public interface WritableSourceWithPrepareForParallelPopulation
A writable source that allows parallel population.
  • Method Details

    • supportsParallelPopulation

      static boolean supportsParallelPopulation(WritableColumnSource<?> wcs)
      Does the specified WritableColumnSource provide the prepareForParallelPopulation function?
      Parameters:
      wcs - the WritableColumnSource to check
      Returns:
      true if prepareForParallelPopulation can be called on wcs
    • prepareForParallelPopulation

      void prepareForParallelPopulation(RowSequence rowSequence)
      Prepare this column source such that:
      • all values in rowSet may be accessed using getPrev
      • all values in rowSet may be populated in parallel

      Further operations in this cycle need not check for previous when writing data to the column source; you must provide a row set that contains every row that may be written to this column source.

      Parameters:
      rowSequence - the row sequence of values that will change on this cycle
    • allSupportParallelPopulation

      static boolean allSupportParallelPopulation(@NotNull @NotNull WritableColumnSource<?>... sources)
      Test if all sources support parallel parallel population.
      Parameters:
      sources - The sources to test
      Returns:
      Whether all sources support parallel parallel population
    • prepareAll

      static void prepareAll(@NotNull @NotNull RowSequence rowSequence, @NotNull @NotNull WritableColumnSource<?>... sources)
      Prepare all sources for parallel population.
      Parameters:
      rowSequence - The RowSequence to prepare for
      sources - The sources to prepare