Class 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 Detail

      • BuildFunctionDeserializer

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

      • 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