From 5c54196097877ba7b74f0e3808bb13640603acfe Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Thu, 2 Jul 2020 12:03:34 +0200 Subject: [PATCH] [jOOQ/jOOQ#10343] Make JSON::data, JSONB::data, and XML::data NotNull --- jOOQ/src/main/java/org/jooq/JSON.java | 28 ++++++++++---------------- jOOQ/src/main/java/org/jooq/JSONB.java | 27 +++++++++---------------- jOOQ/src/main/java/org/jooq/XML.java | 28 ++++++++++---------------- 3 files changed, 32 insertions(+), 51 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/JSON.java b/jOOQ/src/main/java/org/jooq/JSON.java index 836994bcfd..bff78c240d 100644 --- a/jOOQ/src/main/java/org/jooq/JSON.java +++ b/jOOQ/src/main/java/org/jooq/JSON.java @@ -39,6 +39,8 @@ package org.jooq; import java.io.Serializable; +import org.jetbrains.annotations.NotNull; + /** * A JSON wrapper type for JSON data obtained from the database. *

@@ -54,9 +56,10 @@ public final class JSON implements Serializable { private final String data; private JSON(String data) { - this.data = data; + this.data = String.valueOf(data); } + @NotNull public final String data() { return data; } @@ -64,6 +67,7 @@ public final class JSON implements Serializable { /** * Create a new {@link JSON} instance from string data input. */ + @NotNull public static final JSON valueOf(String data) { return new JSON(data); } @@ -74,34 +78,24 @@ public final class JSON implements Serializable { * This is the same as {@link #valueOf(String)}, but it can be static * imported. */ + @NotNull public static final JSON json(String data) { return new JSON(data); } @Override public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((data == null) ? 0 : data.hashCode()); - return result; + return data.hashCode(); } @Override public boolean equals(Object obj) { if (this == obj) return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - JSON other = (JSON) obj; - if (data == null) { - if (other.data != null) - return false; - } - else if (!data.equals(other.data)) - return false; - return true; + if (obj instanceof JSON) + return data.equals(((JSON) obj).data); + return false; + } @Override diff --git a/jOOQ/src/main/java/org/jooq/JSONB.java b/jOOQ/src/main/java/org/jooq/JSONB.java index f74802dec0..e654cedd6b 100644 --- a/jOOQ/src/main/java/org/jooq/JSONB.java +++ b/jOOQ/src/main/java/org/jooq/JSONB.java @@ -39,6 +39,8 @@ package org.jooq; import java.io.Serializable; +import org.jetbrains.annotations.NotNull; + /** * A JSON wrapper type for JSONB data obtained from the database. *

@@ -54,9 +56,10 @@ public final class JSONB implements Serializable { private final String data; private JSONB(String data) { - this.data = data; + this.data = String.valueOf(data); } + @NotNull public final String data() { return data; } @@ -64,6 +67,7 @@ public final class JSONB implements Serializable { /** * Create a new {@link JSONB} instance from string data input. */ + @NotNull public static final JSONB valueOf(String data) { return new JSONB(data); } @@ -74,34 +78,23 @@ public final class JSONB implements Serializable { * This is the same as {@link #valueOf(String)}, but it can be static * imported. */ + @NotNull public static final JSONB jsonb(String data) { return new JSONB(data); } @Override public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((data == null) ? 0 : data.hashCode()); - return result; + return data.hashCode(); } @Override public boolean equals(Object obj) { if (this == obj) return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - JSONB other = (JSONB) obj; - if (data == null) { - if (other.data != null) - return false; - } - else if (!data.equals(other.data)) - return false; - return true; + if (obj instanceof JSONB) + return data.equals(((JSONB) obj).data); + return false; } @Override diff --git a/jOOQ/src/main/java/org/jooq/XML.java b/jOOQ/src/main/java/org/jooq/XML.java index 56cfeb00d7..3479671a61 100644 --- a/jOOQ/src/main/java/org/jooq/XML.java +++ b/jOOQ/src/main/java/org/jooq/XML.java @@ -39,6 +39,8 @@ package org.jooq; import java.io.Serializable; +import org.jetbrains.annotations.NotNull; + /** * An XML wrapper type for XML data obtained from the database. *

@@ -54,9 +56,10 @@ public final class XML implements Serializable { private final String data; private XML(String data) { - this.data = data; + this.data = String.valueOf(data); } + @NotNull public final String data() { return data; } @@ -64,6 +67,7 @@ public final class XML implements Serializable { /** * Create a new {@link XML} instance from string data input. */ + @NotNull public static final XML valueOf(String data) { return new XML(data); } @@ -74,34 +78,24 @@ public final class XML implements Serializable { * This is the same as {@link #valueOf(String)}, but it can be static * imported. */ + @NotNull public static final XML xml(String data) { return new XML(data); } @Override public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((data == null) ? 0 : data.hashCode()); - return result; + return data.hashCode(); } @Override public boolean equals(Object obj) { if (this == obj) return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - XML other = (XML) obj; - if (data == null) { - if (other.data != null) - return false; - } - else if (!data.equals(other.data)) - return false; - return true; + if (obj instanceof XML) + return data.equals(((XML) obj).data); + return false; + } @Override