Package co.elastic.clients.json
Class ExternallyTaggedUnion.Deserializer<Union extends TaggedUnion<?,?>,Member>
java.lang.Object
co.elastic.clients.json.ExternallyTaggedUnion.Deserializer<Union,Member>
- Enclosing class:
- ExternallyTaggedUnion
public static class ExternallyTaggedUnion.Deserializer<Union extends TaggedUnion<?,?>,Member>
extends java.lang.Object
A deserializer for externally-tagged unions. Since the union variant discriminant is provided externally, this cannot be a
regular
JsonpDeserializer
as the caller has to provide the discriminant value.-
Constructor Summary
Constructors Constructor Description Deserializer(java.util.Map<java.lang.String,JsonpDeserializer<? extends Member>> deserializers, java.util.function.Function<Member,Union> unionCtor)
Deserializer(java.util.Map<java.lang.String,JsonpDeserializer<? extends Member>> deserializers, java.util.function.Function<Member,Union> unionCtor, java.util.function.BiFunction<java.lang.String,JsonData,Union> unknownVariantCtor)
-
Method Summary
Modifier and Type Method Description Union
deserialize(java.lang.String type, jakarta.json.stream.JsonParser parser, JsonpMapper mapper, jakarta.json.stream.JsonParser.Event event)
Deserialize a union value, given its type.ExternallyTaggedUnion.TypedKeysDeserializer<Union>
typedKeys()
Deserialize an externally tagged union encoded as typed keys, a JSON dictionary whose property names combine type and name in a single string.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
Deserializer
public Deserializer(java.util.Map<java.lang.String,JsonpDeserializer<? extends Member>> deserializers, java.util.function.Function<Member,Union> unionCtor) -
Deserializer
-
-
Method Details
-
deserialize
public Union deserialize(java.lang.String type, jakarta.json.stream.JsonParser parser, JsonpMapper mapper, jakarta.json.stream.JsonParser.Event event)Deserialize a union value, given its type. -
typedKeys
Deserialize an externally tagged union encoded as typed keys, a JSON dictionary whose property names combine type and name in a single string.
-