Revision created by MOE tool push_codebase.
[gae.git] / java / src / main / com / google / appengine / api / datastore / AppEngineDatastoreV4Proxy.java
blobf46e594421952d4635fc795ceb42e18d91de8b89
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;
25 /**
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;
36 @Override
37 public Future<BeginTransactionResponse> beginTransaction(BeginTransactionRequest request) {
38 return makeAsyncCall(apiConfig, Method.BeginTransaction, request,
39 BeginTransactionResponse.PARSER);
42 @Override
43 public Future<RollbackResponse> rollback(RollbackRequest request) {
44 return makeAsyncCall(apiConfig, Method.Rollback, request, RollbackResponse.PARSER);
47 @Override
48 public Future<RunQueryResponse> runQuery(RunQueryRequest request) {
49 return makeAsyncCall(apiConfig, Method.RunQuery, request, RunQueryResponse.PARSER);
52 @Override
53 public Future<ContinueQueryResponse> continueQuery(ContinueQueryRequest request) {
54 return makeAsyncCall(apiConfig, Method.ContinueQuery, request, ContinueQueryResponse.PARSER);
57 @Override
58 public Future<LookupResponse> lookup(LookupRequest request) {
59 return makeAsyncCall(apiConfig, Method.Lookup, request, LookupResponse.PARSER);
62 @Override
63 public Future<AllocateIdsResponse> allocateIds(AllocateIdsRequest request) {
64 return makeAsyncCall(apiConfig, Method.AllocateIds, request, AllocateIdsResponse.PARSER);
67 @Override
68 public Future<CommitResponse> commit(CommitRequest request) {
69 return makeAsyncCall(apiConfig, Method.Commit, request, CommitResponse.PARSER);
72 @Override
73 public Future<CommitResponse> rawCommit(byte[] request) {
74 return makeAsyncCall(apiConfig, Method.Commit, request, CommitResponse.PARSER);