Package io.flutter.plugin.common

# 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 Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final StringCodec`
  `INSTANCE`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `decodeMessage(ByteBuffer message)`
  Decodes the specified message from binary.
  `ByteBuffer`
  `encodeMessage(String message)`
  Encodes the specified message into binary.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### INSTANCE

    public static final StringCodec INSTANCE

- ## 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.