Class AbstractContainerSerializer<T>

    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected void addValueSerializer​(jakarta.json.bind.serializer.JsonbSerializer<?> valueSerializer, java.lang.Class<?> valueClass)
      Cache a serializer and serialized object class for next use.
      protected void beforeSerialize​(T obj)
      Process container before serialization begins.
      protected jakarta.json.bind.serializer.JsonbSerializer<?> getValueSerializer​(java.lang.Class<?> valueClass)
      Return last used serializer if last value class matches.
      protected java.lang.reflect.Type getValueType​(java.lang.reflect.Type valueType)
      Value type of the container.
      void serialize​(T obj, jakarta.json.stream.JsonGenerator generator, jakarta.json.bind.serializer.SerializationContext ctx)  
      protected abstract void serializeInternal​(T obj, jakarta.json.stream.JsonGenerator generator, jakarta.json.bind.serializer.SerializationContext ctx)
      Serialize content of provided container.
      protected void serializeItem​(java.lang.Object item, jakarta.json.stream.JsonGenerator generator, jakarta.json.bind.serializer.SerializationContext ctx)
      Serializes container object.
      protected <X> void serializerCaptor​(jakarta.json.bind.serializer.JsonbSerializer<?> serializer, X object, jakarta.json.stream.JsonGenerator generator, jakarta.json.bind.serializer.SerializationContext ctx)
      Serializes container object item.
      protected void writeEnd​(jakarta.json.stream.JsonGenerator generator)
      Writes end of an object or an array.
      protected abstract void writeStart​(jakarta.json.stream.JsonGenerator generator)
      Write start of an object or an array without a key.
      protected abstract void writeStart​(java.lang.String key, jakarta.json.stream.JsonGenerator generator)
      Write start of an object or an array with a key.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AbstractContainerSerializer

        protected AbstractContainerSerializer​(SerializerBuilder builder)
        Create instance of current item with its builder.
        Parameters:
        builder - SerializerBuilder used to build this instance
      • AbstractContainerSerializer

        public AbstractContainerSerializer​(CurrentItem<?> wrapper,
                                           java.lang.reflect.Type runtimeType,
                                           ClassModel classModel)
        Creates a new instance.
        Parameters:
        wrapper - Item to serialize.
        runtimeType - Runtime type of the item.
        classModel - Class model.
    • Method Detail

      • beforeSerialize

        protected void beforeSerialize​(T obj)
        Process container before serialization begins. Does nothing by default.
        Parameters:
        obj - item to be serialized
      • writeStart

        protected abstract void writeStart​(jakarta.json.stream.JsonGenerator generator)
        Write start of an object or an array without a key.
        Parameters:
        generator - JSON format generator
      • writeStart

        protected abstract void writeStart​(java.lang.String key,
                                           jakarta.json.stream.JsonGenerator generator)
        Write start of an object or an array with a key.
        Parameters:
        key - JSON key name.
        generator - JSON format generator
      • writeEnd

        protected void writeEnd​(jakarta.json.stream.JsonGenerator generator)
        Writes end of an object or an array.
        Parameters:
        generator - JSON format generator
      • serializeInternal

        protected abstract void serializeInternal​(T obj,
                                                  jakarta.json.stream.JsonGenerator generator,
                                                  jakarta.json.bind.serializer.SerializationContext ctx)
        Serialize content of provided container.
        Parameters:
        obj - container to be serialized
        generator - JSON format generator
        ctx - JSON serialization context
      • serialize

        public final void serialize​(T obj,
                                    jakarta.json.stream.JsonGenerator generator,
                                    jakarta.json.bind.serializer.SerializationContext ctx)
        Specified by:
        serialize in interface jakarta.json.bind.serializer.JsonbSerializer<T>
      • serializerCaptor

        protected <X> void serializerCaptor​(jakarta.json.bind.serializer.JsonbSerializer<?> serializer,
                                            X object,
                                            jakarta.json.stream.JsonGenerator generator,
                                            jakarta.json.bind.serializer.SerializationContext ctx)
        Serializes container object item.
        Type Parameters:
        X - type of object
        Parameters:
        serializer - serializer of the object
        object - object to serialize
        generator - json generator
        ctx - context
      • getValueSerializer

        protected jakarta.json.bind.serializer.JsonbSerializer<?> getValueSerializer​(java.lang.Class<?> valueClass)
        Return last used serializer if last value class matches.
        Parameters:
        valueClass - class of the serialized object
        Returns:
        cached serializer or null
      • addValueSerializer

        protected void addValueSerializer​(jakarta.json.bind.serializer.JsonbSerializer<?> valueSerializer,
                                          java.lang.Class<?> valueClass)
        Cache a serializer and serialized object class for next use.
        Parameters:
        valueSerializer - serializer
        valueClass - class of serializer object
      • serializeItem

        protected void serializeItem​(java.lang.Object item,
                                     jakarta.json.stream.JsonGenerator generator,
                                     jakarta.json.bind.serializer.SerializationContext ctx)
        Serializes container object.
        Parameters:
        item - container
        generator - json generator
        ctx - context
      • getValueType

        protected java.lang.reflect.Type getValueType​(java.lang.reflect.Type valueType)
        Value type of the container.
        Parameters:
        valueType - value type
        Returns:
        raw value type