CheckpointCloseableIterable

public interface CheckpointCloseableIterable implements CloseableIterable<T>
Known Indirect Subclasses

A CloseableIterable that supports pagination while traversing a repository or incremental changes. An implementation can optionally break a large traversal process into smaller pieces, using checkpoints to track progress, and returning true from hasMore() to indicate more objects are available.

Refer to CheckpointCloseableIterableImpl for an implementation.

Public Method Summary

abstract byte[]
getCheckpoint()
Get current checkpoint value.
abstract boolean
hasMore()
Flag to indicate if more items are available to traverse beyond current set of items returned as part of Iterable.

Inherited Method Summary

Public Methods

public abstract byte[] getCheckpoint ()

Get current checkpoint value. Framework is expected to call this method only after iterating through all objects available.

Returns
  • checkpoint value to save
Throws
RuntimeException if computation of checkpoint value fails.

public abstract boolean hasMore ()

Flag to indicate if more items are available to traverse beyond current set of items returned as part of Iterable. Framework is expected to call this method only after iterating through all objects available.

Returns
  • True if more objects are available for processing after current batch. False if no more objects available for traversal.