ページの先頭行へ戻る
Interstage Charset ManagerStandard Edition V9 システム構築ガイド コンバータ編
FUJITSU Software

2.2.5 アプリケーションへの組み込み

Converterライブラリには、C言語インタフェースとJavaインタフェースがあります。アプリケーションのプログラム言語に応じて選択してください。C言語インタフェースについては、“4.1 C言語インタフェース”を、Javaインタフェースについては、“4.2 Javaインタフェース”を参照してください。

C言語インタフェースの場合

アプリケーションに、以下の呼び出しフローを組み込みます。

図2.8 C言語インタフェースの呼び出しフロー

[]内の関数は、必要に応じて呼び出します。

マルチスレッドでコード変換をする場合には、以下のようなフローになります。

図2.9 C言語インタフェースの呼び出しフロー(マルチスレッドの場合)

コード変換開始関数で生成されるコード変換プロパティ情報は、複数スレッド間で共有することができます。

複数のコード変換ポリシーを同時に用いる場合は、コード変換開始関数をそれぞれのポリシーごとに呼び出してください。

ストリーム情報はコード変換処理時に更新されるため、スレッド間で共有しないでください。

注意

コード変換開始関数およびコード変換ポリシー設定関数は、変換定義情報を構築するため、処理コストがかかります。これら関数は、呼び出し回数を抑えるよう設計してください。

Javaインタフェースの場合

アプリケーションに、以下の呼び出しフローを組み込みます。

図2.10 Javaインタフェースの呼び出しフロー

マルチスレッドでコード変換をする場合、ConversionPolicyクラスのインスタンスは、スレッド間で共有できます。Converterクラスのインスタンスは、各スレッドで生成してください。

注意

ConversionPolicyクラスおよびConverterクラスは、変換定義情報を構築するため、処理コストがかかります。これらクラスは、インスタンス生成回数を抑えるよう設計してください。

注意

処理できるデータサイズの制限について

Charset Converterでは、処理できるデータサイズに制限はありません。ただし、文字数、バイト数のカウントに関する変数にそれぞれ上限値があり、これを超えた場合は正しいカウント値を得られなくなります。
文字数、バイト数のカウントに関する変数は以下のとおりです。

C言語インタフェースの場合
Javaインタフェースの場合