com.fasterxml.jackson.databind.ser

Class ContainerSerializer<T>

    • Constructor Detail

      • ContainerSerializer

        protected ContainerSerializer(Class<T> t)
      • ContainerSerializer

        protected ContainerSerializer(JavaType fullType)
        Since:
        2.5
      • ContainerSerializer

        protected ContainerSerializer(Class<?> t,
                                      boolean dummy)
        Alternate constructor that is (alas!) needed to work around kinks of generic type handling
        Parameters:
        t -
    • Method Detail

      • withValueTypeSerializer

        public ContainerSerializer<?> withValueTypeSerializer(TypeSerializer vts)
        Factory(-like) method that can be used to construct a new container serializer that uses specified TypeSerializer for decorating contained values with additional type information.
        Parameters:
        vts - Type serializer to use for contained values; can be null, in which case 'this' serializer is returned as is
        Returns:
        Serializer instance that uses given type serializer for values if that is possible (or if not, just 'this' serializer)
      • getContentType

        public abstract JavaType getContentType()
        Accessor for finding declared (static) element type for type this serializer is used for.
      • hasSingleElement

        public abstract boolean hasSingleElement(T value)
        Method called to determine if the given value (of type handled by this serializer) contains exactly one element.

        Note: although it might seem sensible to instead define something like "getElementCount()" method, this would not work well for containers that do not keep track of size (like linked lists may not).

        Note, too, that as of now (2.9) this method is only called by serializer itself; and specifically is not used for non-array/collection types like Map or Map.Entry instances.

      • _withValueTypeSerializer

        protected abstract ContainerSerializer<?> _withValueTypeSerializer(TypeSerializer vts)
        Method that needs to be implemented to allow construction of a new serializer object with given TypeSerializer, used when addition type information is to be embedded.
      • hasContentTypeAnnotation

        @Deprecated
        protected boolean hasContentTypeAnnotation(SerializerProvider provider,
                                                               BeanProperty property)
        Deprecated. Since 2.7: should not be needed; should be enough to see if type has 'isStatic' modifier
        Helper method used to encapsulate logic for determining whether there is a property annotation that overrides element type; if so, we can and need to statically find the serializer.
        Since:
        2.1

Copyright © 2008–2021 FasterXML. All rights reserved.