Class MapperMediaTypeCodec

  • All Implemented Interfaces:
    io.micronaut.http.codec.MediaTypeCodec
    Direct Known Subclasses:
    JsonMediaTypeCodec

    public abstract class MapperMediaTypeCodec
    extends java.lang.Object
    implements io.micronaut.http.codec.MediaTypeCodec
    A MediaTypeCodec for JsonMapper based implementations.
    Since:
    1.3.0
    • Constructor Summary

      Constructors 
      Constructor Description
      MapperMediaTypeCodec​(io.micronaut.context.BeanProvider<JsonMapper> mapperProvider, io.micronaut.runtime.ApplicationConfiguration applicationConfiguration, io.micronaut.http.codec.CodecConfiguration codecConfiguration, io.micronaut.http.MediaType mediaType)  
      MapperMediaTypeCodec​(JsonMapper mapper, io.micronaut.runtime.ApplicationConfiguration applicationConfiguration, io.micronaut.http.codec.CodecConfiguration codecConfiguration, io.micronaut.http.MediaType mediaType)  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      MapperMediaTypeCodec cloneWithFeatures​(JsonFeatures features)
      Create a copy of this codec with the given features.
      protected abstract MapperMediaTypeCodec cloneWithMapper​(JsonMapper mapper)  
      MapperMediaTypeCodec cloneWithViewClass​(java.lang.Class<?> viewClass)  
      <T> T decode​(io.micronaut.core.type.Argument<T> type, byte[] bytes)  
      <T> T decode​(io.micronaut.core.type.Argument<T> type, io.micronaut.core.io.buffer.ByteBuffer<?> buffer)  
      <T> T decode​(io.micronaut.core.type.Argument<T> type, JsonNode node)
      Decodes the given JSON node.
      <T> T decode​(io.micronaut.core.type.Argument<T> type, java.io.InputStream inputStream)  
      <T> T decode​(io.micronaut.core.type.Argument<T> type, java.lang.String data)  
      <T> byte[] encode​(io.micronaut.core.type.Argument<T> type, T object)  
      <T,​B>
      io.micronaut.core.io.buffer.ByteBuffer<B>
      encode​(io.micronaut.core.type.Argument<T> type, T object, io.micronaut.core.io.buffer.ByteBufferFactory<?,​B> allocator)  
      <T> void encode​(io.micronaut.core.type.Argument<T> type, T object, java.io.OutputStream outputStream)  
      <T> byte[] encode​(T object)  
      <T,​B>
      io.micronaut.core.io.buffer.ByteBuffer<B>
      encode​(T object, io.micronaut.core.io.buffer.ByteBufferFactory<?,​B> allocator)  
      <T> void encode​(T object, java.io.OutputStream outputStream)  
      JsonMapper getJsonMapper()  
      java.util.Collection<io.micronaut.http.MediaType> getMediaTypes()  
      boolean supportsType​(java.lang.Class<?> type)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface io.micronaut.http.codec.MediaTypeCodec

        decode, decode, decode, decode
    • Field Detail

      • REGULAR_JSON_MEDIA_TYPE_CODEC_NAME

        public static final java.lang.String REGULAR_JSON_MEDIA_TYPE_CODEC_NAME
        See Also:
        Constant Field Values
      • applicationConfiguration

        protected final io.micronaut.runtime.ApplicationConfiguration applicationConfiguration
      • additionalTypes

        protected final java.util.List<io.micronaut.http.MediaType> additionalTypes
      • codecConfiguration

        protected final io.micronaut.http.codec.CodecConfiguration codecConfiguration
      • mediaType

        protected final io.micronaut.http.MediaType mediaType
    • Constructor Detail

      • MapperMediaTypeCodec

        public MapperMediaTypeCodec​(io.micronaut.context.BeanProvider<JsonMapper> mapperProvider,
                                    io.micronaut.runtime.ApplicationConfiguration applicationConfiguration,
                                    io.micronaut.http.codec.CodecConfiguration codecConfiguration,
                                    io.micronaut.http.MediaType mediaType)
        Parameters:
        mapperProvider - To read/write JSON
        applicationConfiguration - The common application configurations
        codecConfiguration - The configuration for the codec
        mediaType - Client request/response media type
      • MapperMediaTypeCodec

        public MapperMediaTypeCodec​(JsonMapper mapper,
                                    io.micronaut.runtime.ApplicationConfiguration applicationConfiguration,
                                    io.micronaut.http.codec.CodecConfiguration codecConfiguration,
                                    io.micronaut.http.MediaType mediaType)
        Parameters:
        mapper - To read/write JSON
        applicationConfiguration - The common application configurations
        codecConfiguration - The configuration for the codec
        mediaType - Client request/response media type
    • Method Detail

      • getJsonMapper

        public JsonMapper getJsonMapper()
        Returns:
        The object mapper
      • cloneWithViewClass

        public final MapperMediaTypeCodec cloneWithViewClass​(java.lang.Class<?> viewClass)
      • getMediaTypes

        public java.util.Collection<io.micronaut.http.MediaType> getMediaTypes()
        Specified by:
        getMediaTypes in interface io.micronaut.http.codec.MediaTypeCodec
      • supportsType

        public boolean supportsType​(java.lang.Class<?> type)
        Specified by:
        supportsType in interface io.micronaut.http.codec.MediaTypeCodec
      • decode

        public <T> T decode​(io.micronaut.core.type.Argument<T> type,
                            java.io.InputStream inputStream)
                     throws io.micronaut.http.codec.CodecException
        Specified by:
        decode in interface io.micronaut.http.codec.MediaTypeCodec
        Throws:
        io.micronaut.http.codec.CodecException
      • decode

        public <T> T decode​(io.micronaut.core.type.Argument<T> type,
                            JsonNode node)
                     throws io.micronaut.http.codec.CodecException
        Decodes the given JSON node.
        Type Parameters:
        T - The generic type
        Parameters:
        type - The type
        node - The Json Node
        Returns:
        The decoded object
        Throws:
        io.micronaut.http.codec.CodecException - When object cannot be decoded
      • decode

        public <T> T decode​(io.micronaut.core.type.Argument<T> type,
                            io.micronaut.core.io.buffer.ByteBuffer<?> buffer)
                     throws io.micronaut.http.codec.CodecException
        Specified by:
        decode in interface io.micronaut.http.codec.MediaTypeCodec
        Throws:
        io.micronaut.http.codec.CodecException
      • decode

        public <T> T decode​(io.micronaut.core.type.Argument<T> type,
                            byte[] bytes)
                     throws io.micronaut.http.codec.CodecException
        Specified by:
        decode in interface io.micronaut.http.codec.MediaTypeCodec
        Throws:
        io.micronaut.http.codec.CodecException
      • decode

        public <T> T decode​(io.micronaut.core.type.Argument<T> type,
                            java.lang.String data)
                     throws io.micronaut.http.codec.CodecException
        Specified by:
        decode in interface io.micronaut.http.codec.MediaTypeCodec
        Throws:
        io.micronaut.http.codec.CodecException
      • encode

        public <T> void encode​(T object,
                               java.io.OutputStream outputStream)
                        throws io.micronaut.http.codec.CodecException
        Specified by:
        encode in interface io.micronaut.http.codec.MediaTypeCodec
        Throws:
        io.micronaut.http.codec.CodecException
      • encode

        public <T> void encode​(io.micronaut.core.type.Argument<T> type,
                               T object,
                               java.io.OutputStream outputStream)
                        throws io.micronaut.http.codec.CodecException
        Specified by:
        encode in interface io.micronaut.http.codec.MediaTypeCodec
        Throws:
        io.micronaut.http.codec.CodecException
      • encode

        public <T> byte[] encode​(T object)
                          throws io.micronaut.http.codec.CodecException
        Specified by:
        encode in interface io.micronaut.http.codec.MediaTypeCodec
        Throws:
        io.micronaut.http.codec.CodecException
      • encode

        public <T> byte[] encode​(io.micronaut.core.type.Argument<T> type,
                                 T object)
                          throws io.micronaut.http.codec.CodecException
        Specified by:
        encode in interface io.micronaut.http.codec.MediaTypeCodec
        Throws:
        io.micronaut.http.codec.CodecException
      • encode

        public <T,​B> io.micronaut.core.io.buffer.ByteBuffer<B> encode​(T object,
                                                                            io.micronaut.core.io.buffer.ByteBufferFactory<?,​B> allocator)
                                                                     throws io.micronaut.http.codec.CodecException
        Specified by:
        encode in interface io.micronaut.http.codec.MediaTypeCodec
        Throws:
        io.micronaut.http.codec.CodecException
      • encode

        public <T,​B> io.micronaut.core.io.buffer.ByteBuffer<B> encode​(io.micronaut.core.type.Argument<T> type,
                                                                            T object,
                                                                            io.micronaut.core.io.buffer.ByteBufferFactory<?,​B> allocator)
                                                                     throws io.micronaut.http.codec.CodecException
        Specified by:
        encode in interface io.micronaut.http.codec.MediaTypeCodec
        Throws:
        io.micronaut.http.codec.CodecException