Interface JsonNullable<T>

All Known Implementing Classes:
JsonNullable.Defined, JsonNullable.Undefined

public sealed interface JsonNullable<T> permits JsonNullable.Defined<T>, JsonNullable.Undefined<T>
Русский: Специальный тип который позволяет указывать как записывать/считывать поля из JSON в состояниях, когда поле указано и/или является `null` или не является `null` в JSON Работает как для JsonWriter так и JsonReader
English: A special type that allows you to specify how to write/read fields from JSON in states where the field is specified and/or is `null` or is not `null` in JSON Works for both JsonWriter and JsonReader

Пример / Example:
 
 @Json
 record Example(JsonNullable<String> definedNonNull,
                JsonNullable<String> definedNull,
                JsonNullable<String> undefined) { }
 
 
 
 jsonWriter.toByteArray(
      new Example(JsonNullable.of("Interstellar"),
                  JsonNullable.nullValue(),
                  JsonNullable.undefined())
  );
 
 
JsonNullable.undefined() is fully omitted cause it is undefined →

 { "definedNonNull": "Interstellar", "definedNull": null }
 
Sa
  • Method Details

    • isDefined

      boolean isDefined()
    • isNull

      default boolean isNull()
    • value

      @Nullable T value()
    • undefined

      static <T> JsonNullable<T> undefined()
    • nullValue

      static <T> JsonNullable<T> nullValue()
    • of

      static <T> JsonNullable<T> of(@Nonnull T value)
    • ofNullable

      static <T> JsonNullable<T> ofNullable(@Nullable T value)