AbstractDataBuffer

public abstract class AbstractDataBuffer<T> implements DataBuffer


Default implementation of DataBuffer. An AbstractDataBuffer wraps data provided across the binder from Google Play services.

Summary

Public methods

final void

Releases the data buffer, for use in try-with-resources.

abstract @NonNull T
get(int position)

Get the item at the specified position.

int
boolean

This method is deprecated.

release and close are idempotent, and so is safe to call multiple times

Iterator<T>
void

Releases resources used by the buffer.

Iterator<T>

In order to use this you should correctly override setDataRow in your DataBufferRef implementation.

Inherited methods

From java.io.Closeable
abstract void
From java.lang.Iterable

Public methods

close

public final void close()

Releases the data buffer, for use in try-with-resources.

Both close and release shall have identical semantics, and are idempotent.

get

public abstract @NonNullget(int position)

Get the item at the specified position. Note that the objects returned from subsequent invocations of this method for the same position may not be identical objects, but will be equal in value. In other words:

buffer.get(i) == buffer.get(i) may return false.

buffer.get(i).equals(buffer.get(i)) will return true.

Parameters
int position

The position of the item to retrieve.

Returns
@NonNull T

the item at position in this buffer.

getCount

public int getCount()

isClosed

public boolean isClosed()

iterator

public Iterator<T> iterator()

release

public void release()

Releases resources used by the buffer. This method is idempotent.

singleRefIterator

public Iterator<T> singleRefIterator()

In order to use this you should correctly override setDataRow in your DataBufferRef implementation. Be careful: there will be single while iterating. If you are not sure - DO NOT USE this iterator.