Class StringCodec

java.lang.Object
io.flutter.plugin.common.StringCodec
All Implemented Interfaces:
MessageCodec<String>

public final class StringCodec extends Object implements MessageCodec<String>
A MessageCodec using UTF-8 encoded String messages.

This codec is guaranteed to be compatible with the corresponding StringCodec on the Dart side. These parts of the Flutter SDK are evolved synchronously.

  • Field Details

  • Method Details

    • encodeMessage

      @Nullable public ByteBuffer encodeMessage(@Nullable String message)
      Description copied from interface: MessageCodec
      Encodes the specified message into binary.
      Specified by:
      encodeMessage in interface MessageCodec<String>
      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 public String decodeMessage(@Nullable ByteBuffer message)
      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 interface MessageCodec<String>
      Parameters:
      message - the ByteBuffer 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.