Rational Developer for System z
COBOL for Windows バージョン 7.5 プログラミング・ガイド


Java ストリングの取り扱い

COBOL は、Java ストリング・データを Unicode で表します。 Java ストリングを COBOL プログラムで表すには、jstring クラスのオブジェクト参照としてストリングを宣言してください。続いて、JNI サービスを使用して、COBOL 国別 (Unicode) データまたは UTF-8 データを設定するか、オブジェクトから抽出します。

Unicode 用のサービス: jstring オブジェクト参照と COBOL USAGE NATIONAL データ項目との間の変換を行うには、以下の標準サービスを使用してください。これらのサービスは、ワークステーションとメインフレーム間で移植可能にするアプリケーションに使用します。これらのサービスへのアクセスは、JNINativeInterface 環境構造の関数ポインターを使用して行います。

表 62. jstring 参照と国別データ間の変換サービス
サービス 入力引数 戻り値
NewString1
  • JNI 環境ポインター
  • COBOL 国別データ項目などの、Unicode ストリングへのポインター
  • ストリングの文字数。2 進数フルワード
jstring オブジェクト参照。
GetStringLength
  • JNI 環境ポインター
  • jstring オブジェクト参照
jstring オブジェクト参照の Unicode 文字数。2 進数フルワード。
GetStringChars1
  • JNI 環境ポインター
  • jstring オブジェクト参照
  • ブール・データ項目を指すポインター、または NULL
  • jstring オブジェクトから抜き出された Unicode 文字の配列を指すポインター、または NULL (操作が失敗した場合)。ポインターは、ReleaseStringChars を使用して解放されるまで有効。
  • ブール・データ項目へのポインターが NULL でないとき、ブール値は、ストリングのコピーが作成される場合には true に、コピーが作成されない場合には false に 設定される。
ReleaseStringChars
  • JNI 環境ポインター
  • jstring オブジェクト参照
  • GetStringChars から戻された Unicode 文字の配列へのポインター
なし。配列のストレージは解放される。
  1. システムがメモリー不足の場合、このサービスは例外を throw します。

UTF-8 用のサービス: JNI の拡張機能である以下のサービスを使用して、jstring オブジェクト参照と UTF-8 ストリング間の変換を行うことができます。 これらのサービスは、メインフレームへ移植可能にする必要のないプログラムで使用します。これらのサービスへのアクセスは、JNI 環境構造 JNINativeInterface の関数ポインターを使用して行います。

表 63. jstring 参照と UTF-8 データ間の変換サービス
サービス 入力引数 戻り値
NewStringUTF1
  • JNI 環境ポインター
  • ヌル終了 UTF-8 ストリングを指すポインター
jstring オブジェクト参照、またはストリングを構成できない場合は NULL
GetStringUTFLength
  • JNI 環境ポインター
  • jstring オブジェクト参照
ストリングを UTF-8 形式で表現するのに必要なバイト数 (2 進数のフルワード)
GetStringUTFChars1
  • JNI 環境ポインター
  • jstring オブジェクト参照
  • ブール・データ項目を指すポインター、または NULL
  • jstring オブジェクトから抽出した UTF-8 文字の配列へのポインター、または操作が失敗した場合は NULL。ポインターは、ReleaseStringUTFChars を使用して解放されるまで有効。
  • ブール・データ項目へのポインターが NULL でないとき、ブール値は、ストリングのコピーが作成される場合には true に、コピーが作成されない場合には false に 設定される。
ReleaseStringUTFChars
  • JNI 環境ポインター
  • jstring オブジェクト参照
  • GetStringUTFChars を使用して jstring 引数から派生した UTF-8 ストリングを指すポインター
なし。UTF-8 ストリングのストレージが解放されます。
  1. システムがメモリー不足の場合、このサービスは例外を throw します。

関連タスク
JNI サービスへのアクセス
COBOL および Java での相互運用可能なデータ型のコーディング
Java 用の配列およびストリングの宣言
COBOL での国別データ (Unicode) の使用
オブジェクト指向アプリケーションのコンパイル、リンク、および実行


ご利用条件 | フィードバック

Copyright IBM Corporation 1996, 2008.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)