From 1e49e885560c8c0882080a51e86ea52a0d02d3ce Mon Sep 17 00:00:00 2001 From: Mike Eltsufin Date: Mon, 25 Oct 2021 22:21:09 -0400 Subject: [PATCH] forgot to add messaging.proto --- .../grpc/goldens/MessagingClient.golden | 1589 +++++++++++++++++ 1 file changed, 1589 insertions(+) create mode 100644 src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/MessagingClient.golden diff --git a/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/MessagingClient.golden b/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/MessagingClient.golden new file mode 100644 index 00000000000..854993b9cc5 --- /dev/null +++ b/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/MessagingClient.golden @@ -0,0 +1,1589 @@ +package com.google.showcase.v1beta1; + +import com.google.api.core.ApiFuture; +import com.google.api.core.ApiFutures; +import com.google.api.core.BetaApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.longrunning.OperationFuture; +import com.google.api.gax.paging.AbstractFixedSizeCollection; +import com.google.api.gax.paging.AbstractPage; +import com.google.api.gax.paging.AbstractPagedListResponse; +import com.google.api.gax.rpc.BidiStreamingCallable; +import com.google.api.gax.rpc.ClientStreamingCallable; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.PageContext; +import com.google.api.gax.rpc.ServerStreamingCallable; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.common.util.concurrent.MoreExecutors; +import com.google.longrunning.Operation; +import com.google.longrunning.OperationsClient; +import com.google.protobuf.ByteString; +import com.google.protobuf.Empty; +import com.google.showcase.v1beta1.stub.MessagingStub; +import com.google.showcase.v1beta1.stub.MessagingStubSettings; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * This class provides the ability to make remote calls to the backing service through method calls + * that map to API methods. Sample code to get started: + * + *
{@code
+ * try (MessagingClient messagingClient = MessagingClient.create()) {
+ *   String displayName = "displayName1714148973";
+ *   String description = "description-1724546052";
+ *   Room response = messagingClient.createRoom(displayName, description);
+ * }
+ * }
+ * + *

Note: close() needs to be called on the MessagingClient object to clean up resources such as + * threads. In the example above, try-with-resources is used, which automatically calls close(). + * + *

The surface of this class includes several types of Java methods for each of the API's + * methods: + * + *

    + *
  1. A "flattened" method. With this type of method, the fields of the request type have been + * converted into function parameters. It may be the case that not all fields are available as + * parameters, and not every API method will have a flattened method entry point. + *
  2. A "request object" method. This type of method only takes one parameter, a request object, + * which must be constructed before the call. Not every API method will have a request object + * method. + *
  3. A "callable" method. This type of method takes no parameters and returns an immutable API + * callable object, which can be used to initiate calls to the service. + *
+ * + *

See the individual methods for example code. + * + *

Many parameters require resource names to be formatted in a particular way. To assist with + * these names, this class includes a format method for each type of name, and additionally a parse + * method to extract the individual identifiers contained within names that are returned. + * + *

This class can be customized by passing in a custom instance of MessagingSettings to create(). + * For example: + * + *

To customize credentials: + * + *

{@code
+ * MessagingSettings messagingSettings =
+ *     MessagingSettings.newBuilder()
+ *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
+ *         .build();
+ * MessagingClient messagingClient = MessagingClient.create(messagingSettings);
+ * }
+ * + *

To customize the endpoint: + * + *

{@code
+ * MessagingSettings messagingSettings =
+ *     MessagingSettings.newBuilder().setEndpoint(myEndpoint).build();
+ * MessagingClient messagingClient = MessagingClient.create(messagingSettings);
+ * }
+ * + *

