1 package com
.google
.appengine
.api
.datastore
;
3 import static com
.google
.appengine
.api
.datastore
.DatastoreApiHelper
.makeAsyncCall
;
5 import com
.google
.apphosting
.api
.ApiProxy
;
6 import com
.google
.apphosting
.api
.ApiProxy
.ApiConfig
;
7 import com
.google
.apphosting
.datastore
.DatastoreV4
.AllocateIdsRequest
;
8 import com
.google
.apphosting
.datastore
.DatastoreV4
.AllocateIdsResponse
;
9 import com
.google
.apphosting
.datastore
.DatastoreV4
.BeginTransactionRequest
;
10 import com
.google
.apphosting
.datastore
.DatastoreV4
.BeginTransactionResponse
;
11 import com
.google
.apphosting
.datastore
.DatastoreV4
.CommitRequest
;
12 import com
.google
.apphosting
.datastore
.DatastoreV4
.CommitResponse
;
13 import com
.google
.apphosting
.datastore
.DatastoreV4
.ContinueQueryRequest
;
14 import com
.google
.apphosting
.datastore
.DatastoreV4
.ContinueQueryResponse
;
15 import com
.google
.apphosting
.datastore
.DatastoreV4
.DatastoreV4Service
.Method
;
16 import com
.google
.apphosting
.datastore
.DatastoreV4
.LookupRequest
;
17 import com
.google
.apphosting
.datastore
.DatastoreV4
.LookupResponse
;
18 import com
.google
.apphosting
.datastore
.DatastoreV4
.RollbackRequest
;
19 import com
.google
.apphosting
.datastore
.DatastoreV4
.RollbackResponse
;
20 import com
.google
.apphosting
.datastore
.DatastoreV4
.RunQueryRequest
;
21 import com
.google
.apphosting
.datastore
.DatastoreV4
.RunQueryResponse
;
23 import java
.util
.concurrent
.Future
;
26 * V4 proxy which forwards RPCs to {@link ApiProxy} via {@link DatastoreApiHelper}.
27 * Used when running in an App Engine environment.
29 final class AppEngineDatastoreV4Proxy
implements DatastoreV4Proxy
{
30 private final ApiConfig apiConfig
;
32 AppEngineDatastoreV4Proxy(ApiConfig apiConfig
) {
33 this.apiConfig
= apiConfig
;
37 public Future
<BeginTransactionResponse
> beginTransaction(BeginTransactionRequest request
) {
38 return makeAsyncCall(apiConfig
, Method
.BeginTransaction
, request
,
39 BeginTransactionResponse
.PARSER
);
43 public Future
<RollbackResponse
> rollback(RollbackRequest request
) {
44 return makeAsyncCall(apiConfig
, Method
.Rollback
, request
, RollbackResponse
.PARSER
);
48 public Future
<RunQueryResponse
> runQuery(RunQueryRequest request
) {
49 return makeAsyncCall(apiConfig
, Method
.RunQuery
, request
, RunQueryResponse
.PARSER
);
53 public Future
<ContinueQueryResponse
> continueQuery(ContinueQueryRequest request
) {
54 return makeAsyncCall(apiConfig
, Method
.ContinueQuery
, request
, ContinueQueryResponse
.PARSER
);
58 public Future
<LookupResponse
> lookup(LookupRequest request
) {
59 return makeAsyncCall(apiConfig
, Method
.Lookup
, request
, LookupResponse
.PARSER
);
63 public Future
<AllocateIdsResponse
> allocateIds(AllocateIdsRequest request
) {
64 return makeAsyncCall(apiConfig
, Method
.AllocateIds
, request
, AllocateIdsResponse
.PARSER
);
68 public Future
<CommitResponse
> commit(CommitRequest request
) {
69 return makeAsyncCall(apiConfig
, Method
.Commit
, request
, CommitResponse
.PARSER
);
73 public Future
<CommitResponse
> rawCommit(byte[] request
) {
74 return makeAsyncCall(apiConfig
, Method
.Commit
, request
, CommitResponse
.PARSER
);