From 709cbfd60f7a7497004a59eeeaaff220a9f5e8b1 Mon Sep 17 00:00:00 2001 From: Andrea Lin Date: Fri, 22 Feb 2019 10:10:49 -0800 Subject: [PATCH 1/2] add builder methods to EmptyMessage --- .../google/api/gax/httpjson/EmptyMessage.java | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/gax-httpjson/src/main/java/com/google/api/gax/httpjson/EmptyMessage.java b/gax-httpjson/src/main/java/com/google/api/gax/httpjson/EmptyMessage.java index f2badaed2..6871daf74 100644 --- a/gax-httpjson/src/main/java/com/google/api/gax/httpjson/EmptyMessage.java +++ b/gax-httpjson/src/main/java/com/google/api/gax/httpjson/EmptyMessage.java @@ -30,6 +30,7 @@ package com.google.api.gax.httpjson; import java.util.List; +import java.util.Objects; import javax.annotation.Nullable; /** @@ -58,4 +59,62 @@ public List getFieldMask() { public ApiMessage getApiMessageRequestBody() { return null; } + + @Override + public boolean equals(Object other) { + return other instanceof EmptyMessage; + } + + private static final EmptyMessage DEFAULT_INSTANCE; + + public static EmptyMessage getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private EmptyMessage() {} + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(EmptyMessage prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + static { + DEFAULT_INSTANCE = new EmptyMessage(); + } + + public static class Builder { + Builder() {} + + public Builder mergeFrom(EmptyMessage other) { + return this; + } + + public Builder(EmptyMessage other) {} + + public EmptyMessage build() { + return new EmptyMessage(); + } + + public Builder clone() { + Builder newBuilder = new Builder(); + return newBuilder; + } + } + + @Override + public String toString() { + return "EmptyMessage{}"; + } + + @Override + public int hashCode() { + return Objects.hash(DEFAULT_INSTANCE); + } } From 42d0c1d329e0a0b5cde677dd0c37383c61981ad8 Mon Sep 17 00:00:00 2001 From: Andrea Lin Date: Thu, 28 Feb 2019 10:39:31 -0800 Subject: [PATCH 2/2] made EmptyMessage a singleton --- .../com/google/api/gax/httpjson/EmptyMessage.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/gax-httpjson/src/main/java/com/google/api/gax/httpjson/EmptyMessage.java b/gax-httpjson/src/main/java/com/google/api/gax/httpjson/EmptyMessage.java index 6871daf74..393332d01 100644 --- a/gax-httpjson/src/main/java/com/google/api/gax/httpjson/EmptyMessage.java +++ b/gax-httpjson/src/main/java/com/google/api/gax/httpjson/EmptyMessage.java @@ -65,7 +65,8 @@ public boolean equals(Object other) { return other instanceof EmptyMessage; } - private static final EmptyMessage DEFAULT_INSTANCE; + // This is a singleton class. + private static final EmptyMessage DEFAULT_INSTANCE = new EmptyMessage(); public static EmptyMessage getDefaultInstance() { return DEFAULT_INSTANCE; @@ -85,10 +86,6 @@ public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } - static { - DEFAULT_INSTANCE = new EmptyMessage(); - } - public static class Builder { Builder() {} @@ -99,12 +96,11 @@ public Builder mergeFrom(EmptyMessage other) { public Builder(EmptyMessage other) {} public EmptyMessage build() { - return new EmptyMessage(); + return DEFAULT_INSTANCE; } public Builder clone() { - Builder newBuilder = new Builder(); - return newBuilder; + return new Builder(); } }