Package io.flutter.plugin.common
Class StandardMethodCodec
- java.lang.Object
-
- io.flutter.plugin.common.StandardMethodCodec
-
- All Implemented Interfaces:
MethodCodec
public final class StandardMethodCodec extends Object implements MethodCodec
AMethodCodec
using the Flutter standard binary encoding.This codec is guaranteed to be compatible with the corresponding StandardMethodCodec on the Dart side. These parts of the Flutter SDK are evolved synchronously.
Values supported as method arguments and result payloads are those supported by
StandardMessageCodec
.
-
-
Field Summary
Fields Modifier and Type Field Description static StandardMethodCodec
INSTANCE
-
Constructor Summary
Constructors Constructor Description StandardMethodCodec(StandardMessageCodec messageCodec)
Creates a new method codec based on the specified message codec.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
decodeEnvelope(ByteBuffer envelope)
Decodes a result envelope from binary.MethodCall
decodeMethodCall(ByteBuffer methodCall)
Decodes a message call from binary.ByteBuffer
encodeErrorEnvelope(String errorCode, String errorMessage, Object errorDetails)
Encodes an error result into a binary envelope message.ByteBuffer
encodeErrorEnvelopeWithStacktrace(String errorCode, String errorMessage, Object errorDetails, String errorStacktrace)
Encodes an error result into a binary envelope message with the native stacktrace.ByteBuffer
encodeMethodCall(MethodCall methodCall)
Encodes a message call into binary.ByteBuffer
encodeSuccessEnvelope(Object result)
Encodes a successful result into a binary envelope message.
-
-
-
Field Detail
-
INSTANCE
public static final StandardMethodCodec INSTANCE
-
-
Constructor Detail
-
StandardMethodCodec
public StandardMethodCodec(@NonNull StandardMessageCodec messageCodec)
Creates a new method codec based on the specified message codec.
-
-
Method Detail
-
encodeMethodCall
@NonNull public ByteBuffer encodeMethodCall(@NonNull MethodCall methodCall)
Description copied from interface:MethodCodec
Encodes a message call into binary.- Specified by:
encodeMethodCall
in interfaceMethodCodec
- Parameters:
methodCall
- aMethodCall
.- Returns:
- a
ByteBuffer
containing the encoding between position 0 and the current position.
-
decodeMethodCall
@NonNull public MethodCall decodeMethodCall(@NonNull ByteBuffer methodCall)
Description copied from interface:MethodCodec
Decodes a message call from binary.- Specified by:
decodeMethodCall
in interfaceMethodCodec
- Parameters:
methodCall
- the binary encoding of the method call as aByteBuffer
.- Returns:
- a
MethodCall
representation of the bytes between the given buffer's current position and its limit.
-
encodeSuccessEnvelope
@NonNull public ByteBuffer encodeSuccessEnvelope(@NonNull Object result)
Description copied from interface:MethodCodec
Encodes a successful result into a binary envelope message.- Specified by:
encodeSuccessEnvelope
in interfaceMethodCodec
- Parameters:
result
- The result value, possibly null.- Returns:
- a
ByteBuffer
containing the encoding between position 0 and the current position.
-
encodeErrorEnvelope
@NonNull public ByteBuffer encodeErrorEnvelope(@NonNull String errorCode, @NonNull String errorMessage, @NonNull Object errorDetails)
Description copied from interface:MethodCodec
Encodes an error result into a binary envelope message.- Specified by:
encodeErrorEnvelope
in interfaceMethodCodec
- Parameters:
errorCode
- An error code String.errorMessage
- An error message String, possibly null.errorDetails
- Error details, possibly null. Consider supportingThrowable
in your codec. This is the most common value passed to this field.- Returns:
- a
ByteBuffer
containing the encoding between position 0 and the current position.
-
encodeErrorEnvelopeWithStacktrace
@NonNull public ByteBuffer encodeErrorEnvelopeWithStacktrace(@NonNull String errorCode, @NonNull String errorMessage, @NonNull Object errorDetails, @NonNull String errorStacktrace)
Description copied from interface:MethodCodec
Encodes an error result into a binary envelope message with the native stacktrace.- Specified by:
encodeErrorEnvelopeWithStacktrace
in interfaceMethodCodec
- Parameters:
errorCode
- An error code String.errorMessage
- An error message String, possibly null.errorDetails
- Error details, possibly null. Consider supportingThrowable
in your codec. This is the most common value passed to this field.errorStacktrace
- Platform stacktrace for the error. possibly null.- Returns:
- a
ByteBuffer
containing the encoding between position 0 and the current position.
-
decodeEnvelope
@NonNull public Object decodeEnvelope(@NonNull ByteBuffer envelope)
Description copied from interface:MethodCodec
Decodes a result envelope from binary.- Specified by:
decodeEnvelope
in interfaceMethodCodec
- Parameters:
envelope
- the binary encoding of a result envelope as aByteBuffer
.- Returns:
- the enveloped result Object.
-
-