Class AbstractSerializerBuilder<T extends AbstractSerializerBuilder>

  • Type Parameters:
    T - serialization builder type
    Direct Known Subclasses:
    DeserializerBuilder, SerializerBuilder

    public class AbstractSerializerBuilder<T extends AbstractSerializerBuilder>
    extends java.lang.Object
    Base class for serializer builders.
    • Constructor Detail

      • AbstractSerializerBuilder

        public AbstractSerializerBuilder​(JsonbContext jsonbContext)
        Crates a builder.
        Parameters:
        jsonbContext - Not null.
    • Method Detail

      • withWrapper

        public T withWrapper​(CurrentItem<?> wrapper)
        Wrapper item for this item.
        Parameters:
        wrapper - not null.
        Returns:
        Builder instance for call chaining.
      • withCustomization

        public T withCustomization​(Customization customization)
        Customization of the class.
        Parameters:
        customization - Class customization
        Returns:
        Builder instance for call chaining.
      • withClassModel

        public T withClassModel​(ClassModel classModel)
        Class model for this item.
        Parameters:
        classModel - class model
        Returns:
        Builder instance for call chaining.
      • withRuntimeType

        public T withRuntimeType​(java.lang.reflect.Type runtimeType)
        Runtime type for this item.
        Parameters:
        runtimeType - runtime type
        Returns:
        Builder instance for call chaining.
      • getClassModel

        protected ClassModel getClassModel​(java.lang.Class<?> rawType)
        Gets or load class model for a class an its superclasses.
        Parameters:
        rawType - Class to get model for.
        Returns:
        Class model.
      • getWrapper

        public CurrentItem<?> getWrapper()
        Wrapper item for this item.
        Returns:
        Wrapper item.
      • getClassModel

        public ClassModel getClassModel()
        Model of a class representing current item and instance (if any). Known collection classes doesn't need such a model.
        Returns:
        model of a class
      • getRuntimeType

        public java.lang.reflect.Type getRuntimeType()
        Resolved runtime type for instance in case of TypeVariable or WildcardType. Otherwise provided type in type field, or type of field model.
        Returns:
        runtime type
      • withType

        public T withType​(java.lang.reflect.Type type)
        Type for underlying instance to be created from. In case of type variable or wildcard, will be resolved recursively from parent items.
        Parameters:
        type - type of instance not null
        Returns:
        builder instance for call chaining
      • getJsonbContext

        public JsonbContext getJsonbContext()
        Jsonb runtime context.
        Returns:
        jsonb context
      • getCustomization

        public Customization getCustomization()
        Type customization.
        Returns:
        customization
      • getGenericType

        public java.lang.reflect.Type getGenericType()
        Generic type of the item.
        Returns:
        generic type