diff options
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.java | 37 |
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 + ']'; + } } |