ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

initialize

クラス: matlab.net.http.io.ContentConsumer
パッケージ: matlab.net.http.io

新しい HTTP ペイロードのためのコンシューマーを準備

構文

OK = initialize(consumer)

説明

OK = initialize(consumer) は、新しい HTTP ペイロードで使用するための ContentConsumer を準備します。

ペイロードが含まれる可能性のある ResponseMessage のヘッダーの受信後に、MATLAB® によって initialize が呼び出され、そのペイロードのためのコンシューマーが準備されます。Content-Length が 0 であると明示されているメッセージや、完全なヘッダーが受信されないエラーが発生した場合など、ペイロードが含まれていることが想定されないメッセージに対しては呼び出されません。

デリゲート コンシューマー内の delegateTo メソッドも initialize を呼び出します。

ContentConsumer をサブクラス化する場合、少なくとも ContentType プロパティをチェックして、応答が処理用に準備している型であることを確認する必要があります。たとえば、次のためにこのメソッドをオーバーライドできます。

  • 独自のプロパティを初期化する

  • ペイロードを処理するかどうかを判断する

  • OK 以外の Response.StatusCode を持つペイロードを処理する

後続の初期化をこのメソッドで実行するか、あるいは start メソッドまで遅延させるかどうかを決定します。

initialize が呼び出された場合でも、メッセージにペイロードが含まれていないときは、MATLAB によってコンシューマーの start メソッドが呼び出されない場合があります。

Response.StatusCodeOK である場合、既定の実装によって true が返されます。そうでない場合は、false が返されます。このメソッドをオーバーライドするサブクラスは、OK 以外のステータスを持つメッセージを処理する場合を除いて、最初にこのスーパークラス メソッドを呼び出し、戻り値をチェックします。このクラスで putData を呼び出すサブクラスは、このメソッドを呼び出さなければなりません。

コンシューマー サブクラスは、後続のメッセージで再利用されるように準備する必要があります。MATLAB によって、各メッセージの前に initialize が呼び出され、空でないペイロードを持つ各メッセージ用に start が呼び出されます。MATLAB によって start が呼び出されたら、メッセージが終了するか、例外がスローされるか、あるいはメッセージの処理中に中断が発生するまで initialize は呼び出されません。これらのケースはすべて putData(uint8.empty) の呼び出しによって示されます。

入力引数

すべて展開する

コンテンツ コンシューマー。matlab.net.http.io.ContentConsumer オブジェクトとして指定します。

出力引数

すべて展開する

コンシューマーがメッセージのペイロードを受け入れるか拒否するかどうかを示します。true または false として返されます。

  • ResponseMessage のステータス コードが StatusCode.OK である場合、既定値は true です。

  • OKtrue である場合、コンシューマーはメッセージを受け入れており、ペイロードを処理します (存在する場合)。MATLAB では、ペイロードの最初のバイトが到達したときにコンシューマーの start メソッドが呼び出されます。その後、1 つ以上の putData の呼び出しが続き、呼び出しごとにデータのバッファーが渡されます。

  • OKfalse である場合、コンシューマーはメッセージを処理しません。この場合、MATLAB では、コンシューマーが指定されていないかのようにペイロードが処理されます (ペイロードからデータへの既定の変換が行われる可能性があります)。

initialize メソッドをオーバーライドしてメッセージを拒否し、既定の方法で処理するのではなくメッセージの受信を中止する場合は、false を返す代わりにこのメソッドからエラーをスローします。

属性

Accessprotected

R2018a で導入