From c9ee7adcc59f2cb686594b537e336ecc01896a0d Mon Sep 17 00:00:00 2001 From: Joel Leitch Date: Fri, 3 Jun 2011 19:02:28 +0000 Subject: [PATCH] Start using JsonNull.INSTANCE everywhere and remove creation method. --- .../main/java/com/google/gson/JsonNull.java | 20 +++---------------- .../java/com/google/gson/JsonNullTest.java | 4 ++-- .../java/com/google/gson/JsonObjectTest.java | 7 ++++--- 3 files changed, 9 insertions(+), 22 deletions(-) diff --git a/gson/src/main/java/com/google/gson/JsonNull.java b/gson/src/main/java/com/google/gson/JsonNull.java index 26e391e6..9426c200 100755 --- a/gson/src/main/java/com/google/gson/JsonNull.java +++ b/gson/src/main/java/com/google/gson/JsonNull.java @@ -28,7 +28,7 @@ import java.io.IOException; public final class JsonNull extends JsonElement { /** * singleton for JsonNull - * + * * @since 1.8 */ public static final JsonNull INSTANCE = new JsonNull(); @@ -46,7 +46,7 @@ public final class JsonNull extends JsonElement { protected void toString(Appendable sb, Escaper escaper) throws IOException { sb.append("null"); } - + /** * All instances of JsonNull have the same hash code since they are indistinguishable */ @@ -54,7 +54,7 @@ public final class JsonNull extends JsonElement { public int hashCode() { return JsonNull.class.hashCode(); } - + /** * All instances of JsonNull are the same */ @@ -62,18 +62,4 @@ public final class JsonNull extends JsonElement { public boolean equals(Object other) { return this == other || other instanceof JsonNull; } - - /** - * Creation method used to return an instance of a {@link JsonNull}. To reduce the memory - * footprint, a single object has been created for this class; therefore the same instance is - * being returned for each invocation of this method. This method is kept private since we - * prefer the users to use {@link JsonNull#JsonNull()} which is similar to how other JsonElements - * are created. Note that all instances of JsonNull return true for {@link #equals(Object)} - * when compared to each other. - * - * @return a instance of a {@link JsonNull} - */ - static JsonNull createJsonNull() { - return INSTANCE; - } } diff --git a/gson/src/test/java/com/google/gson/JsonNullTest.java b/gson/src/test/java/com/google/gson/JsonNullTest.java index 9e3c6ea9..e928ab9f 100644 --- a/gson/src/test/java/com/google/gson/JsonNullTest.java +++ b/gson/src/test/java/com/google/gson/JsonNullTest.java @@ -17,6 +17,7 @@ package com.google.gson; import com.google.gson.common.MoreAsserts; + import junit.framework.TestCase; /** @@ -28,7 +29,6 @@ public final class JsonNullTest extends TestCase { public void testEqualsAndHashcode() { MoreAsserts.assertEqualsAndHashCode(new JsonNull(), new JsonNull()); MoreAsserts.assertEqualsAndHashCode(new JsonNull(), JsonNull.INSTANCE); - MoreAsserts.assertEqualsAndHashCode(new JsonNull(), JsonNull.createJsonNull()); - MoreAsserts.assertEqualsAndHashCode(JsonNull.createJsonNull(), JsonNull.createJsonNull()); + MoreAsserts.assertEqualsAndHashCode(JsonNull.INSTANCE, JsonNull.INSTANCE); } } diff --git a/gson/src/test/java/com/google/gson/JsonObjectTest.java b/gson/src/test/java/com/google/gson/JsonObjectTest.java index 9065ca71..d0747a6e 100644 --- a/gson/src/test/java/com/google/gson/JsonObjectTest.java +++ b/gson/src/test/java/com/google/gson/JsonObjectTest.java @@ -17,6 +17,7 @@ package com.google.gson; import com.google.gson.common.MoreAsserts; + import junit.framework.TestCase; /** @@ -56,12 +57,12 @@ public class JsonObjectTest extends TestCase { public void testAddingNullOrEmptyPropertyName() throws Exception { JsonObject jsonObj = new JsonObject(); try { - jsonObj.add(null, JsonNull.createJsonNull()); + jsonObj.add(null, JsonNull.INSTANCE); fail("Should not allow null property names."); } catch (NullPointerException expected) { } - jsonObj.add("", JsonNull.createJsonNull()); - jsonObj.add(" \t", JsonNull.createJsonNull()); + jsonObj.add("", JsonNull.INSTANCE); + jsonObj.add(" \t", JsonNull.INSTANCE); } public void testAddingBooleanProperties() throws Exception {