Class SerializerBase<T>

    • Field Detail

      • _handledType

        protected final java.lang.Class<T> _handledType
    • Constructor Detail

      • SerializerBase

        protected SerializerBase​(java.lang.Class<T> t)
      • SerializerBase

        protected SerializerBase​(JavaType type)
        Since:
        1.7
      • SerializerBase

        protected SerializerBase​(java.lang.Class<?> t,
                                 boolean dummy)
        Alternate constructor that is (alas!) needed to work around kinks of generic type handling
    • Method Detail

      • handledType

        public final java.lang.Class<T> handledType()
        Description copied from class: JsonSerializer
        Method for accessing type of Objects this serializer can handle. Note that this information is not guaranteed to be exact -- it may be a more generic (super-type) -- but it should not be incorrect (return a non-related type).

        Default implementation will return null, which essentially means same as returning Object.class would; that is, that nothing is known about handled type.

        Overrides:
        handledType in class JsonSerializer<T>
      • serialize

        public abstract void serialize​(T value,
                                       JsonGenerator jgen,
                                       SerializerProvider provider)
                                throws java.io.IOException,
                                       JsonGenerationException
        Description copied from class: JsonSerializer
        Method that can be called to ask implementation to serialize values of type this serializer handles.
        Specified by:
        serialize in class JsonSerializer<T>
        Parameters:
        value - Value to serialize; can not be null.
        jgen - Generator used to output resulting Json content
        provider - Provider that can be used to get serializers for serializing Objects value contains, if any.
        Throws:
        java.io.IOException
        JsonGenerationException
      • createObjectNode

        protected ObjectNode createObjectNode()
      • createSchemaNode

        protected ObjectNode createSchemaNode​(java.lang.String type)
      • createSchemaNode

        protected ObjectNode createSchemaNode​(java.lang.String type,
                                              boolean isOptional)
      • isDefaultSerializer

        protected boolean isDefaultSerializer​(JsonSerializer<?> serializer)
        Method that can be called to determine if given serializer is the default serializer Jackson uses; as opposed to a custom serializer installed by a module or calling application. Determination is done using JacksonStdImpl annotation on serializer class.
        Since:
        1.7
      • wrapAndThrow

        public void wrapAndThrow​(SerializerProvider provider,
                                 java.lang.Throwable t,
                                 java.lang.Object bean,
                                 java.lang.String fieldName)
                          throws java.io.IOException
        Method that will modify caught exception (passed in as argument) as necessary to include reference information, and to ensure it is a subtype of IOException, or an unchecked exception.

        Rules for wrapping and unwrapping are bit complicated; essentially:

        • Errors are to be passed as is (if uncovered via unwrapping)
        • "Plain" IOExceptions (ones that are not of type JsonMappingException are to be passed as is
        Throws:
        java.io.IOException
      • wrapAndThrow

        public void wrapAndThrow​(SerializerProvider provider,
                                 java.lang.Throwable t,
                                 java.lang.Object bean,
                                 int index)
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • wrapAndThrow

        @Deprecated
        public void wrapAndThrow​(java.lang.Throwable t,
                                 java.lang.Object bean,
                                 java.lang.String fieldName)
                          throws java.io.IOException
        Deprecated.
        Use version that takes SerializerProvider instead.
        Throws:
        java.io.IOException
      • wrapAndThrow

        @Deprecated
        public void wrapAndThrow​(java.lang.Throwable t,
                                 java.lang.Object bean,
                                 int index)
                          throws java.io.IOException
        Deprecated.
        Use version that takes SerializerProvider instead.
        Throws:
        java.io.IOException