Please refer to the GitHub repository's samples for more quickstart code snippets. + */ +@BetaApi +@Generated("by gapic-generator-java") +public class MessagingClient implements BackgroundResource { + private final MessagingSettings settings; + private final MessagingStub stub; + private final OperationsClient operationsClient; + + /** Constructs an instance of MessagingClient with default settings. */ + public static final MessagingClient create() throws IOException { + return create(MessagingSettings.newBuilder().build()); + } + + /** + * Constructs an instance of MessagingClient, using the given settings. The channels are created + * based on the settings passed in, or defaults for any settings that are not set. + */ + public static final MessagingClient create(MessagingSettings settings) throws IOException { + return new MessagingClient(settings); + } + + /** + * Constructs an instance of MessagingClient, using the given stub for making calls. This is for + * advanced usage - prefer using create(MessagingSettings). + */ + @BetaApi("A restructuring of stub classes is planned, so this may break in the future") + public static final MessagingClient create(MessagingStub stub) { + return new MessagingClient(stub); + } + + /** + * Constructs an instance of MessagingClient, using the given settings. This is protected so that + * it is easy to make a subclass, but otherwise, the static factory methods should be preferred. + */ + protected MessagingClient(MessagingSettings settings) throws IOException { + this.settings = settings; + this.stub = ((MessagingStubSettings) settings.getStubSettings()).createStub(); + this.operationsClient = OperationsClient.create(this.stub.getOperationsStub()); + } + + @BetaApi("A restructuring of stub classes is planned, so this may break in the future") + protected MessagingClient(MessagingStub stub) { + this.settings = null; + this.stub = stub; + this.operationsClient = OperationsClient.create(this.stub.getOperationsStub()); + } + + public final MessagingSettings getSettings() { + return settings; + } + + @BetaApi("A restructuring of stub classes is planned, so this may break in the future") + public MessagingStub getStub() { + return stub; + } + + /** + * Returns the OperationsClient that can be used to query the status of a long-running operation + * returned by another API method call. + */ + public final OperationsClient getOperationsClient() { + return operationsClient; + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *

