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 classObjectDeserializer.FieldDeserializer<ObjectType>A field deserializer parses a value and calls the setter on the target object.static classObjectDeserializer.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)voidadd(java.util.function.ObjIntConsumer<ObjectType> setter, java.lang.String name, java.lang.String... deprecatedNames)ObjectTypedeserialize(jakarta.json.stream.JsonParser parser, JsonpMapper mapper, jakarta.json.stream.JsonParser.Event event)Parse a value.ObjectTypedeserialize(ObjectType value, jakarta.json.stream.JsonParser parser, JsonpMapper mapper, jakarta.json.stream.JsonParser.Event event)voidignore(java.lang.String name)Used for internally tagged variants items to ignore their variant type property.protected voidparseUnknownField(jakarta.json.stream.JsonParser parser, JsonpMapper mapper, java.lang.String fieldName, ObjectType object)voidsetKey(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.voidsetTypeProperty(java.lang.String name)Used for internally tagged variants containers to indicate the object's property that defines the variant typevoidsetUnknownFieldHandler(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, stringMapDeserializerMethods 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:JsonpDeserializerParse 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:
deserializein 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:
deserializein 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:
setUnknownFieldHandlerin classDelegatingDeserializer<ObjectType>
-
ignore
public void ignore(java.lang.String name)Description copied from class:DelegatingDeserializerUsed for internally tagged variants items to ignore their variant type property.- Overrides:
ignorein 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:
addin classDelegatingDeserializer<ObjectType>
-
setKey
Description copied from class:DelegatingDeserializerUsed 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:
setKeyin classDelegatingDeserializer<ObjectType>- Parameters:
setter- the key setter
-
setTypeProperty
public void setTypeProperty(java.lang.String name)Description copied from class:DelegatingDeserializerUsed for internally tagged variants containers to indicate the object's property that defines the variant type- Specified by:
setTypePropertyin classDelegatingDeserializer<ObjectType>
-
add
public void add(java.util.function.ObjIntConsumer<ObjectType> setter, java.lang.String name, java.lang.String... deprecatedNames)
-