Class JsonpDeserializer<V>

java.lang.Object
co.elastic.clients.json.JsonpDeserializer<V>
Direct Known Subclasses:
BuildFunctionDeserializer, DelegatingDeserializer, ObjectBuilderDeserializer, StringEnum.Deserializer, Union2.JsonpParser

public abstract class JsonpDeserializer<V>
extends java.lang.Object
  • Constructor Details

    • JsonpDeserializer

      protected JsonpDeserializer​(java.util.EnumSet<jakarta.json.stream.JsonParser.Event> acceptedEvents)
  • Method Details

    • allAcceptedEvents

      protected static java.util.EnumSet<jakarta.json.stream.JsonParser.Event> allAcceptedEvents​(JsonpDeserializer<?>... deserializers)
      Combines accepted events from a number of deserializers
    • acceptedEvents

      public final java.util.EnumSet<jakarta.json.stream.JsonParser.Event> acceptedEvents()
      The json events this deserializer accepts as a starting point
    • accepts

      public final boolean accepts​(jakarta.json.stream.JsonParser.Event event)
      Convenience method for acceptedEvents.contains(event)
    • ensureAccepts

      protected final void ensureAccepts​(jakarta.json.stream.JsonParser parser, jakarta.json.stream.JsonParser.Event event)
    • deserialize

      public V deserialize​(jakarta.json.stream.JsonParser parser, JsonpMapper mapper)
      Parse a value. The value starts at the next state in the json stream.
      Parameters:
      parser - the json parser
      mapper - the jsonp mapper
      Returns:
      the parsed value
    • deserialize

      public abstract V deserialize​(jakarta.json.stream.JsonParser parser, JsonpMapper mapper, jakarta.json.stream.JsonParser.Event event)
      Parse a value. The value starts at the current state in the json stream. This method will usually start with ensureAccepts(parser, event) to ensure correctness of the starting state.
      Parameters:
      parser - the json parser
      mapper - the jsonp mapper
      event - the current state of parser, which must be part of acceptedEvents
      Returns:
      the parsed value
    • of

      public static <T> JsonpDeserializer<T> of​(java.lang.Class<T> clazz)
      Creates a deserializer for a class that delegates to the mapper provided to deserialize(JsonParser, JsonpMapper).
    • of

      public static <T> JsonpDeserializer<T> of​(java.util.EnumSet<jakarta.json.stream.JsonParser.Event> acceptedEvents, TriFunction<jakarta.json.stream.JsonParser,​JsonpMapper,​jakarta.json.stream.JsonParser.Event,​T> fn)
    • of

      public static <T> JsonpDeserializer<T> of​(java.util.EnumSet<jakarta.json.stream.JsonParser.Event> acceptedEvents, java.util.function.BiFunction<jakarta.json.stream.JsonParser,​JsonpMapper,​T> fn)
    • lazy

      public static <T> JsonpDeserializer<T> lazy​(java.util.function.Supplier<JsonpDeserializer<T>> builder)
    • lazy

      public static <T> JsonpDeserializer<T> lazy​(java.util.function.Supplier<JsonpDeserializer<T>> builder, java.util.EnumSet<jakarta.json.stream.JsonParser.Event> acceptedEvents)
    • lazy

      public static <B,​ T> JsonpDeserializer<T> lazy​(java.util.function.Supplier<B> builderCtor, java.util.function.Consumer<DelegatingDeserializer<B>> builderSetup, java.util.function.Function<B,​T> buildFn)
    • lazyInstance

      public static <B,​ T> InstanceDeserializer<B,​ObjectBuilder<T>> lazyInstance​(java.util.function.Supplier<B> builderCtor, java.util.function.Consumer<DelegatingDeserializer<B>> builderSetup, java.util.function.Function<B,​T> buildFn)
    • fixedValue

      public static <T> JsonpDeserializer<T> fixedValue​(T value)
    • emptyObject

      public static <T> JsonpDeserializer<T> emptyObject​(T value)
    • stringDeserializer

      public static JsonpDeserializer<java.lang.String> stringDeserializer()
    • integerDeserializer

      public static JsonpDeserializer<java.lang.Integer> integerDeserializer()
    • booleanDeserializer

      public static JsonpDeserializer<java.lang.Boolean> booleanDeserializer()
    • longDeserializer

      public static JsonpDeserializer<java.lang.Long> longDeserializer()
    • floatDeserializer

      public static JsonpDeserializer<java.lang.Float> floatDeserializer()
    • doubleDeserializer

      public static JsonpDeserializer<java.lang.Double> doubleDeserializer()
    • numberDeserializer

      public static JsonpDeserializer<java.lang.Number> numberDeserializer()
    • jsonValueDeserializer

      public static JsonpDeserializer<jakarta.json.JsonValue> jsonValueDeserializer()
    • arrayDeserializer

      public static <T> JsonpDeserializer<java.util.List<T>> arrayDeserializer​(JsonpDeserializer<T> itemDeserializer)
    • stringMapDeserializer

      public static <T> JsonpDeserializer<java.util.Map<java.lang.String,​T>> stringMapDeserializer​(JsonpDeserializer<T> itemDeserializer)