Package org.opensearch.client.json
Class ExternallyTaggedUnion
- java.lang.Object
-
- org.opensearch.client.json.ExternallyTaggedUnion
-
public class ExternallyTaggedUnion extends java.lang.ObjectUtilities 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 thetyped_keysparameter that encodes a name+type in a single JSON property.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classExternallyTaggedUnion.Deserializer<Union extends TaggedUnion<?,?>,Member>A deserializer for externally-tagged unions.static classExternallyTaggedUnion.TypedKeysDeserializer<Union extends TaggedUnion<?,?>>
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T extends TaggedUnion<?,?>>
JsonpDeserializer<java.util.Map<java.lang.String,java.util.List<T>>>arrayDeserializer(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 an externally tagged union using the typed keys encoding.static <T extends JsonpSerializable & TaggedUnion<? extends JsonEnum,?>>
voidserializeTypedKeysInner(java.util.Map<java.lang.String,T> map, jakarta.json.stream.JsonGenerator generator, JsonpMapper mapper)Serialize an externally tagged union using the typed keys encoding, without the enclosing start/end object.
-
-
-
Method Detail
-
arrayDeserializer
public static <T extends TaggedUnion<?,?>> JsonpDeserializer<java.util.Map<java.lang.String,java.util.List<T>>> arrayDeserializer(ExternallyTaggedUnion.TypedKeysDeserializer<T> deserializer)
-
serializeTypedKeys
public 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 an externally tagged union using the typed keys encoding.
-
serializeTypedKeysInner
public 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 an externally tagged union using the typed keys encoding, without the enclosing start/end object.
-
-