AbstractDataBufferWindow

public abstract class AbstractDataBufferWindow

Public Methods

final B
buffer()
Returns the buffer backing this window.
final long
offset()
Returns the current offset of this window in the original buffer.
final long
size()
Returns the size of this buffer window.
final DataBufferWindow<B>
slide(long step)
Moves the window of step elements in the original buffer.
final DataBufferWindow<B>
slideTo(long index)
Moves the window at the given position in the original buffer.

Inherited Methods

Public Methods

public final B buffer ()

Returns the buffer backing this window.

Each window instance has it's own buffer providing a view onto the original DataBuffer. The buffers are mutated when the window slides to different offsets. For example:

IntDataBuffer buffer = DataBuffers.of(0, 1, 2, 3);
 DataBufferWindow<IntDataBuffer> window = buffer.window(0, 2);

 IntDataBuffer windowBuffer = window.buffer();
 assertEquals(0, windowBuffer.getInt(0));
 assertEquals(1, windowBuffer.getInt(1));

 window.slideTo(2);
 assertEquals(2, windowBuffer.getInt(0));
 assertEquals(3, windowBuffer.getInt(1));
 assertSame(windowBuffer, window.buffer());
 

Returns
  • this window's buffer

public final long offset ()

Returns the current offset of this window in the original buffer.

public final long size ()

Returns the size of this buffer window.

public final DataBufferWindow<B> slide (long step)

Moves the window of step elements in the original buffer.

The size of the window remains the same and its offset is set to offset() + step. If step is positive, then the window will slide forward. If it is negative, it will slide backward.

Parameters
step value to add to the current offset of this window
Returns
  • this instance

public final DataBufferWindow<B> slideTo (long index)

Moves the window at the given position in the original buffer.

The size of the window remains the same and its offset is set to index, so that accessing the value of buffer() at index x will return the value at index + x in the original buffer.

Parameters
index new offset for this window
Returns
  • this instance