Package co.elastic.clients.json
Class ObjectBuilderDeserializer<T,B extends ObjectBuilder<T>>
java.lang.Object
co.elastic.clients.json.DelegatingDeserializer<T,B>
co.elastic.clients.json.ObjectBuilderDeserializer<T,B>
- All Implemented Interfaces:
JsonpDeserializer<T>
public class ObjectBuilderDeserializer<T,B extends ObjectBuilder<T>>
extends DelegatingDeserializer<T,B>
An object deserializer based on an
ObjectBuilder
.-
Nested Class Summary
Nested classes/interfaces inherited from class co.elastic.clients.json.DelegatingDeserializer
DelegatingDeserializer.SameType<T>
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T,
B extends ObjectBuilder<T>>
JsonpDeserializer<T>createForObject
(Supplier<B> ctor, Consumer<ObjectDeserializer<B>> configurer) deserialize
(jakarta.json.stream.JsonParser parser, JsonpMapper mapper) Deserialize a value.deserialize
(jakarta.json.stream.JsonParser parser, JsonpMapper mapper, jakarta.json.stream.JsonParser.Event event) Deserialize a value.static <B extends ObjectBuilder<T>,
T>
JsonpDeserializer<T>lazy
(Supplier<B> builderCtor, Consumer<ObjectDeserializer<B>> builderDeserializerSetup) static <B,
T> JsonpDeserializer<T> lazy
(Supplier<B> builderCtor, Consumer<ObjectDeserializer<B>> builderDeserializerSetup, Function<B, T> buildFn) protected JsonpDeserializer<B>
unwrap()
Methods inherited from class co.elastic.clients.json.DelegatingDeserializer
acceptedEvents, nativeEvents, unwrap
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface co.elastic.clients.json.JsonpDeserializer
accepts
-
Constructor Details
-
ObjectBuilderDeserializer
-
-
Method Details
-
lazy
public static <B extends ObjectBuilder<T>,T> JsonpDeserializer<T> lazy(Supplier<B> builderCtor, Consumer<ObjectDeserializer<B>> builderDeserializerSetup) -
lazy
public static <B,T> JsonpDeserializer<T> lazy(Supplier<B> builderCtor, Consumer<ObjectDeserializer<B>> builderDeserializerSetup, Function<B, T> buildFn) -
createForObject
public static <T,B extends ObjectBuilder<T>> JsonpDeserializer<T> createForObject(Supplier<B> ctor, Consumer<ObjectDeserializer<B>> configurer) -
unwrap
- Specified by:
unwrap
in classDelegatingDeserializer<T,
B extends ObjectBuilder<T>>
-
deserialize
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 unlessJsonParser.Event.VALUE_NULL
is part of the deserializer's accepted events.- Parameters:
parser
- the JSON parsermapper
- 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 parsermapper
- the JSON-P mapperevent
- the current state ofparser
, which must be part ofJsonpDeserializer.acceptedEvents()
- Returns:
- the parsed value
-