summaryrefslogtreecommitdiff
path: root/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/KeyValueParameter.java
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/KeyValueParameter.java')
-rw-r--r--runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/KeyValueParameter.java37
1 files changed, 36 insertions, 1 deletions
diff --git a/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/KeyValueParameter.java b/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/KeyValueParameter.java
index 5f582c9..ae2e7e0 100644
--- a/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/KeyValueParameter.java
+++ b/runtime/src/main/java/eu/mulk/quarkus/googlecloud/jsonlogging/KeyValueParameter.java
@@ -2,11 +2,20 @@ package eu.mulk.quarkus.googlecloud.jsonlogging;
import java.math.BigDecimal;
import java.math.BigInteger;
+import java.util.Objects;
import javax.json.Json;
import javax.json.JsonObjectBuilder;
import javax.json.JsonValue;
-public record KeyValueParameter(String key, JsonValue value) implements StructuredParameter {
+public final class KeyValueParameter implements StructuredParameter {
+
+ private final String key;
+ private final JsonValue value;
+
+ private KeyValueParameter(String key, JsonValue value) {
+ this.key = key;
+ this.value = value;
+ }
public static KeyValueParameter of(String key, String value) {
return new KeyValueParameter(key, Json.createValue(value));
@@ -40,4 +49,30 @@ public record KeyValueParameter(String key, JsonValue value) implements Structur
public JsonObjectBuilder json() {
return Json.createObjectBuilder().add(key, value);
}
+
+ public String key() {
+ return key;
+ }
+
+ public JsonValue value() {
+ return value;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj == this) return true;
+ if (obj == null || obj.getClass() != this.getClass()) return false;
+ var that = (KeyValueParameter) obj;
+ return Objects.equals(this.key, that.key) && Objects.equals(this.value, that.value);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(key, value);
+ }
+
+ @Override
+ public String toString() {
+ return "KeyValueParameter[" + "key=" + key + ", " + "value=" + value + ']';
+ }
}