Class AdminDatastoreService
- java.lang.Object
-
- com.google.appengine.api.datastore.AdminDatastoreService
-
- All Implemented Interfaces:
AsyncDatastoreService
,BaseDatastoreService
public final class AdminDatastoreService extends Object implements AsyncDatastoreService
An AsyncDatastoreService implementation that is pinned to a specific appId and namesapce. This implementation ignores the "current" appId provided byApiProxy.getCurrentEnvironment().getAppId()
and the "current" namespace provided byNamespaceManager.get()
. Note, this is particularly important in the following methods:AsyncDatastoreService.getIndexes()
AsyncDatastoreService.getDatastoreAttributes()
AsyncDatastoreService.allocateIds(String, long)
Query
,Entity
andKey
that are pinned to the same appId/namespace.Note: users should not access this class directly.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AdminDatastoreService.EntityBuilder
static class
AdminDatastoreService.KeyBuilder
static class
AdminDatastoreService.QueryBuilder
-
Method Summary
-
-
-
Method Detail
-
getInstance
public static AdminDatastoreService getInstance(String appId)
Returns an AdminUtils instance for the givenappId
and the "" (empty) namespace.
-
getInstance
public static AdminDatastoreService getInstance(String appId, String namespace)
Returns an AdminUtils instance for the givenappId
andnamespace
.
-
getInstance
public static AdminDatastoreService getInstance(DatastoreServiceConfig config, String appId)
Returns an AdminUtils instance for the givenappId
and the "" (empty) namespace.
-
getInstance
public static AdminDatastoreService getInstance(DatastoreServiceConfig config, String appId, String namespace)
Returns an AdminUtils instance for the givenappId
andnamespace
.
-
getAppId
public String getAppId()
-
getNamespace
public String getNamespace()
-
newQueryBuilder
public AdminDatastoreService.QueryBuilder newQueryBuilder()
-
newQueryBuilder
public AdminDatastoreService.QueryBuilder newQueryBuilder(String kind)
-
newKeyBuilder
public AdminDatastoreService.KeyBuilder newKeyBuilder(String kind)
-
newEntityBuilder
public AdminDatastoreService.EntityBuilder newEntityBuilder(String kind)
-
minimumCompositeIndexForQuery
public Index minimumCompositeIndexForQuery(Query query, Collection<Index> indexes)
-
minimumCompositeIndexesForQuery
public Set<Index> minimumCompositeIndexesForQuery(Query query, Collection<Index> indexes)
-
prepare
public PreparedQuery prepare(Query query)
Description copied from interface:BaseDatastoreService
Prepares a query for execution.This method returns a
PreparedQuery
which can be used to execute and retrieve results from the datastore forquery
.This operation will not execute in a transaction even if there is a current transaction and the provided query is an ancestor query. This operation also ignores the
ImplicitTransactionManagementPolicy
. If you are preparing an ancestory query and you want it to execute in a transaction, useBaseDatastoreService.prepare(Transaction, Query)
.- Specified by:
prepare
in interfaceBaseDatastoreService
- Parameters:
query
- a notnull Query
.- Returns:
- a not
null PreparedQuery
.
-
prepare
public PreparedQuery prepare(Transaction txn, Query query)
Description copied from interface:BaseDatastoreService
Exhibits the same behavior asBaseDatastoreService.prepare(Query)
, but executes within the provided transaction. It is up to the caller to commit or rollback. Transaction can be null.- Specified by:
prepare
in interfaceBaseDatastoreService
-
getCurrentTransaction
public Transaction getCurrentTransaction()
Description copied from interface:BaseDatastoreService
Returns the current transaction for this thread, or throws an exception if there is no current transaction. The current transaction is defined as the result of the most recent, same-thread invocation of beginTransaction() that has not been committed or rolled back.Use this method for when you expect there to be a current transaction and consider it an error if there isn't.
- Specified by:
getCurrentTransaction
in interfaceBaseDatastoreService
- Returns:
- The current transaction.
-
getCurrentTransaction
public Transaction getCurrentTransaction(Transaction returnedIfNoTxn)
Description copied from interface:BaseDatastoreService
Returns the current transaction for this thread, or returns the parameter if there is no current transaction. You can usenull
or provide your own object to represent null. SeeBaseDatastoreService.getCurrentTransaction()
for a definition of "current transaction."Use this method when you're not sure if there is a current transaction.
- Specified by:
getCurrentTransaction
in interfaceBaseDatastoreService
- Parameters:
returnedIfNoTxn
- The return value of this method if there is no current transaction. Can be null.- Returns:
- The current transaction, or the parameter that was passed in if there is no current transaction.
-
getActiveTransactions
public Collection<Transaction> getActiveTransactions()
Description copied from interface:BaseDatastoreService
Returns allTransaction
s started by this thread upon which no attempt to commit or rollback has been made.- Specified by:
getActiveTransactions
in interfaceBaseDatastoreService
-
beginTransaction
public Future<Transaction> beginTransaction()
Description copied from interface:AsyncDatastoreService
- Specified by:
beginTransaction
in interfaceAsyncDatastoreService
-
beginTransaction
public Future<Transaction> beginTransaction(TransactionOptions options)
Description copied from interface:AsyncDatastoreService
- Specified by:
beginTransaction
in interfaceAsyncDatastoreService
-
get
public Future<Entity> get(Key key)
Description copied from interface:AsyncDatastoreService
- Specified by:
get
in interfaceAsyncDatastoreService
-
get
public Future<Entity> get(@Nullable Transaction txn, Key key)
Description copied from interface:AsyncDatastoreService
- Specified by:
get
in interfaceAsyncDatastoreService
-
get
public Future<Map<Key,Entity>> get(Iterable<Key> keys)
Description copied from interface:AsyncDatastoreService
- Specified by:
get
in interfaceAsyncDatastoreService
-
get
public Future<Map<Key,Entity>> get(@Nullable Transaction txn, Iterable<Key> keys)
Description copied from interface:AsyncDatastoreService
- Specified by:
get
in interfaceAsyncDatastoreService
-
put
public Future<Key> put(Entity entity)
Description copied from interface:AsyncDatastoreService
- Specified by:
put
in interfaceAsyncDatastoreService
-
put
public Future<Key> put(@Nullable Transaction txn, Entity entity)
Description copied from interface:AsyncDatastoreService
- Specified by:
put
in interfaceAsyncDatastoreService
-
put
public Future<List<Key>> put(Iterable<Entity> entities)
Description copied from interface:AsyncDatastoreService
- Specified by:
put
in interfaceAsyncDatastoreService
-
put
public Future<List<Key>> put(@Nullable Transaction txn, Iterable<Entity> entities)
Description copied from interface:AsyncDatastoreService
- Specified by:
put
in interfaceAsyncDatastoreService
-
delete
public Future<Void> delete(Key... keys)
Description copied from interface:AsyncDatastoreService
- Specified by:
delete
in interfaceAsyncDatastoreService
-
delete
public Future<Void> delete(@Nullable Transaction txn, Key... keys)
Description copied from interface:AsyncDatastoreService
- Specified by:
delete
in interfaceAsyncDatastoreService
-
delete
public Future<Void> delete(Iterable<Key> keys)
Description copied from interface:AsyncDatastoreService
- Specified by:
delete
in interfaceAsyncDatastoreService
-
delete
public Future<Void> delete(@Nullable Transaction txn, Iterable<Key> keys)
Description copied from interface:AsyncDatastoreService
- Specified by:
delete
in interfaceAsyncDatastoreService
-
allocateIds
public Future<KeyRange> allocateIds(String kind, long num)
Description copied from interface:AsyncDatastoreService
- Specified by:
allocateIds
in interfaceAsyncDatastoreService
-
allocateIds
public Future<KeyRange> allocateIds(@Nullable Key parent, String kind, long num)
Description copied from interface:AsyncDatastoreService
- Specified by:
allocateIds
in interfaceAsyncDatastoreService
-
getDatastoreAttributes
public Future<DatastoreAttributes> getDatastoreAttributes()
Description copied from interface:AsyncDatastoreService
- Specified by:
getDatastoreAttributes
in interfaceAsyncDatastoreService
-
getIndexes
public Future<Map<Index,Index.IndexState>> getIndexes()
Description copied from interface:AsyncDatastoreService
- Specified by:
getIndexes
in interfaceAsyncDatastoreService
-
-