com.google.appengine.api.datastore
Class KeyRange
java.lang.Object
com.google.appengine.api.datastore.KeyRange
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Iterable<Key>
public final class KeyRange
- extends java.lang.Object
- implements java.lang.Iterable<Key>, java.io.Serializable
Represents a range of unique datastore identifiers from
getStart().getId()
to getEnd().getId()
inclusive.
The Keys
returned by an instance of this class 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.
- See Also:
- Serialized Form
Constructor Summary |
KeyRange(Key parent,
java.lang.String kind,
long start,
long end)
|
Methods inherited from class java.lang.Object |
getClass, notify, notifyAll, toString, wait, wait, wait |
KeyRange
public KeyRange(Key parent,
java.lang.String kind,
long start,
long end)
getStart
public Key getStart()
- Returns:
- The first
Key
in the range.
getEnd
public Key getEnd()
- Returns:
- The last
Key
in the range.
getSize
public long getSize()
- Returns:
- The size of the range.
iterator
public java.util.Iterator<Key> iterator()
- Specified by:
iterator
in interface java.lang.Iterable<Key>
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in class java.lang.Object
hashCode
public int hashCode()
- Overrides:
hashCode
in class java.lang.Object