Package io.flutter.plugin.common
Interface MessageCodec<T>
-
- All Known Implementing Classes:
BinaryCodec
,JSONMessageCodec
,StandardMessageCodec
,StringCodec
public interface MessageCodec<T>
A message encoding/decoding mechanism.Both operations throw
IllegalArgumentException
, if conversion fails.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description T
decodeMessage(ByteBuffer message)
Decodes the specified message from binary.ByteBuffer
encodeMessage(T message)
Encodes the specified message into binary.
-
-
-
Method Detail
-
encodeMessage
@Nullable ByteBuffer encodeMessage(@Nullable T message)
Encodes the specified message into binary.- Parameters:
message
- the T message, possibly null.- Returns:
- a ByteBuffer containing the encoding between position 0 and the current position, or null, if message is null.
-
decodeMessage
@Nullable T decodeMessage(@Nullable ByteBuffer message)
Decodes the specified message from binary.Warning: The ByteBuffer is "direct" and it won't be valid beyond this call. Storing the ByteBuffer and using it later and will lead to a
java.nio.BufferUnderflowException
. If you want to retain the data you'll need to copy it.- Parameters:
message
- theByteBuffer
message, possibly null.- Returns:
- a T value representation of the bytes between the given buffer's current position and its limit, or null, if message is null.
-
-