public final class KeyRange
implements java.lang.Iterable<Key>, java.io.Serializable
Represents a range of unique datastore identifiers from
getStart().getId() to getEnd().getId() inclusive.
If an instance of this class is the result of a call to
DatastoreService.allocateIds(), the Keys returned by
this instance have been consumed in the datastore's id-space and are
guaranteed never to be reused.
This class can be used to construct Entities with Keys that have specific id values without fear of the datastore
creating new records with those same ids at a later date. This can be
helpful as part of a data migration or large bulk upload where you may need
to preserve existing ids and relationships between entities.
This class is threadsafe but the Iterators returned by
iterator() are not.