Package co.elastic.clients.json
Interface ExternallyTaggedUnion
public interface ExternallyTaggedUnion
Utilities for union types whose discriminant is not directly part of the structure, either as an enclosing property name or as
an inner property. This is used for Elasticsearch aggregation results and suggesters, using the
typed_keys parameter that
encodes a name+type in a single JSON property.-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classExternallyTaggedUnion.Deserializer<Union extends TaggedUnion<?,Member>,Member>A deserializer for externally-tagged unions.static classExternallyTaggedUnion.TypedKeysDeserializer<Union extends TaggedUnion<?,?>> -
Method Summary
Static Methods Modifier and Type Method Description static <T extends TaggedUnion<?, ?>>
JsonpDeserializer<java.util.Map<java.lang.String,java.util.List<T>>>arrayMapDeserializer(ExternallyTaggedUnion.TypedKeysDeserializer<T> deserializer)static <T extends JsonpSerializable & TaggedUnion<? extends JsonEnum, ?>>
voidserializeTypedKeys(java.util.Map<java.lang.String,T> map, jakarta.json.stream.JsonGenerator generator, JsonpMapper mapper)Serialize a map of externally tagged union objects.static <T extends JsonpSerializable & TaggedUnion<? extends JsonEnum, ?>>
voidserializeTypedKeysArray(java.util.Map<java.lang.String,java.util.List<T>> map, jakarta.json.stream.JsonGenerator generator, JsonpMapper mapper)Serialize a map of externally tagged union object arrays.static <T extends JsonpSerializable & TaggedUnion<? extends JsonEnum, ?>>
voidserializeTypedKeysInner(java.util.Map<java.lang.String,T> map, jakarta.json.stream.JsonGenerator generator, JsonpMapper mapper)Serialize a map of externally tagged union objects, without the enclosing start/end object.
-
Method Details
-
arrayMapDeserializer
static <T extends TaggedUnion<?, ?>> JsonpDeserializer<java.util.Map<java.lang.String,java.util.List<T>>> arrayMapDeserializer(ExternallyTaggedUnion.TypedKeysDeserializer<T> deserializer) -
serializeTypedKeys
static <T extends JsonpSerializable & TaggedUnion<? extends JsonEnum, ?>> void serializeTypedKeys(java.util.Map<java.lang.String,T> map, jakarta.json.stream.JsonGenerator generator, JsonpMapper mapper)Serialize a map of externally tagged union objects.If
JsonpMapperFeatures.SERIALIZE_TYPED_KEYSistrue(the default), the typed keys encoding (type#name) is used. -
serializeTypedKeysArray
static <T extends JsonpSerializable & TaggedUnion<? extends JsonEnum, ?>> void serializeTypedKeysArray(java.util.Map<java.lang.String,java.util.List<T>> map, jakarta.json.stream.JsonGenerator generator, JsonpMapper mapper)Serialize a map of externally tagged union object arrays.If
JsonpMapperFeatures.SERIALIZE_TYPED_KEYSistrue(the default), the typed keys encoding (type#name) is used. -
serializeTypedKeysInner
static <T extends JsonpSerializable & TaggedUnion<? extends JsonEnum, ?>> void serializeTypedKeysInner(java.util.Map<java.lang.String,T> map, jakarta.json.stream.JsonGenerator generator, JsonpMapper mapper)Serialize a map of externally tagged union objects, without the enclosing start/end object.If
JsonpMapperFeatures.SERIALIZE_TYPED_KEYSistrue(the default), the typed keys encoding (type#name) is used.
-