{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   String displayName = "displayName1714148973";
+   *   String description = "description-1724546052";
+   *   Room response = messagingClient.createRoom(displayName, description);
+   * }
+   * }
+ * + * @param displayName + * @param description + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Room createRoom(String displayName, String description) { + CreateRoomRequest request = + CreateRoomRequest.newBuilder() + .setRoom( + Room.newBuilder().setDisplayName(displayName).setDescription(description).build()) + .build(); + return createRoom(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   CreateRoomRequest request =
+   *       CreateRoomRequest.newBuilder().setRoom(Room.newBuilder().build()).build();
+   *   Room response = messagingClient.createRoom(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Room createRoom(CreateRoomRequest request) { + return createRoomCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   CreateRoomRequest request =
+   *       CreateRoomRequest.newBuilder().setRoom(Room.newBuilder().build()).build();
+   *   ApiFuture future = messagingClient.createRoomCallable().futureCall(request);
+   *   // Do something.
+   *   Room response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable createRoomCallable() { + return stub.createRoomCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   RoomName name = RoomName.of("[ROOM]");
+   *   Room response = messagingClient.getRoom(name);
+   * }
+   * }
+ * + * @param name + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Room getRoom(RoomName name) { + GetRoomRequest request = + GetRoomRequest.newBuilder().setName(name == null ? null : name.toString()).build(); + return getRoom(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   String name = RoomName.of("[ROOM]").toString();
+   *   Room response = messagingClient.getRoom(name);
+   * }
+   * }
+ * + * @param name + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Room getRoom(String name) { + GetRoomRequest request = GetRoomRequest.newBuilder().setName(name).build(); + return getRoom(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   GetRoomRequest request =
+   *       GetRoomRequest.newBuilder().setName(RoomName.of("[ROOM]").toString()).build();
+   *   Room response = messagingClient.getRoom(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Room getRoom(GetRoomRequest request) { + return getRoomCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   GetRoomRequest request =
+   *       GetRoomRequest.newBuilder().setName(RoomName.of("[ROOM]").toString()).build();
+   *   ApiFuture future = messagingClient.getRoomCallable().futureCall(request);
+   *   // Do something.
+   *   Room response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable getRoomCallable() { + return stub.getRoomCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   UpdateRoomRequest request =
+   *       UpdateRoomRequest.newBuilder().setRoom(Room.newBuilder().build()).build();
+   *   Room response = messagingClient.updateRoom(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Room updateRoom(UpdateRoomRequest request) { + return updateRoomCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   UpdateRoomRequest request =
+   *       UpdateRoomRequest.newBuilder().setRoom(Room.newBuilder().build()).build();
+   *   ApiFuture future = messagingClient.updateRoomCallable().futureCall(request);
+   *   // Do something.
+   *   Room response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable updateRoomCallable() { + return stub.updateRoomCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   RoomName name = RoomName.of("[ROOM]");
+   *   messagingClient.deleteRoom(name);
+   * }
+   * }
+ * + * @param name + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final void deleteRoom(RoomName name) { + DeleteRoomRequest request = + DeleteRoomRequest.newBuilder().setName(name == null ? null : name.toString()).build(); + deleteRoom(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   String name = RoomName.of("[ROOM]").toString();
+   *   messagingClient.deleteRoom(name);
+   * }
+   * }
+ * + * @param name + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final void deleteRoom(String name) { + DeleteRoomRequest request = DeleteRoomRequest.newBuilder().setName(name).build(); + deleteRoom(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   DeleteRoomRequest request =
+   *       DeleteRoomRequest.newBuilder().setName(RoomName.of("[ROOM]").toString()).build();
+   *   messagingClient.deleteRoom(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final void deleteRoom(DeleteRoomRequest request) { + deleteRoomCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   DeleteRoomRequest request =
+   *       DeleteRoomRequest.newBuilder().setName(RoomName.of("[ROOM]").toString()).build();
+   *   ApiFuture future = messagingClient.deleteRoomCallable().futureCall(request);
+   *   // Do something.
+   *   future.get();
+   * }
+   * }
+ */ + public final UnaryCallable deleteRoomCallable() { + return stub.deleteRoomCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   ListRoomsRequest request =
+   *       ListRoomsRequest.newBuilder()
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   for (Room element : messagingClient.listRooms(request).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListRoomsPagedResponse listRooms(ListRoomsRequest request) { + return listRoomsPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   ListRoomsRequest request =
+   *       ListRoomsRequest.newBuilder()
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   ApiFuture future = messagingClient.listRoomsPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (Room element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable listRoomsPagedCallable() { + return stub.listRoomsPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   ListRoomsRequest request =
+   *       ListRoomsRequest.newBuilder()
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   while (true) {
+   *     ListRoomsResponse response = messagingClient.listRoomsCallable().call(request);
+   *     for (Room element : response.getResponsesList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable listRoomsCallable() { + return stub.listRoomsCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   ProfileName parent = ProfileName.of("[USER]");
+   *   UserName user = UserName.of("[USER]");
+   *   ByteString image = ByteString.EMPTY;
+   *   Blurb response = messagingClient.createBlurb(parent, user, image);
+   * }
+   * }
+ * + * @param parent + * @param user + * @param image + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Blurb createBlurb(ProfileName parent, UserName user, ByteString image) { + CreateBlurbRequest request = + CreateBlurbRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .setBlurb( + Blurb.newBuilder() + .setUser(user == null ? null : user.toString()) + .setImage(image) + .build()) + .build(); + return createBlurb(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   ProfileName parent = ProfileName.of("[USER]");
+   *   UserName user = UserName.of("[USER]");
+   *   String text = "text3556653";
+   *   Blurb response = messagingClient.createBlurb(parent, user, text);
+   * }
+   * }
+ * + * @param parent + * @param user + * @param text + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Blurb createBlurb(ProfileName parent, UserName user, String text) { + CreateBlurbRequest request = + CreateBlurbRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .setBlurb( + Blurb.newBuilder() + .setUser(user == null ? null : user.toString()) + .setText(text) + .build()) + .build(); + return createBlurb(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   ProfileName parent = ProfileName.of("[USER]");
+   *   String user = UserName.of("[USER]").toString();
+   *   ByteString image = ByteString.EMPTY;
+   *   Blurb response = messagingClient.createBlurb(parent, user, image);
+   * }
+   * }
+ * + * @param parent + * @param user + * @param image + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Blurb createBlurb(ProfileName parent, String user, ByteString image) { + CreateBlurbRequest request = + CreateBlurbRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .setBlurb(Blurb.newBuilder().setUser(user).setImage(image).build()) + .build(); + return createBlurb(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   ProfileName parent = ProfileName.of("[USER]");
+   *   String user = UserName.of("[USER]").toString();
+   *   String text = "text3556653";
+   *   Blurb response = messagingClient.createBlurb(parent, user, text);
+   * }
+   * }
+ * + * @param parent + * @param user + * @param text + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Blurb createBlurb(ProfileName parent, String user, String text) { + CreateBlurbRequest request = + CreateBlurbRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .setBlurb(Blurb.newBuilder().setUser(user).setText(text).build()) + .build(); + return createBlurb(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   RoomName parent = RoomName.of("[ROOM]");
+   *   UserName user = UserName.of("[USER]");
+   *   ByteString image = ByteString.EMPTY;
+   *   Blurb response = messagingClient.createBlurb(parent, user, image);
+   * }
+   * }
+ * + * @param parent + * @param user + * @param image + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Blurb createBlurb(RoomName parent, UserName user, ByteString image) { + CreateBlurbRequest request = + CreateBlurbRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .setBlurb( + Blurb.newBuilder() + .setUser(user == null ? null : user.toString()) + .setImage(image) + .build()) + .build(); + return createBlurb(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   RoomName parent = RoomName.of("[ROOM]");
+   *   UserName user = UserName.of("[USER]");
+   *   String text = "text3556653";
+   *   Blurb response = messagingClient.createBlurb(parent, user, text);
+   * }
+   * }
+ * + * @param parent + * @param user + * @param text + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Blurb createBlurb(RoomName parent, UserName user, String text) { + CreateBlurbRequest request = + CreateBlurbRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .setBlurb( + Blurb.newBuilder() + .setUser(user == null ? null : user.toString()) + .setText(text) + .build()) + .build(); + return createBlurb(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   RoomName parent = RoomName.of("[ROOM]");
+   *   String user = UserName.of("[USER]").toString();
+   *   ByteString image = ByteString.EMPTY;
+   *   Blurb response = messagingClient.createBlurb(parent, user, image);
+   * }
+   * }
+ * + * @param parent + * @param user + * @param image + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Blurb createBlurb(RoomName parent, String user, ByteString image) { + CreateBlurbRequest request = + CreateBlurbRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .setBlurb(Blurb.newBuilder().setUser(user).setImage(image).build()) + .build(); + return createBlurb(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   RoomName parent = RoomName.of("[ROOM]");
+   *   String user = UserName.of("[USER]").toString();
+   *   String text = "text3556653";
+   *   Blurb response = messagingClient.createBlurb(parent, user, text);
+   * }
+   * }
+ * + * @param parent + * @param user + * @param text + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Blurb createBlurb(RoomName parent, String user, String text) { + CreateBlurbRequest request = + CreateBlurbRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .setBlurb(Blurb.newBuilder().setUser(user).setText(text).build()) + .build(); + return createBlurb(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   String parent =
+   *       BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]").toString();
+   *   UserName user = UserName.of("[USER]");
+   *   ByteString image = ByteString.EMPTY;
+   *   Blurb response = messagingClient.createBlurb(parent, user, image);
+   * }
+   * }
+ * + * @param parent + * @param user + * @param image + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Blurb createBlurb(String parent, UserName user, ByteString image) { + CreateBlurbRequest request = + CreateBlurbRequest.newBuilder() + .setParent(parent) + .setBlurb( + Blurb.newBuilder() + .setUser(user == null ? null : user.toString()) + .setImage(image) + .build()) + .build(); + return createBlurb(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   String parent =
+   *       BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]").toString();
+   *   UserName user = UserName.of("[USER]");
+   *   String text = "text3556653";
+   *   Blurb response = messagingClient.createBlurb(parent, user, text);
+   * }
+   * }
+ * + * @param parent + * @param user + * @param text + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Blurb createBlurb(String parent, UserName user, String text) { + CreateBlurbRequest request = + CreateBlurbRequest.newBuilder() + .setParent(parent) + .setBlurb( + Blurb.newBuilder() + .setUser(user == null ? null : user.toString()) + .setText(text) + .build()) + .build(); + return createBlurb(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   String parent =
+   *       BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]").toString();
+   *   String user = UserName.of("[USER]").toString();
+   *   ByteString image = ByteString.EMPTY;
+   *   Blurb response = messagingClient.createBlurb(parent, user, image);
+   * }
+   * }
+ * + * @param parent + * @param user + * @param image + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Blurb createBlurb(String parent, String user, ByteString image) { + CreateBlurbRequest request = + CreateBlurbRequest.newBuilder() + .setParent(parent) + .setBlurb(Blurb.newBuilder().setUser(user).setImage(image).build()) + .build(); + return createBlurb(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   String parent =
+   *       BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]").toString();
+   *   String user = UserName.of("[USER]").toString();
+   *   String text = "text3556653";
+   *   Blurb response = messagingClient.createBlurb(parent, user, text);
+   * }
+   * }
+ * + * @param parent + * @param user + * @param text + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Blurb createBlurb(String parent, String user, String text) { + CreateBlurbRequest request = + CreateBlurbRequest.newBuilder() + .setParent(parent) + .setBlurb(Blurb.newBuilder().setUser(user).setText(text).build()) + .build(); + return createBlurb(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   CreateBlurbRequest request =
+   *       CreateBlurbRequest.newBuilder()
+   *           .setParent(
+   *               BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
+   *                   .toString())
+   *           .setBlurb(Blurb.newBuilder().build())
+   *           .build();
+   *   Blurb response = messagingClient.createBlurb(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Blurb createBlurb(CreateBlurbRequest request) { + return createBlurbCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   CreateBlurbRequest request =
+   *       CreateBlurbRequest.newBuilder()
+   *           .setParent(
+   *               BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
+   *                   .toString())
+   *           .setBlurb(Blurb.newBuilder().build())
+   *           .build();
+   *   ApiFuture future = messagingClient.createBlurbCallable().futureCall(request);
+   *   // Do something.
+   *   Blurb response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable createBlurbCallable() { + return stub.createBlurbCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   BlurbName name = BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]");
+   *   Blurb response = messagingClient.getBlurb(name);
+   * }
+   * }
+ * + * @param name + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Blurb getBlurb(BlurbName name) { + GetBlurbRequest request = + GetBlurbRequest.newBuilder().setName(name == null ? null : name.toString()).build(); + return getBlurb(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   String name =
+   *       BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]").toString();
+   *   Blurb response = messagingClient.getBlurb(name);
+   * }
+   * }
+ * + * @param name + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Blurb getBlurb(String name) { + GetBlurbRequest request = GetBlurbRequest.newBuilder().setName(name).build(); + return getBlurb(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   GetBlurbRequest request =
+   *       GetBlurbRequest.newBuilder()
+   *           .setName(
+   *               BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
+   *                   .toString())
+   *           .build();
+   *   Blurb response = messagingClient.getBlurb(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Blurb getBlurb(GetBlurbRequest request) { + return getBlurbCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   GetBlurbRequest request =
+   *       GetBlurbRequest.newBuilder()
+   *           .setName(
+   *               BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
+   *                   .toString())
+   *           .build();
+   *   ApiFuture future = messagingClient.getBlurbCallable().futureCall(request);
+   *   // Do something.
+   *   Blurb response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable getBlurbCallable() { + return stub.getBlurbCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   UpdateBlurbRequest request =
+   *       UpdateBlurbRequest.newBuilder().setBlurb(Blurb.newBuilder().build()).build();
+   *   Blurb response = messagingClient.updateBlurb(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Blurb updateBlurb(UpdateBlurbRequest request) { + return updateBlurbCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   UpdateBlurbRequest request =
+   *       UpdateBlurbRequest.newBuilder().setBlurb(Blurb.newBuilder().build()).build();
+   *   ApiFuture future = messagingClient.updateBlurbCallable().futureCall(request);
+   *   // Do something.
+   *   Blurb response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable updateBlurbCallable() { + return stub.updateBlurbCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   BlurbName name = BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]");
+   *   messagingClient.deleteBlurb(name);
+   * }
+   * }
+ * + * @param name + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final void deleteBlurb(BlurbName name) { + DeleteBlurbRequest request = + DeleteBlurbRequest.newBuilder().setName(name == null ? null : name.toString()).build(); + deleteBlurb(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   String name =
+   *       BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]").toString();
+   *   messagingClient.deleteBlurb(name);
+   * }
+   * }
+ * + * @param name + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final void deleteBlurb(String name) { + DeleteBlurbRequest request = DeleteBlurbRequest.newBuilder().setName(name).build(); + deleteBlurb(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   DeleteBlurbRequest request =
+   *       DeleteBlurbRequest.newBuilder()
+   *           .setName(
+   *               BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
+   *                   .toString())
+   *           .build();
+   *   messagingClient.deleteBlurb(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final void deleteBlurb(DeleteBlurbRequest request) { + deleteBlurbCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   DeleteBlurbRequest request =
+   *       DeleteBlurbRequest.newBuilder()
+   *           .setName(
+   *               BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
+   *                   .toString())
+   *           .build();
+   *   ApiFuture future = messagingClient.deleteBlurbCallable().futureCall(request);
+   *   // Do something.
+   *   future.get();
+   * }
+   * }
+ */ + public final UnaryCallable deleteBlurbCallable() { + return stub.deleteBlurbCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   ProfileName parent = ProfileName.of("[USER]");
+   *   for (Blurb element : messagingClient.listBlurbs(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListBlurbsPagedResponse listBlurbs(ProfileName parent) { + ListBlurbsRequest request = + ListBlurbsRequest.newBuilder().setParent(parent == null ? null : parent.toString()).build(); + return listBlurbs(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   RoomName parent = RoomName.of("[ROOM]");
+   *   for (Blurb element : messagingClient.listBlurbs(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListBlurbsPagedResponse listBlurbs(RoomName parent) { + ListBlurbsRequest request = + ListBlurbsRequest.newBuilder().setParent(parent == null ? null : parent.toString()).build(); + return listBlurbs(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   String parent =
+   *       BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]").toString();
+   *   for (Blurb element : messagingClient.listBlurbs(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListBlurbsPagedResponse listBlurbs(String parent) { + ListBlurbsRequest request = ListBlurbsRequest.newBuilder().setParent(parent).build(); + return listBlurbs(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   ListBlurbsRequest request =
+   *       ListBlurbsRequest.newBuilder()
+   *           .setParent(
+   *               BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
+   *                   .toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   for (Blurb element : messagingClient.listBlurbs(request).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListBlurbsPagedResponse listBlurbs(ListBlurbsRequest request) { + return listBlurbsPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   ListBlurbsRequest request =
+   *       ListBlurbsRequest.newBuilder()
+   *           .setParent(
+   *               BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
+   *                   .toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   ApiFuture future = messagingClient.listBlurbsPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (Blurb element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable listBlurbsPagedCallable() { + return stub.listBlurbsPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   ListBlurbsRequest request =
+   *       ListBlurbsRequest.newBuilder()
+   *           .setParent(
+   *               BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
+   *                   .toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   while (true) {
+   *     ListBlurbsResponse response = messagingClient.listBlurbsCallable().call(request);
+   *     for (Blurb element : response.getResponsesList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable listBlurbsCallable() { + return stub.listBlurbsCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   String query = "query107944136";
+   *   SearchBlurbsResponse response = messagingClient.searchBlurbsAsync(query).get();
+   * }
+   * }
+ * + * @param query + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture searchBlurbsAsync( + String query) { + SearchBlurbsRequest request = SearchBlurbsRequest.newBuilder().setQuery(query).build(); + return searchBlurbsAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   SearchBlurbsRequest request =
+   *       SearchBlurbsRequest.newBuilder()
+   *           .setQuery("query107944136")
+   *           .setParent(
+   *               BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
+   *                   .toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   SearchBlurbsResponse response = messagingClient.searchBlurbsAsync(request).get();
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture searchBlurbsAsync( + SearchBlurbsRequest request) { + return searchBlurbsOperationCallable().futureCall(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   SearchBlurbsRequest request =
+   *       SearchBlurbsRequest.newBuilder()
+   *           .setQuery("query107944136")
+   *           .setParent(
+   *               BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
+   *                   .toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   OperationFuture future =
+   *       messagingClient.searchBlurbsOperationCallable().futureCall(request);
+   *   // Do something.
+   *   SearchBlurbsResponse response = future.get();
+   * }
+   * }
+ */ + public final OperationCallable + searchBlurbsOperationCallable() { + return stub.searchBlurbsOperationCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   SearchBlurbsRequest request =
+   *       SearchBlurbsRequest.newBuilder()
+   *           .setQuery("query107944136")
+   *           .setParent(
+   *               BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
+   *                   .toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   ApiFuture future = messagingClient.searchBlurbsCallable().futureCall(request);
+   *   // Do something.
+   *   Operation response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable searchBlurbsCallable() { + return stub.searchBlurbsCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   StreamBlurbsRequest request =
+   *       StreamBlurbsRequest.newBuilder()
+   *           .setName(
+   *               BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
+   *                   .toString())
+   *           .build();
+   *   ServerStream stream =
+   *       messagingClient.streamBlurbsCallable().call(request);
+   *   for (StreamBlurbsResponse response : stream) {
+   *     // Do something when a response is received.
+   *   }
+   * }
+   * }
+ */ + public final ServerStreamingCallable + streamBlurbsCallable() { + return stub.streamBlurbsCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   ApiStreamObserver responseObserver =
+   *       new ApiStreamObserver() {
+   *         {@literal @}Override
+   *         public void onNext(SendBlurbsResponse response) {
+   *           // Do something when a response is received.
+   *         }
+   *
+   *         {@literal @}Override
+   *         public void onError(Throwable t) {
+   *           // Add error-handling
+   *         }
+   *
+   *         {@literal @}Override
+   *         public void onCompleted() {
+   *           // Do something when complete.
+   *         }
+   *       };
+   *   ApiStreamObserver requestObserver =
+   *       messagingClient.sendBlurbs().clientStreamingCall(responseObserver);
+   *   CreateBlurbRequest request =
+   *       CreateBlurbRequest.newBuilder()
+   *           .setParent(
+   *               BlurbName.ofUserLegacyUserBlurbName("[USER]", "[LEGACY_USER]", "[BLURB]")
+   *                   .toString())
+   *           .setBlurb(Blurb.newBuilder().build())
+   *           .build();
+   *   requestObserver.onNext(request);
+   * }
+   * }
+ */ + public final ClientStreamingCallable + sendBlurbsCallable() { + return stub.sendBlurbsCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Sample code: + * + *
{@code
+   * try (MessagingClient messagingClient = MessagingClient.create()) {
+   *   BidiStream bidiStream =
+   *       messagingClient.connectCallable().call();
+   *   ConnectRequest request = ConnectRequest.newBuilder().build();
+   *   bidiStream.send(request);
+   *   for (StreamBlurbsResponse response : bidiStream) {
+   *     // Do something when a response is received.
+   *   }
+   * }
+   * }
+ */ + public final BidiStreamingCallable connectCallable() { + return stub.connectCallable(); + } + + @Override + public final void close() { + stub.close(); + } + + @Override + public void shutdown() { + stub.shutdown(); + } + + @Override + public boolean isShutdown() { + return stub.isShutdown(); + } + + @Override + public boolean isTerminated() { + return stub.isTerminated(); + } + + @Override + public void shutdownNow() { + stub.shutdownNow(); + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return stub.awaitTermination(duration, unit); + } + + public static class ListRoomsPagedResponse + extends AbstractPagedListResponse< + ListRoomsRequest, ListRoomsResponse, Room, ListRoomsPage, ListRoomsFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext context, + ApiFuture futureResponse) { + ApiFuture futurePage = + ListRoomsPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, input -> new ListRoomsPagedResponse(input), MoreExecutors.directExecutor()); + } + + private ListRoomsPagedResponse(ListRoomsPage page) { + super(page, ListRoomsFixedSizeCollection.createEmptyCollection()); + } + } + + public static class ListRoomsPage + extends AbstractPage { + + private ListRoomsPage( + PageContext context, + ListRoomsResponse response) { + super(context, response); + } + + private static ListRoomsPage createEmptyPage() { + return new ListRoomsPage(null, null); + } + + @Override + protected ListRoomsPage createPage( + PageContext context, + ListRoomsResponse response) { + return new ListRoomsPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + PageContext context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class ListRoomsFixedSizeCollection + extends AbstractFixedSizeCollection< + ListRoomsRequest, ListRoomsResponse, Room, ListRoomsPage, ListRoomsFixedSizeCollection> { + + private ListRoomsFixedSizeCollection(List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static ListRoomsFixedSizeCollection createEmptyCollection() { + return new ListRoomsFixedSizeCollection(null, 0); + } + + @Override + protected ListRoomsFixedSizeCollection createCollection( + List pages, int collectionSize) { + return new ListRoomsFixedSizeCollection(pages, collectionSize); + } + } + + public static class ListBlurbsPagedResponse + extends AbstractPagedListResponse< + ListBlurbsRequest, + ListBlurbsResponse, + Blurb, + ListBlurbsPage, + ListBlurbsFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext context, + ApiFuture futureResponse) { + ApiFuture futurePage = + ListBlurbsPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, input -> new ListBlurbsPagedResponse(input), MoreExecutors.directExecutor()); + } + + private ListBlurbsPagedResponse(ListBlurbsPage page) { + super(page, ListBlurbsFixedSizeCollection.createEmptyCollection()); + } + } + + public static class ListBlurbsPage + extends AbstractPage { + + private ListBlurbsPage( + PageContext context, + ListBlurbsResponse response) { + super(context, response); + } + + private static ListBlurbsPage createEmptyPage() { + return new ListBlurbsPage(null, null); + } + + @Override + protected ListBlurbsPage createPage( + PageContext context, + ListBlurbsResponse response) { + return new ListBlurbsPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + PageContext context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class ListBlurbsFixedSizeCollection + extends AbstractFixedSizeCollection< + ListBlurbsRequest, + ListBlurbsResponse, + Blurb, + ListBlurbsPage, + ListBlurbsFixedSizeCollection> { + + private ListBlurbsFixedSizeCollection(List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static ListBlurbsFixedSizeCollection createEmptyCollection() { + return new ListBlurbsFixedSizeCollection(null, 0); + } + + @Override + protected ListBlurbsFixedSizeCollection createCollection( + List pages, int collectionSize) { + return new ListBlurbsFixedSizeCollection(pages, collectionSize); + } + } +}