Class MapperMediaTypeCodec

java.lang.Object
io.micronaut.json.codec.MapperMediaTypeCodec
All Implemented Interfaces:
io.micronaut.http.codec.MediaTypeCodec
Direct Known Subclasses:
JsonMediaTypeCodec

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

    Fields
    Modifier and Type
    Field
    Description
    protected final List<io.micronaut.http.MediaType>
     
    protected final io.micronaut.runtime.ApplicationConfiguration
     
    protected final io.micronaut.http.codec.CodecConfiguration
     
    protected final io.micronaut.http.MediaType
     
    static final String
     
  • 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(io.micronaut.context.BeanProvider<JsonMapper> mapperProvider, io.micronaut.runtime.ApplicationConfiguration applicationConfiguration, io.micronaut.http.codec.CodecConfiguration codecConfiguration, io.micronaut.http.MediaType mediaType, @Nullable List<io.micronaut.http.MediaType> additionalTypes)
     
    MapperMediaTypeCodec(JsonMapper mapper, io.micronaut.runtime.ApplicationConfiguration applicationConfiguration, io.micronaut.http.codec.CodecConfiguration codecConfiguration, io.micronaut.http.MediaType mediaType)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    Create a copy of this codec with the given features.
    protected abstract MapperMediaTypeCodec
     
    cloneWithViewClass(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, InputStream inputStream)
     
    <T> T
    decode(io.micronaut.core.type.Argument<T> type, 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, 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, OutputStream outputStream)
     
     
    Collection<io.micronaut.http.MediaType>
     
    boolean
     

    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 Details

    • REGULAR_JSON_MEDIA_TYPE_CODEC_NAME

      public static final String REGULAR_JSON_MEDIA_TYPE_CODEC_NAME
      See Also:
    • applicationConfiguration

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

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

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

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

    • 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(io.micronaut.context.BeanProvider<JsonMapper> mapperProvider, io.micronaut.runtime.ApplicationConfiguration applicationConfiguration, io.micronaut.http.codec.CodecConfiguration codecConfiguration, io.micronaut.http.MediaType mediaType, @Nullable @Nullable List<io.micronaut.http.MediaType> additionalTypes)
      Parameters:
      mapperProvider - To read/write JSON
      applicationConfiguration - The common application configurations
      codecConfiguration - The configuration for the codec
      mediaType - Client request/response media type
      additionalTypes - Additional Media Types
    • 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 Details

    • getJsonMapper

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

      public MapperMediaTypeCodec cloneWithFeatures(JsonFeatures features)
      Create a copy of this codec with the given features. Should not be extended, extend cloneWithMapper(io.micronaut.json.JsonMapper) instead.
      Parameters:
      features - The features to apply.
      Returns:
      A new codec with the features applied, leaving this codec unchanged.
    • cloneWithViewClass

      public final MapperMediaTypeCodec cloneWithViewClass(Class<?> viewClass)
    • cloneWithMapper

      protected abstract MapperMediaTypeCodec cloneWithMapper(JsonMapper mapper)
    • getMediaTypes

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

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

      public <T> T decode(io.micronaut.core.type.Argument<T> type, 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, 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, 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, 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