Class ItemCollection<R>
java.lang.Object
com.amazonaws.services.dynamodbv2.document.internal.PageBasedCollection<Item,R>
com.amazonaws.services.dynamodbv2.document.ItemCollection<R>
- Type Parameters:
R
- low level result type
public abstract class ItemCollection<R>
extends com.amazonaws.services.dynamodbv2.document.internal.PageBasedCollection<Item,R>
A collection of
Item
's.
An ItemCollection
object maintains a cursor pointing to its
current pages of data. Initially the cursor is positioned before the first page.
The next method moves the cursor to the next row, and because it returns
false when there are no more rows in the ItemCollection
object,
it can be used in a while loop to iterate through the collection.
Network calls can be triggered when the collection is iterated across page
boundaries.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected final void
accumulateStats
(ConsumedCapacity consumedCapacity, Integer count, Integer scannedCount) Returns the consumed capacity accumulated so far.int
Returns the count of items accumulated so far.int
Returns the scanned count accumulated so far.Returns the low-level result last retrieved (for the current page) from the server side; or null if there has yet no calls to the server.abstract Integer
Returns the maximum number of resources to be retrieved in this collection; or null if there is no limit.Deprecated.This method returns the accumulated consumed capacity and not the total.int
Deprecated.This method returns the accumulated count and not the total count.int
Deprecated.This method returns the accumulated count and not the total count.pages()
Returns anIterable<Page<Item, R>>
that iterates over pages of items from this collection.Used to register a listener for the event of receiving a low-level result from the server side.Methods inherited from class com.amazonaws.services.dynamodbv2.document.internal.PageBasedCollection
firstPage, iterator, setLastLowLevelResult
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
ItemCollection
public ItemCollection()
-
-
Method Details
-
accumulateStats
protected final void accumulateStats(ConsumedCapacity consumedCapacity, Integer count, Integer scannedCount) -
getTotalCount
Deprecated.This method returns the accumulated count and not the total count. UsegetAccumulatedItemCount()
instead.Returns the count of items accumulated so far. -
getAccumulatedItemCount
public int getAccumulatedItemCount()Returns the count of items accumulated so far. -
getTotalScannedCount
Deprecated.This method returns the accumulated count and not the total count. UsegetAccumulatedScannedCount()
instead.Returns the scanned count accumulated so far. -
getAccumulatedScannedCount
public int getAccumulatedScannedCount()Returns the scanned count accumulated so far. -
getTotalConsumedCapacity
Deprecated.This method returns the accumulated consumed capacity and not the total. UsegetAccumulatedScannedCount()
instead.Returns the consumed capacity accumulated so far. -
getAccumulatedConsumedCapacity
Returns the consumed capacity accumulated so far. -
pages
Returns anIterable<Page<Item, R>>
that iterates over pages of items from this collection. Each call toIterator.next
on anIterator
returned from thisIterable
results in exactly one call to DynamoDB to retrieve a single page of results.ItemCollection<QueryResult> collection = ...; for (Page<Item> page : collection.pages()) { processItems(page); ConsumedCapacity consumedCapacity = page.getLowLevelResult().getConsumedCapacity(); Thread.sleep(getBackoff(consumedCapacity.getCapacityUnits())); }
The use of the internal/undocumented
PageIterable
class instead ofIterable
in the public interface here is retained for backwards compatibility. It doesn't expose any methods beyond those of theIterable
interface. This method will be changed to return anIterable<Page<Item, R>>
directly in a future release of the SDK. -
getMaxResultSize
Returns the maximum number of resources to be retrieved in this collection; or null if there is no limit. -
getLastLowLevelResult
Returns the low-level result last retrieved (for the current page) from the server side; or null if there has yet no calls to the server. -
registerLowLevelResultListener
Used to register a listener for the event of receiving a low-level result from the server side.
-