6.3.1 JSMResponseクラス
JSMReponseオブジェクトは、JSMクライアント・プログラムに応答を返す場合に使用されます。
JSMReponseオブジェクトには、状況、メッセージ、バイト配列、リスト、フィールド・リスト・オブジェクトが含まれます。
Unicode状況文字列値は、クライアント・プログラムのネイティブ・エンコーディングにエンコードされます。
状況値は、LANSA組み込み関数ファンクションAPIの#JSMSTSフィールドにコピーされます。
Unicodeメッセージ文字列値は、クライアント・プログラムのネイティブ・エンコーディングにエンコードされます。
メッセージ値は、LANSA組み込み関数ファンクションAPIの#JSMMSGフィールドにコピーされます。
シングルバイト環境の場合、Unicode文字は、各文字が1バイトにエンコードされます。
ダブルバイト環境の場合、DBCS文字がなければ、Unicode文字は各文字が1バイトにエンコードされます。
DBCS文字がある場合は、シフトアウト文字とシフトイン文字は、1文字につき1バイトから1文字につき2バイトに変更されます。
状況とメッセージのバイト・サイズが制限を超えた場合、応答送信時に例外が投げられます。
バイト配列変数の内容は、JSMクライアント・プログラム内で割り当てられたメモリーにコピーされます。データの変換は行われません。
新しい各JSMコマンドの呼び出しでは、以前のコマンドのバイト配列応答を保管するために割り当てられたメモリーが解放されます。
バイト配列メモリーには、JSM_CLOSEの実行時にHTTPサーバーに渡されるHTTP応答も含まれます。
JSM_CLOSE呼び出しの場合も、バイト配列応答で割り当てられたメモリーが解放されます。
JSMクライアント・プログラムを終了する前にJSM_CLOSEを必ず呼び出すことをお勧めします。
内部の省略値設定は以下のようになります。
状況 |
OK |
メッセージ |
長さゼロの文字列オブジェクト |
ByteArray |
長さゼロのバイト配列オブジェクト |
リスト |
nullオブジェクト |
Fieldlist |
nullオブジェクト |
使いやすくするために、OKおよびERRORという2つのスタティックな最終文字列変数を使用できます。
例
new JSMResponse ( "Ok message" ) ;
new JSMResponse ( JSMResponse.OK, "Ok message" ) ;
new JSMResponse ( JSMResponse.ERROR, "Error message" ) ;
new JSMResponse ( exception ) ;