See: Description
Interface | Description |
---|---|
AsyncDatastoreService |
An asynchronous version of
DatastoreService . |
BaseDatastoreService |
Methods that are common between
DatastoreService and AsyncDatastoreService . |
CallbackContext<T> |
Describes the context in which a callback runs.
|
DatastoreConfig | Deprecated
Use
DatastoreServiceConfig instead. |
DatastoreService |
The
DatastoreService provides synchronous access to a schema-less data storage system. |
IDatastoreServiceFactory |
This interface should be implemented by providers of the
DatastoreService and registered
with com.google.appengine.spi.ServiceFactoryFactory . |
PreparedQuery |
Contains methods for fetching and returning entities from a
Query . |
QueryResultIterable<T> |
A class that produces
QueryResultIterator s. |
QueryResultIterator<T> |
A class that iterates through the results of a
Query |
QueryResultList<T> |
A list of results returned by executing a
Query . |
Transaction |
Describes a logical unit of work to be performed against the datastore.
|
Class | Description |
---|---|
AdminDatastoreService |
An AsyncDatastoreService implementation that is pinned to a specific appId and namesapce.
|
AdminDatastoreService.EntityBuilder | |
AdminDatastoreService.KeyBuilder | |
AdminDatastoreService.QueryBuilder | |
Blob |
Blob contains an array of bytes. |
Category |
A tag, ie a descriptive word or phrase.
|
CloudDatastoreRemoteServiceConfig |
User-configurable global properties of Cloud Datastore.
|
CloudDatastoreRemoteServiceConfig.AppId |
An App Engine application ID.
|
CloudDatastoreRemoteServiceConfig.Builder |
Builder for
CloudDatastoreRemoteServiceConfig . |
CompositeIndexManager |
Composite index management operations needed by the datastore api.
|
CompositeIndexUtils |
Static utilities for working with composite indexes.
|
Cursor |
A cursor that represents a position in a query.
|
DatastoreApiHelper |
Helper methods and constants shared by classes that implement the Java api on top of the
datastore.
|
DatastoreAttributes |
Attributes of a datastore.
|
DatastoreServiceConfig |
User-configurable properties of the datastore.
|
DatastoreServiceConfig.Builder |
Contains static creation methods for
DatastoreServiceConfig . |
DatastoreServiceFactory |
Creates DatastoreService implementations.
|
DataTypeTranslator |
DataTypeTranslator is a utility class for converting between the data store's Property protocol buffers and the user-facing classes (String , User , etc.). |
DataTypeTranslator.ComparableByteArray |
A wrapper for a
byte[] that implements Comparable . |
DataTypeUtils |
DataTypeUtils presents a simpler interface that allows user-code to determine what
Classes can safely be stored as properties in the data store. |
DeleteContext |
Concrete
CallbackContext implementation that is specific to delete() callbacks. |
An e-mail address datatype.
|
|
EmbeddedEntity |
A property value containing embedded entity properties (and optionally a
Key ). |
Entities |
Utility functions and constants for entities.
|
Entity |
Entity is the fundamental unit of data storage. |
EntityProtoComparators |
Utilities for comparing
EntityProto . |
EntityProtoComparators.EntityProtoComparator |
A comparator for
com.google.storage.onestore.v3.OnestoreEntity.EntityProto objects with
the same ordering as EntityComparator . |
EntityTranslator |
EntityTranslator contains the logic to translate an Entity into the protocol
buffers that are used to pass it to the implementation of the API. |
ExtendableEntityUtil |
Internal class that provides utility methods for extendable entity objects.
|
FetchOptions |
Describes the limit, offset, and chunk size to be applied when executing a
PreparedQuery . |
FetchOptions.Builder |
Contains static creation methods for
FetchOptions . |
FutureHelper |
Utilities for working with
Futures in the synchronous datastore api. |
GeoPt |
A geographical point, specified by float latitude and longitude coordinates.
|
IDatastoreServiceFactoryProvider |
Creates
IDatastoreServiceFactory implementations. |
IMHandle |
An instant messaging handle.
|
Index |
A Datastore
Index definition. |
Index.Property |
An indexed property.
|
IndexTranslator |
Helper class to translate between
Index to com.google.storage.onestore.v3.OnestoreEntity.Index . |
Key |
The primary key for a datastore entity.
|
KeyFactory |
This class enables direct creation of
Key objects, both in the root entity group (no
parent) and as the child of a given parent. |
KeyFactory.Builder |
Helper class that aids in the construction of
Keys with ancestors. |
KeyRange |
Represents a range of unique datastore identifiers from
getStart().getId() to getEnd().getId() inclusive. |
Link |
A
Link is a URL of limited length. |
PhoneNumber |
A human-readable phone number.
|
PostalAddress |
A human-readable mailing address.
|
PostLoadContext |
Concrete
CallbackContext implementation that is specific to intercepted operations that
load Entities , currently get and "query". |
PreGetContext |
Concrete
CallbackContext implementation that is specific to intercepted get() operations. |
PreQueryContext |
Concrete
CallbackContext implementation that is specific to intercepted queries. |
Projection |
A query projection.
|
PropertyContainer |
A mutable property container.
|
PropertyProjection |
A property projection.
|
PutContext |
Concrete
CallbackContext implementation that is specific to put() callbacks. |
Query | |
Query.CompositeFilter |
A
Query.Filter that combines several sub filters using a Query.CompositeFilterOperator . |
Query.Filter |
The base class for a query filter.
|
Query.FilterPredicate |
A
Query.Filter on a single property. |
Query.GeoRegion |
A geographic region intended for use in a
Query.StContainsFilter . |
Query.GeoRegion.Circle |
A geographical region representing all points within a fixed distance from a central point,
i.e., a circle.
|
Query.GeoRegion.Rectangle |
A simple geographical region bounded by two latitude lines, and two longitude lines, i.e., a
"rectangle".
|
Query.SortPredicate |
SortPredicate is a data container that holds a single sort predicate.
|
Query.StContainsFilter |
A
Query.Filter representing a geo-region containment predicate. |
Rating |
A user-provided integer rating for a piece of content.
|
RawValue |
A raw datastore value.
|
ReadPolicy |
Policy for reads.
|
ShortBlob |
ShortBlob contains an array of bytes no longer than DataTypeUtils.MAX_SHORT_BLOB_PROPERTY_LENGTH . |
Text |
Text wraps around a string of unlimited size. |
TransactionHelper |
TransactionHelper enables the task queue API to serialize a datastore transaction without
knowing the details of how it is implemented. |
TransactionOptions |
Describes options for transactions, passed at transaction creation time.
|
TransactionOptions.Builder |
Contains static creation methods for
TransactionOptions . |
Enum | Description |
---|---|
CloudDatastoreRemoteServiceConfig.AppId.Location |
Locations for App Engine applications.
|
DatastoreAttributes.DatastoreType |
Indicates the type of datastore being used.
|
DatastoreService.KeyRangeState |
Indicates the state of a
KeyRange . |
IMHandle.Scheme |
Supported IM schemes.
|
ImplicitTransactionManagementPolicy |
Describes the various policies the datastore can follow for implicit transaction management.
|
Index.IndexState |
Indicates the state of the
Index . |
Query.CompositeFilterOperator |
Operators supported by
Query.CompositeFilter . |
Query.FilterOperator |
Operators supported by
Query.FilterPredicate . |
Query.SortDirection |
SortDirection controls the order of a sort.
|
ReadPolicy.Consistency |
Setting the
Consistency for reads allows you to decide whether freshness or
availability is more important. |
TransactionOptions.Mode |
The mode of the transaction.
|
Exception | Description |
---|---|
CommittedButStillApplyingException |
CommittedButStillApplyingException is thrown when the write or transaction was committed,
but some entities or index rows may not have been fully updated. |
DatastoreFailureException |
DatastoreFailureException is thrown when any unknown error occurs while communicating
with the data store. |
DatastoreNeedIndexException |
DatastoreNeedIndexException is thrown when no matching index was found for a query
requiring an index. |
DatastoreTimeoutException |
DatastoreTimeoutException is thrown when a datastore operation times out. |
EntityNotFoundException |
EntityNotFoundException is thrown when no Entity with the specified Key
could be found. |
PreparedQuery.TooManyResultsException |
Indicates that too many results were found for
PreparedQuery.asSingleEntity() . |
Annotation Type | Description |
---|---|
PostDelete |
Identifies a callback method to be invoked after an
Entity of any of the specified kinds
is deleted from the datastore. |
PostLoad |
Identifies a callback method to be invoked after an
Entity of any of the specified kinds
is loaded from the datastore. |
PostPut |
Identifies a callback method to be invoked after an
Entity of any of the specified kinds
is written to the datastore. |
PreDelete |
Identifies a callback method to be invoked before an
Entity of any of the specified kinds
is deleted from the datastore. |
PreGet |
Identifies a callback method to be invoked before an
Entity of any of the specified kinds
is fetched from the datastore via a get() rpc. |
PrePut |
Identifies a callback method to be invoked before an
Entity of any of the specified kinds
is written to the datastore. |
PreQuery |
Identifies a callback method to be invoked before a
Query for any of the specified kinds
is executed against the datastore. |
A common pattern of usage is:
// Get a handle on the datastore itself DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); // Lookup data by known key name Entity userEntity = datastore.get(KeyFactory.createKey("UserInfo", email)); // Or perform a query Query query = new Query("Task"); query.addFilter("dueDate", Query.FilterOperator.LESS_THAN, today); for (Entity taskEntity : datastore.prepare(query).asIterable()) { if ("done".equals(taskEntity.getProperty("status"))) { datastore.delete(taskEntity); } else { taskEntity.setProperty("status", "overdue"); datastore.put(taskEntity); } }
This illustrates several basic points:
DatastoreService
object, produced from a DatastoreServiceFactory
.
Entity
object, which
are of named kinds ("UserInfo" and "Task" above).
Key
value, which can be created
by a KeyFactory
to retrieve a specific known
entity. If the key is not readily determined, then Query
objects can be used to retrieve one Entity,
multiple as a list, Iterable
, or Iterator
, or to
retrieve the count of matching entities.
Query
in the snippet above searches only for Task
entities associated with a specific UserInfo entity, and then filters those for Tasks due
before today.
In production, non-trivial queries cannot be performed until one or more indexes have been
built to ensure that the individual queries can be processed efficiently. You can specify the set
of indexes your application requires in a WEB-INF/datastore-indexes.xml
file, or they can
be generated automatically as you test your application in the Development Server. If a query
requires an index that cannot be found, a DatastoreNeedIndexException
will be thrown at runtime.
Although Google App Engine allows many versions of your application to be accessible, there is only one datastore for your application, shared by all versions. Similarly, the set of indexes is shared by all application versions.
Application authors may also consider using either of the provided JDO or JPA interfaces to the datastore.