Class ExternallyTaggedUnion.Deserializer<Union extends TaggedUnion<?,​?>,​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 Detail

      • Deserializer

        public Deserializer​(java.util.Map<java.lang.String,​JsonpDeserializer<? extends Member>> deserializers,
                            java.util.function.Function<Member,​Union> unionCtor)
      • Deserializer

        public 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> unKnownUnionCtor)
    • Method Detail

      • deserialize

        public Union deserialize​(java.lang.String type,
                                 jakarta.json.stream.JsonParser parser,
                                 JsonpMapper mapper,
                                 jakarta.json.stream.JsonParser.Event event)