Package io.flutter.plugin.common
Class JSONMessageCodec
java.lang.Object
io.flutter.plugin.common.JSONMessageCodec
- All Implemented Interfaces:
MessageCodec<Object>
A
MessageCodec
using UTF-8 encoded JSON messages.
This codec is guaranteed to be compatible with the corresponding JSONMessageCodec on the Dart side. These parts of the Flutter SDK are evolved synchronously.
Supports the same Java values as JSONObject.wrap(Object)
.
On the Dart side, JSON messages are handled by the JSON facilities of the dart:convert package.
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptiondecodeMessage
(ByteBuffer message) Decodes the specified message from binary.encodeMessage
(Object message) Encodes the specified message into binary.
-
Field Details
-
INSTANCE
-
-
Method Details
-
encodeMessage
Description copied from interface:MessageCodec
Encodes the specified message into binary.- Specified by:
encodeMessage
in interfaceMessageCodec<Object>
- 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
Description copied from interface:MessageCodec
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.- Specified by:
decodeMessage
in interfaceMessageCodec<Object>
- 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.
-