BooleanDataBuffer

public interface BooleanDataBuffer

A DataBuffer of booleans.

Public Methods

abstract BooleanDataBuffer
copyTo ( DataBuffer <Boolean> dst, long size)
abstract boolean
getBoolean (long index)
Reads the boolean at the given index.
abstract Boolean
getObject (long index)
Reads the value at the given index.
abstract BooleanDataBuffer
narrow (long size)
Creates a new buffer whose content is a shared subsequence of this buffer's content, whose size is set to the given value.
abstract BooleanDataBuffer
offset (long index)
Creates a new buffer whose content is a shared subsequence of this buffer's content, starting at the given index.
abstract BooleanDataBuffer
read (boolean[] dst, int offset, int length)
Bulk get method, using boolean arrays.
abstract BooleanDataBuffer
read (boolean[] dst)
Bulk get method, using boolean arrays.
abstract BooleanDataBuffer
setBoolean (boolean value, long index)
Writes the given boolean into this buffer at the given index.
abstract BooleanDataBuffer
setObject (Boolean value, long index)
abstract BooleanDataBuffer
slice (long index, long size)
Creates a new buffer whose content is a shared subsequence of this buffer's content, starting at the given index and of the given size.
abstract DataBufferWindow < BooleanDataBuffer >
window (long size)
Creates a DataBufferWindow that provides a partial view of this buffer.
abstract BooleanDataBuffer
write (boolean[] src)
Bulk put method, using boolean arrays.
abstract BooleanDataBuffer
write (boolean[] src, int offset, int length)
Bulk put method, using boolean arrays.

Inherited Methods

Public Methods

public abstract BooleanDataBuffer copyTo ( DataBuffer <Boolean> dst, long size)

public abstract boolean getBoolean (long index)

Reads the boolean at the given index.

Parameters
index the index from which the float will be read
Returns
  • the boolean at the given index
Throws
IndexOutOfBoundsException if index is negative or not smaller than the buffer size

public abstract Boolean getObject (long index)

Reads the value at the given index. Important: Usage of this method should be limited to buffers of non-primitive types or when the data type is not deterministically known by the caller. In any other case, prefer the usage of its primitive variant which will significantly improve performances (e.g. IntDataBuffer.getInt(idx)

Parameters
index the index from which the float will be read
Returns
  • the value at the given index

public abstract BooleanDataBuffer narrow (long size)

Creates a new buffer whose content is a shared subsequence of this buffer's content, whose size is set to the given value.

The new size must not be greater than this buffer size. Changes to this buffer's content will be visible in the new buffer and vice versa. The new buffer will be read-only if, and only if, this buffer is read-only.

This call is equivalent to slice(0, size)

Parameters
size size of this new buffer
Returns
  • the new buffer

public abstract BooleanDataBuffer offset (long index)

Creates a new buffer whose content is a shared subsequence of this buffer's content, starting at the given index.

The index must not be greater than this buffer size. Changes to this buffer's content will be visible in the new buffer and vice versa. The new buffer will be read-only if, and only if, this buffer is read-only.

This call is equivalent to slice(index, size() - index)

Parameters
index index of the first value of the new buffer created, must not be greater than size()
Returns
  • the new buffer

public abstract BooleanDataBuffer read (boolean[] dst, int offset, int length)

Bulk get method, using boolean arrays.

This method transfers values from this buffer into the given destination array. If there are fewer values in the buffer than are required to satisfy the request, that is, if length > size() , then no values are transferred and a BufferUnderflowException is thrown.

Otherwise, this method copies n = length values from this buffer into the given array starting at the given offset.

Parameters
dst the array into which values are to be written
offset the offset within the array of the first value to be written; must be non-negative and no larger than dst.length
length the maximum number of values to be written to the given array; must be non-negative and no larger than dst.length - offset
Returns
  • this buffer
Throws
BufferUnderflowException if there are fewer than length values remaining in this buffer
IndexOutOfBoundsException if the preconditions on the offset and length parameters do not hold

public abstract BooleanDataBuffer read (boolean[] dst)

Bulk get method, using boolean arrays.

This method transfers values from this buffer into the given destination array. If there are fewer values in the buffer than are required to satisfy the request, that is, if dst.length > size() , then no values are transferred and a BufferUnderflowException is thrown.

Otherwise, this method copies n = dst.length values from this buffer into the given array.

Parameters
dst the array into which values are to be written
Returns
  • this buffer
Throws
BufferUnderflowException if there are not enough values to copy from this buffer

public abstract BooleanDataBuffer setBoolean (boolean value, long index)

Writes the given boolean into this buffer at the given index.

Parameters
value the boolean to be written
index the index at which the value will be written
Returns
  • this buffer
Throws
IndexOutOfBoundsException if index is negative or not smaller than the buffer size
ReadOnlyBufferException if this buffer is read-only

public abstract BooleanDataBuffer setObject (Boolean value, long index)

public abstract BooleanDataBuffer slice (long index, long size)

Creates a new buffer whose content is a shared subsequence of this buffer's content, starting at the given index and of the given size.

The index plus the new size must not be greater than this buffer size. Changes to this buffer's content will be visible in the new buffer and vice versa. The new buffer will be read-only if, and only if, this buffer is read-only.

Parameters
index index of the first value of the new buffer created
size size of this new buffer, must not be greater than size()
Returns
  • the new buffer

public abstract DataBufferWindow < BooleanDataBuffer > window (long size)

Creates a DataBufferWindow that provides a partial view of this buffer.

The created window has a fixed size and can "slide" along this buffer to provide different views of the data without allocating a new buffer instance, like offset(long) does. This improves overall performance when this operation is repeated frequently. For example:

IntDataBuffer bufferA = DataBuffers.ofInts(1024);
 // ... init buffer data
 IntDataBuffer bufferB = DataBuffers.ofInts(1, 2, 3, 4);

 // Return the index of the first occurrence of bufferB in bufferA using a sliding window
 DataBufferWindow<IntDataBuffer> windowA = bufferA.window(4);
 for (int i = 0; i < bufferA.size() - bufferB.size(); ++i) {
     if (windowA.slideTo(i).buffer().equals(bufferB)) {
         return i;
     
 }
 }

The returned object is stateful and is not thread-safe.

Parameters
size size of the window
Returns
  • a new window that starts at the index 0 of this buffer

public abstract BooleanDataBuffer write (boolean[] src)

Bulk put method, using boolean arrays.

This method transfers the values in the given source array into this buffer. If there are more values in the source array than in this buffer, that is, if src.length > size() , then no values are transferred and a BufferOverflowException is thrown.

Otherwise, this method copies n = src.length values from the given array.

Parameters
src the source array from which values are to be read
Returns
  • this buffer
Throws
BufferOverflowException if there is insufficient space in this buffer for the values in the source array
ReadOnlyBufferException if this buffer is read-only

public abstract BooleanDataBuffer write (boolean[] src, int offset, int length)

Bulk put method, using boolean arrays.

This method transfers the values in the given source array into this buffer. If there are more values in the source array than in this buffer, that is, if length > size() , then no values are transferred and a BufferOverflowException is thrown.

Otherwise, this method copies n = length values from the given array into this buffer, starting at the given offset.

Parameters
src the source array from which values are to be read
offset the offset within the array of the first value to be read; must be non-negative and no larger than src.length
length the number of values to be read from the given array; must be non-negative and no larger than src.length - offset
Returns
  • this buffer
Throws
BufferOverflowException if there is insufficient space in this buffer for the values in the source array
IndexOutOfBoundsException if the preconditions on the offset and length parameters do not hold
ReadOnlyBufferException if this buffer is read-only