クラス ProtobufEncoder
java.lang.ObjectSE
org.springframework.http.codec.protobuf.ProtobufCodecSupport
org.springframework.http.codec.protobuf.ProtobufEncoder
- 実装されているすべてのインターフェース:
- Encoder<com.google.protobuf.Message>,- HttpMessageEncoder<com.google.protobuf.Message>
public class ProtobufEncoder
extends ProtobufCodecSupport
implements HttpMessageEncoder<com.google.protobuf.Message>
Google プロトコルバッファを使用して 
Message を書き込む Encoder。Flux は、各メッセージのサイズがメッセージ自体の前に指定された、区切られた Protobuf メッセージを使用して直列化されます。単一の値は、通常の Protobuf メッセージ形式 (メッセージの前にサイズが付加されない) を使用して直列化されます。
Message Java クラスを生成するには、protoc バイナリをインストールする必要があります。
 このエンコーダーには Protobuf 3 以降が必要で、公式 "com.google.protobuf:protobuf-java" ライブラリで "application/x-protobuf" および "application/octet-stream" をサポートしています。
- 導入:
- 5.1
- 作成者:
- Sebastien Deleuze
- 関連事項:
- コンストラクターの概要コンストラクター
- メソッドのサマリー修飾子と型メソッド説明- boolean- canEncode- (ResolvableType elementType, MimeType mimeType) エンコーダが特定のソース要素型と出力ストリームの MIME 型をサポートするかどうか。- reactor.core.publisher.Flux<DataBuffer>- encode- (Publisher<? extends com.google.protobuf.Message> inputStream, DataBufferFactory bufferFactory, ResolvableType elementType, MimeType mimeType, MapSE<StringSE, - ObjectSE> hints) 型- Tのオブジェクトのストリームを- DataBuffer出力ストリームにエンコードします。- encodeValue- (com.google.protobuf.Message message, DataBufferFactory bufferFactory, ResolvableType valueType, MimeType mimeType, MapSE<StringSE, - ObjectSE> hints) 型 T のオブジェクトをデータバッファにエンコードします。このエンコーダーでサポートされている MIME 型のリストを返します。入力ストリームの最後で自動的にフラッシュを実行する必要がある「ストリーミング」メディア型を返します。- クラス org.springframework.http.codec.protobuf.ProtobufCodecSupport から継承されたメソッド- getMimeTypes, supportsMimeType- クラス java.lang.ObjectSE から継承されたメソッド- clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE- インターフェース org.springframework.core.codec.Encoder から継承されたメソッド- getEncodableMimeTypes- インターフェース org.springframework.http.codec.HttpMessageEncoder から継承されたメソッド- getEncodeHints
- コンストラクターの詳細- ProtobufEncoderpublic ProtobufEncoder()
 
- メソッドの詳細- canEncodeインターフェースからコピーされた説明:- Encoderエンコーダが特定のソース要素型と出力ストリームの MIME 型をサポートするかどうか。
- encodepublic reactor.core.publisher.Flux<DataBuffer> encode- (Publisher<? extends com.google.protobuf.Message> inputStream, DataBufferFactory bufferFactory, ResolvableType elementType, @Nullable MimeType mimeType, @Nullable MapSE<StringSE, - ObjectSE> hints) インターフェースからコピーされた説明:- Encoder型- Tのオブジェクトのストリームを- DataBuffer出力ストリームにエンコードします。- 次で指定:
-  インターフェース Encoder<com.google.protobuf.Message>のencode
- パラメーター:
- inputStream- エンコードするオブジェクトの入力ストリーム。入力を要素のストリームとしてではなく単一の値としてエンコードする必要がある場合は、- Monoのインスタンスを使用する必要があります。
- bufferFactory- 出力ストリーム- DataBufferを作成するための
- elementType- 入力ストリーム内の要素の予想される型。この型は、事前に- Encoder.canEncode(org.springframework.core.ResolvableType, org.springframework.util.MimeType)メソッドに渡されていなければならず、- trueを返さなければなりません。
- mimeType- 出力コンテンツの MIME 型 (オプション)
- hints- エンコード方法に関する追加情報
- 戻り値:
- 出力ストリーム
 
- encodeValuepublic DataBuffer encodeValue- (com.google.protobuf.Message message, DataBufferFactory bufferFactory, ResolvableType valueType, @Nullable MimeType mimeType, @Nullable MapSE<StringSE, - ObjectSE> hints) インターフェースからコピーされた説明:- Encoder型 T のオブジェクトをデータバッファーにエンコードします。これは、個別のメッセージ(またはイベント)が完全に集約された形式で個別にエンコードおよび処理されるシナリオで役立ちます。- デフォルトでは、このメソッドは - UnsupportedOperationExceptionSE を発生させ、一部のエンコーダーは単一のバッファーを作成できないか、同期的に作成できないことが予想されます(例:- Resourceのエンコード)。- 次で指定:
-  インターフェース Encoder<com.google.protobuf.Message>のencodeValue
- パラメーター:
- message- エンコードされる値
- bufferFactory- 出力- DataBufferを作成するため
- valueType- エンコードされる値の型
- mimeType- 出力コンテンツの MIME 型 (オプション)
- hints- エンコード方法に関する追加情報
- 戻り値:
- エンコードされたコンテンツ
 
- getStreamingMediaTypesインターフェースからコピーされた説明:- HttpMessageEncoder入力ストリームの最後で自動的にフラッシュを実行する必要がある「ストリーミング」メディア型を返します。- 次で指定:
-  インターフェース HttpMessageEncoder<com.google.protobuf.Message>のgetStreamingMediaTypes
 
- getEncodableMimeTypesインターフェースからコピーされた説明:- Encoderこのエンコーダーでサポートされている MIME 型のリストを返します。このリストは、考えられるすべてのターゲット要素型に適用されるとは限らないため、このメソッドの呼び出しは通常、- canEncode(elementType, null)を介して保護する必要があります。このリストでは、特定の要素型でのみサポートされている MIME 型を除外することもできます。または、- Encoder.getEncodableMimeTypes(ResolvableType)を使用してより正確なリストを作成します。- 次で指定:
-  インターフェース Encoder<com.google.protobuf.Message>のgetEncodableMimeTypes
- 戻り値:
- サポートされている MIME 型のリスト