Interface MediaTypeCodec

All Known Implementing Classes:
JacksonMediaTypeCodec, JsonMediaTypeCodec, JsonMediaTypeCodec, JsonStreamMediaTypeCodec, JsonStreamMediaTypeCodec, MapperMediaTypeCodec, TextPlainCodec, TextStreamCodec

@Indexed(MediaTypeCodec.class) public interface MediaTypeCodec
Represents a codec for a particular media type. For example JSON.
Since:
1.0
Author:
Graeme Rocher
  • Method Details

    • getMediaTypes

      Collection<MediaType> getMediaTypes()
      Returns:
      The media type of the codec
    • decode

      <T> T decode(Argument<T> type, InputStream inputStream) throws CodecException
      Decode the given type from the given InputStream.
      Type Parameters:
      T - The generic type
      Parameters:
      type - The type
      inputStream - The input stream
      Returns:
      The decoded result
      Throws:
      CodecException - When the result cannot be decoded
    • encode

      <T> void encode(T object, OutputStream outputStream) throws CodecException
      Encode the given type to the given OutputStream.
      Type Parameters:
      T - The generic type
      Parameters:
      object - The object to encode
      outputStream - The output stream
      Throws:
      CodecException - When the result cannot be encoded
    • encode

      <T> byte[] encode(T object) throws CodecException
      Encode the given type returning the object as a byte[].
      Type Parameters:
      T - The generic type
      Parameters:
      object - The object to encode
      Returns:
      The decoded result
      Throws:
      CodecException - When the result cannot be encoded
    • encode

      <T, B> ByteBuffer<B> encode(T object, ByteBufferFactory<?,B> allocator) throws CodecException
      Encode the given type returning the object as a ByteBuffer.
      Type Parameters:
      T - The generic type
      B - The buffer type
      Parameters:
      object - The object to encode
      allocator - The allocator
      Returns:
      The decoded result
      Throws:
      CodecException - When the result cannot be encoded
    • encode

      default <T> void encode(@NonNull @NonNull Argument<T> type, @NonNull T object, @NonNull @NonNull OutputStream outputStream) throws CodecException
      Encode the given type to the given OutputStream.
      Type Parameters:
      T - The generic type
      Parameters:
      type - The type including any generics and/or metadata.
      object - The object to encode
      outputStream - The output stream
      Throws:
      CodecException - When the result cannot be encoded
      Since:
      3.2.0
    • encode

      @NonNull default <T> @io.micronaut.core.annotation.NonNull byte[] encode(@NonNull @NonNull Argument<T> type, T object) throws CodecException
      Encode the given type returning the object as a byte[].
      Type Parameters:
      T - The generic type
      Parameters:
      type - The type including any generics and/or metadata
      object - The object to encode
      Returns:
      The decoded result
      Throws:
      CodecException - When the result cannot be encoded
      Since:
      3.2.0
    • encode

      @NonNull default <T, B> @NonNull ByteBuffer<B> encode(@NonNull @NonNull Argument<T> type, T object, @NonNull @NonNull ByteBufferFactory<?,B> allocator) throws CodecException
      Encode the given type returning the object as a ByteBuffer.
      Type Parameters:
      T - The generic type
      B - The buffer type
      Parameters:
      type - The type including any generics and/or metadata
      object - The object to encode
      allocator - The allocator
      Returns:
      The decoded result
      Throws:
      CodecException - When the result cannot be encoded
      Since:
      3.2.0
    • decode

      default <T> T decode(Class<T> type, InputStream inputStream) throws CodecException
      Decode the given type from the given InputStream.
      Type Parameters:
      T - The generic type
      Parameters:
      type - The type
      inputStream - The input stream
      Returns:
      The decoded result
      Throws:
      CodecException - When the result cannot be decoded
    • decode

      default <T> T decode(Class<T> type, byte[] bytes) throws CodecException
      Decode the given type from the given bytes.
      Type Parameters:
      T - The decoded type
      Parameters:
      type - The type
      bytes - The bytes
      Returns:
      The decoded result
      Throws:
      CodecException - When the result cannot be decoded
    • decode

      default <T> T decode(Argument<T> type, byte[] bytes) throws CodecException
      Decode the given type from the given bytes.
      Type Parameters:
      T - The decoded type
      Parameters:
      type - The type
      bytes - The bytes
      Returns:
      The decoded result
      Throws:
      CodecException - When the result cannot be decoded
    • decode

      default <T> T decode(Class<T> type, ByteBuffer<?> buffer) throws CodecException
      Decode the given type from the given buffer. Implementations optimized to handle ByteBuffer instances should override this method.
      Type Parameters:
      T - The decoded type
      Parameters:
      type - The type
      buffer - the buffer
      Returns:
      The decoded result
      Throws:
      CodecException - When the result cannot be decoded
    • decode

      default <T> T decode(Argument<T> type, ByteBuffer<?> buffer) throws CodecException
      Decode the given type from the given buffer. Implementations optimized to handle ByteBuffer instances should override this method.
      Type Parameters:
      T - The decoded type
      Parameters:
      type - The type
      buffer - the buffer
      Returns:
      The decoded result
      Throws:
      CodecException - When the result cannot be decoded
    • decode

      default <T> T decode(Class<T> type, String data) throws CodecException
      Decode the given type from the given bytes.
      Type Parameters:
      T - The decoded type
      Parameters:
      type - The type
      data - The data as a string
      Returns:
      The decoded result
      Throws:
      CodecException - When the result cannot be decoded
    • decode

      default <T> T decode(Argument<T> type, String data) throws CodecException
      Decode the given type from the given bytes.
      Type Parameters:
      T - The decoded type
      Parameters:
      type - The type
      data - The data as a string
      Returns:
      The decoded result
      Throws:
      CodecException - When the result cannot be decoded
    • supportsType

      default boolean supportsType(Class<?> type)
      Whether the codec can decode the given type.
      Parameters:
      type - The type
      Returns:
      True if it can