Package io.micronaut.http.codec
Interface MediaTypeCodec
-
public interface MediaTypeCodecRepresents a codec for a particular media type. For example JSON.- Since:
- 1.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default <T> Tdecode(io.micronaut.core.type.Argument<T> type, byte[] bytes)Decode the given type from the given bytes.default <T> Tdecode(io.micronaut.core.type.Argument<T> type, io.micronaut.core.io.buffer.ByteBuffer<?> buffer)Decode the given type from the given buffer.<T> Tdecode(io.micronaut.core.type.Argument<T> type, java.io.InputStream inputStream)Decode the given type from the givenInputStream.default <T> Tdecode(io.micronaut.core.type.Argument<T> type, java.lang.String data)Decode the given type from the given bytes.default <T> Tdecode(java.lang.Class<T> type, byte[] bytes)Decode the given type from the given bytes.default <T> Tdecode(java.lang.Class<T> type, io.micronaut.core.io.buffer.ByteBuffer<?> buffer)Decode the given type from the given buffer.default <T> Tdecode(java.lang.Class<T> type, java.io.InputStream inputStream)Decode the given type from the givenInputStream.default <T> Tdecode(java.lang.Class<T> type, java.lang.String data)Decode the given type from the given bytes.default <T> byte[]encode(io.micronaut.core.type.Argument<T> type, T object)Encode the given type returning the object as a byte[].default <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)Encode the given type returning the object as aByteBuffer.default <T> voidencode(io.micronaut.core.type.Argument<T> type, T object, java.io.OutputStream outputStream)Encode the given type to the givenOutputStream.<T> byte[]encode(T object)Encode the given type returning the object as a byte[].<T,B>
io.micronaut.core.io.buffer.ByteBuffer<B>encode(T object, io.micronaut.core.io.buffer.ByteBufferFactory<?,B> allocator)Encode the given type returning the object as aByteBuffer.<T> voidencode(T object, java.io.OutputStream outputStream)Encode the given type to the givenOutputStream.java.util.Collection<MediaType>getMediaTypes()default booleansupportsType(java.lang.Class<?> type)Whether the codec can decode the given type.
-
-
-
Method Detail
-
getMediaTypes
java.util.Collection<MediaType> getMediaTypes()
- Returns:
- The media type of the codec
-
decode
<T> T decode(io.micronaut.core.type.Argument<T> type, java.io.InputStream inputStream) throws CodecExceptionDecode the given type from the givenInputStream.- Type Parameters:
T- The generic type- Parameters:
type- The typeinputStream- The input stream- Returns:
- The decoded result
- Throws:
CodecException- When the result cannot be decoded
-
encode
<T> void encode(T object, java.io.OutputStream outputStream) throws CodecExceptionEncode the given type to the givenOutputStream.- Type Parameters:
T- The generic type- Parameters:
object- The object to encodeoutputStream- The output stream- Throws:
CodecException- When the result cannot be encoded
-
encode
<T> byte[] encode(T object) throws CodecExceptionEncode 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> io.micronaut.core.io.buffer.ByteBuffer<B> encode(T object, io.micronaut.core.io.buffer.ByteBufferFactory<?,B> allocator) throws CodecExceptionEncode the given type returning the object as aByteBuffer.- Type Parameters:
T- The generic typeB- The buffer type- Parameters:
object- The object to encodeallocator- The allocator- Returns:
- The decoded result
- Throws:
CodecException- When the result cannot be encoded
-
encode
default <T> void encode(@NonNull io.micronaut.core.type.Argument<T> type, @NonNull T object, @NonNull java.io.OutputStream outputStream) throws CodecExceptionEncode the given type to the givenOutputStream.- Type Parameters:
T- The generic type- Parameters:
type- The type including any generics and/or metadata.object- The object to encodeoutputStream- The output stream- Throws:
CodecException- When the result cannot be encoded- Since:
- 3.2.0
-
encode
@NonNull default <T> byte[] encode(@NonNull io.micronaut.core.type.Argument<T> type, T object) throws CodecExceptionEncode the given type returning the object as a byte[].- Type Parameters:
T- The generic type- Parameters:
type- The type including any generics and/or metadataobject- 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> io.micronaut.core.io.buffer.ByteBuffer<B> encode(@NonNull io.micronaut.core.type.Argument<T> type, T object, @NonNull io.micronaut.core.io.buffer.ByteBufferFactory<?,B> allocator) throws CodecExceptionEncode the given type returning the object as aByteBuffer.- Type Parameters:
T- The generic typeB- The buffer type- Parameters:
type- The type including any generics and/or metadataobject- The object to encodeallocator- The allocator- Returns:
- The decoded result
- Throws:
CodecException- When the result cannot be encoded- Since:
- 3.2.0
-
decode
default <T> T decode(java.lang.Class<T> type, java.io.InputStream inputStream) throws CodecExceptionDecode the given type from the givenInputStream.- Type Parameters:
T- The generic type- Parameters:
type- The typeinputStream- The input stream- Returns:
- The decoded result
- Throws:
CodecException- When the result cannot be decoded
-
decode
default <T> T decode(java.lang.Class<T> type, byte[] bytes) throws CodecExceptionDecode the given type from the given bytes.- Type Parameters:
T- The decoded type- Parameters:
type- The typebytes- The bytes- Returns:
- The decoded result
- Throws:
CodecException- When the result cannot be decoded
-
decode
default <T> T decode(io.micronaut.core.type.Argument<T> type, byte[] bytes) throws CodecExceptionDecode the given type from the given bytes.- Type Parameters:
T- The decoded type- Parameters:
type- The typebytes- The bytes- Returns:
- The decoded result
- Throws:
CodecException- When the result cannot be decoded
-
decode
default <T> T decode(java.lang.Class<T> type, io.micronaut.core.io.buffer.ByteBuffer<?> buffer) throws CodecExceptionDecode the given type from the given buffer. Implementations optimized to handleByteBufferinstances should override this method.- Type Parameters:
T- The decoded type- Parameters:
type- The typebuffer- the buffer- Returns:
- The decoded result
- Throws:
CodecException- When the result cannot be decoded
-
decode
default <T> T decode(io.micronaut.core.type.Argument<T> type, io.micronaut.core.io.buffer.ByteBuffer<?> buffer) throws CodecExceptionDecode the given type from the given buffer. Implementations optimized to handleByteBufferinstances should override this method.- Type Parameters:
T- The decoded type- Parameters:
type- The typebuffer- the buffer- Returns:
- The decoded result
- Throws:
CodecException- When the result cannot be decoded
-
decode
default <T> T decode(java.lang.Class<T> type, java.lang.String data) throws CodecExceptionDecode the given type from the given bytes.- Type Parameters:
T- The decoded type- Parameters:
type- The typedata- The data as a string- Returns:
- The decoded result
- Throws:
CodecException- When the result cannot be decoded
-
decode
default <T> T decode(io.micronaut.core.type.Argument<T> type, java.lang.String data) throws CodecExceptionDecode the given type from the given bytes.- Type Parameters:
T- The decoded type- Parameters:
type- The typedata- The data as a string- Returns:
- The decoded result
- Throws:
CodecException- When the result cannot be decoded
-
supportsType
default boolean supportsType(java.lang.Class<?> type)
Whether the codec can decode the given type.- Parameters:
type- The type- Returns:
- True if it can
-
-