Class BuildFunctionDeserializer<B,​T>

java.lang.Object
co.elastic.clients.json.DelegatingDeserializer<T,​B>
co.elastic.clients.json.BuildFunctionDeserializer<B,​T>
All Implemented Interfaces:
JsonpDeserializer<T>

public class BuildFunctionDeserializer<B,​T>
extends DelegatingDeserializer<T,​B>
An object deserializer based on a builder object deserializer and a build function. Used in tagged unions that have union-level properties (aka "container properties").
  • Constructor Details

    • BuildFunctionDeserializer

      public BuildFunctionDeserializer​(JsonpDeserializer<B> builderDeserializer, java.util.function.Function<B,​T> build)
  • Method Details

    • unwrap

      protected JsonpDeserializer<B> unwrap()
      Specified by:
      unwrap in class DelegatingDeserializer<T,​B>
    • deserialize

      public T deserialize​(jakarta.json.stream.JsonParser parser, JsonpMapper mapper)
      Description copied from interface: JsonpDeserializer
      Deserialize a value. The value starts at the next state in the JSON stream.

      Default implementation delegates to JsonpDeserializer.deserialize(JsonParser, JsonpMapper, Event) after having checked that the next event is part of the accepted events.

      If the next event is JsonParser.Event.VALUE_NULL, null is returned unless JsonParser.Event.VALUE_NULL is part of the deserializer's accepted events.

      Parameters:
      parser - the JSON parser
      mapper - the JSON-P mapper
      Returns:
      the parsed value or null
    • deserialize

      public T deserialize​(jakarta.json.stream.JsonParser parser, JsonpMapper mapper, jakarta.json.stream.JsonParser.Event event)
      Description copied from interface: JsonpDeserializer
      Deserialize a value. The value starts at the current state in the JSON stream.
      Parameters:
      parser - the JSON parser
      mapper - the JSON-P mapper
      event - the current state of parser, which must be part of JsonpDeserializer.acceptedEvents()
      Returns:
      the parsed value