Package co.elastic.clients.json
Class ObjectDeserializer<ObjectType>
java.lang.Object
co.elastic.clients.json.JsonpDeserializer<ObjectType>
co.elastic.clients.json.DelegatingDeserializer<ObjectType>
co.elastic.clients.json.ObjectDeserializer<ObjectType>
- All Implemented Interfaces:
InstanceDeserializer<ObjectType,ObjectType>
public class ObjectDeserializer<ObjectType> extends DelegatingDeserializer<ObjectType> implements InstanceDeserializer<ObjectType,ObjectType>
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ObjectDeserializer.FieldDeserializer<ObjectType>
A field deserializer parses a value and calls the setter on the target object.static class
ObjectDeserializer.FieldObjectDeserializer<ObjectType,FieldType>
Field deserializer for objects (and boxed primitives) -
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<java.lang.String,ObjectDeserializer.FieldDeserializer<?>>
fieldDeserializers
-
Constructor Summary
Constructors Constructor Description ObjectDeserializer(java.util.function.Supplier<ObjectType> constructor)
-
Method Summary
Modifier and Type Method Description <FieldType>
voidadd(java.util.function.BiConsumer<ObjectType,FieldType> setter, JsonpDeserializer<FieldType> deserializer, java.lang.String name, java.lang.String... deprecatedNames)
void
add(java.util.function.ObjIntConsumer<ObjectType> setter, java.lang.String name, java.lang.String... deprecatedNames)
ObjectType
deserialize(jakarta.json.stream.JsonParser parser, JsonpMapper mapper, jakarta.json.stream.JsonParser.Event event)
Parse a value.ObjectType
deserialize(ObjectType value, jakarta.json.stream.JsonParser parser, JsonpMapper mapper, jakarta.json.stream.JsonParser.Event event)
void
ignore(java.lang.String name)
Used for internally tagged variants items to ignore their variant type property.protected void
parseUnknownField(jakarta.json.stream.JsonParser parser, JsonpMapper mapper, java.lang.String fieldName, ObjectType object)
void
setKey(java.util.function.BiConsumer<ObjectType,java.lang.String> setter)
Used for SingleKeyDictionary properties where the JSON representation is a property name and a nested object.void
setTypeProperty(java.lang.String name)
Used for internally tagged variants containers to indicate the object's property that defines the variant typevoid
setUnknownFieldHandler(QuadConsumer<ObjectType,java.lang.String,jakarta.json.stream.JsonParser,JsonpMapper> unknownFieldHandler)
Methods inherited from class co.elastic.clients.json.JsonpDeserializer
acceptedEvents, accepts, allAcceptedEvents, arrayDeserializer, booleanDeserializer, deserialize, doubleDeserializer, emptyObject, ensureAccepts, fixedValue, floatDeserializer, integerDeserializer, jsonValueDeserializer, lazy, lazy, lazy, lazyInstance, longDeserializer, numberDeserializer, of, of, of, stringDeserializer, stringMapDeserializer
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
fieldDeserializers
protected final java.util.Map<java.lang.String,ObjectDeserializer.FieldDeserializer<?>> fieldDeserializers
-
-
Constructor Details
-
ObjectDeserializer
-
-
Method Details
-
deserialize
public ObjectType deserialize(jakarta.json.stream.JsonParser parser, JsonpMapper mapper, jakarta.json.stream.JsonParser.Event event)Description copied from class:JsonpDeserializer
Parse a value. The value starts at the current state in the json stream. This method will usually start withensureAccepts(parser, event)
to ensure correctness of the starting state.- Specified by:
deserialize
in classJsonpDeserializer<ObjectType>
- Parameters:
parser
- the json parsermapper
- the jsonp mapperevent
- the current state ofparser
, which must be part ofJsonpDeserializer.acceptedEvents
- Returns:
- the parsed value
-
deserialize
public ObjectType deserialize(ObjectType value, jakarta.json.stream.JsonParser parser, JsonpMapper mapper, jakarta.json.stream.JsonParser.Event event)- Specified by:
deserialize
in interfaceInstanceDeserializer<ObjectType,ObjectType>
-
parseUnknownField
protected void parseUnknownField(jakarta.json.stream.JsonParser parser, JsonpMapper mapper, java.lang.String fieldName, ObjectType object) -
setUnknownFieldHandler
public void setUnknownFieldHandler(QuadConsumer<ObjectType,java.lang.String,jakarta.json.stream.JsonParser,JsonpMapper> unknownFieldHandler)- Overrides:
setUnknownFieldHandler
in classDelegatingDeserializer<ObjectType>
-
ignore
public void ignore(java.lang.String name)Description copied from class:DelegatingDeserializer
Used for internally tagged variants items to ignore their variant type property.- Overrides:
ignore
in classDelegatingDeserializer<ObjectType>
-
add
public <FieldType> void add(java.util.function.BiConsumer<ObjectType,FieldType> setter, JsonpDeserializer<FieldType> deserializer, java.lang.String name, java.lang.String... deprecatedNames)- Specified by:
add
in classDelegatingDeserializer<ObjectType>
-
setKey
Description copied from class:DelegatingDeserializer
Used for SingleKeyDictionary properties where the JSON representation is a property name and a nested object. This structure is flattened in the corresponding Java classes, and this method should be used to register its setter.- Specified by:
setKey
in classDelegatingDeserializer<ObjectType>
- Parameters:
setter
- the key setter
-
setTypeProperty
public void setTypeProperty(java.lang.String name)Description copied from class:DelegatingDeserializer
Used for internally tagged variants containers to indicate the object's property that defines the variant type- Specified by:
setTypeProperty
in classDelegatingDeserializer<ObjectType>
-
add
public void add(java.util.function.ObjIntConsumer<ObjectType> setter, java.lang.String name, java.lang.String... deprecatedNames)
-