Cosminexus ビジネスプロセス管理/エンタープライズサービスバス V8 サービスプラットフォーム 開発ガイド

[目次][用語][索引][前へ][次へ]

付録I.1 文字コード変換UOCのjarファイルの開発

文字コード変換UOCは,Cosminexus サービスプラットフォームが提供するjarファイルを使用して開発します。

文字コード変換UOCの開発に必要なjarファイルに定義されているインターフェースおよび例外クラスは,次の場所に格納されています。

 
<Cosminexusのインストールディレクトリ>\CSC\lib\cscdt_uoc.jar
 
注意
  • 開発した文字コード変換UOCのjarファイルは,任意のディレクトリに格納してください。また,文字コード変換UOCをコンパイルするときは,cscdt_uoc.jarをクラスパスに含めてください。
  • 文字コード変換UOCの実行時に確保したリソースは,処理が終了しても保持し続けるため,システム全体に高い負荷が掛かった場合に,Javaヒープ不足などが原因でOutOfMemoryErrorが発生することがあります。そのため,OutOfMemoryErrorが発生したときに適切にリソースを解放する処理や,ロールバックなどのエラー処理を実装しておく必要があります。
<この項の構成>
(1) インターフェース
(2) 例外クラス

(1) インターフェース

文字コード変換UOCのインターフェースを次に示します。

インターフェース名
CSCOwnCodeConverterインターフェース

説明
文字コード変換UOCを実装するためのインターフェースです。
CSCOwnCodeConverterのパッケージ名は,jp.co.Hitachi.soft.csc.dt.uoc.CSCOwnCodeConverterです。

形式
 
public class OwnCodeConverter implements CSCOwnCodeConverter
{
  public void setProperties(final Properties properties) 
           throws CSCOwnCodeConverterException;
  public char[] ownCodeToUnicode(final byte[] inBuffer)
           throws CSCOwnCodeConverterException;
  public byte[] unicodeToOwnCode(final char[] inBuffer)
           throws CSCOwnCodeConverterException;
  public int available(final byte[] inBuffer)
           throws CSCOwnCodeConverterException;
}
 

メソッド
CSCOwnCodeConverterインターフェースのメソッドを次の表に示します。
メソッド名 説明
setPropertiesメソッド 独自定義ファイルの定義内容を文字コード変換UOCに渡すためのメソッドです。
ownCodeToUnicodeメソッド 独自文字コードの文字列をUnicodeに変換するメソッドです。
unicodeToOwnCodeメソッド Unicode(UTF-16)の文字列を独自文字コードに変換するメソッドです。
availableメソッド 文字コード変換時に変換できる文字列のバイト数を返すメソッドです。
文字コード変換UOCからの各メソッドの呼び出し順序を次の図に示します。

図I-1 文字コード変換UOCからの各メソッドの呼び出し順序

[図データ]
  1. インスタンス生成
    変換前の電文を受け取ったあと,データ変換によって文字コード変換UOCのインスタンスを生成します。
  2. setPropertiesメソッド
    独自定義ファイルの定義内容を文字コード変換UOCに渡します。このメソッドは,文字コード変換UOC開始時に一度だけ呼ばれます。
  3. ownCodeToUnicodeメソッド,unicodeToOwnCodeメソッド,availableメソッド
    それぞれのメソッドは,文字コード変換UOC実行時に文字コード変換から呼ばれます。メソッドの実行順序は電文フォーマットに依存します。
    • ownCodeToUnicodeメソッド
      このメソッドで独自文字コードの文字列をUnicodeに変換します。
    • unicodeToOwnCodeメソッド
      このメソッドでUnicode(UTF-16)の文字列を独自文字コードに変換します。
    • availableメソッド
      このメソッドは,文字コード変換時に変換できる文字列のバイト数を返します。
(a) setPropertiesメソッド

説明
独自定義ファイルの定義内容を文字コード変換UOCに渡します。

形式
 
public void setProperties(final Properties properties) 
         throws CSCOwnCodeConverterException;
 

パラメタ
properties:
独自定義ファイルの定義内容が格納されます。

注意事項
次の場合,setPropertiesメソッドの引数は必ずnullになります。setPropertiesメソッドの引数がnullの場合でも,文字コード変換UOCがエラーにならないように実装してください。
  • 独自定義ファイルが存在しない(定義されていない)場合
  • カスタム受付以外の受付(独自定義ファイルを定義できない受付)から文字コード変換UOCを実行した場合
  • カスタムアダプタ以外のアダプタ(独自定義ファイルを定義できないアダプタ)から文字コード変換UOCを実行した場合

例外
CSCOwnCodeConverterException:
文字コード変換処理中に異常が発生したため,データ変換処理全体を中断しました。

戻り値
なし。
(b) ownCodeToUnicodeメソッド

説明
独自文字コードの文字列をUnicodeに変換します。

形式
 
public char[] ownCodeToUnicode(final byte[] inBuffer)
         throws CSCOwnCodeConverterException;
 

パラメタ
inBuffer:
独自文字コードの文字列を格納したバイト配列のバッファが格納されます。このバッファは読み込み専用のため,編集はできません。

例外
CSCOwnCodeConverterException:
文字コード変換処理中に異常が発生したため,データ変換処理全体を中断しました。

戻り値
Unicodeに変換した文字列を格納した文字配列のバッファを返します。
(c) unicodeToOwnCodeメソッド

説明
Unicode(UTF-16)の文字列を独自文字コードに変換します。

形式
 
public byte[] unicodeToOwnCode(final char[] inBuffer)
         throws CSCOwnCodeConverterException;
 

パラメタ
inBuffer:
Unicodeの文字列を格納した文字配列のバッファが格納されます。
このバッファは読み込み専用のため,編集はできません。

例外
CSCOwnCodeConverterException:
文字コード変換処理中に異常が発生したため,データ変換処理全体を中断しました。

戻り値
独自文字コードに変換した文字列を格納したバイト配列バッファを返します。
(d) availableメソッド

説明
文字コード変換時に変換できる文字列のバイト数を返します。

形式
 
public int available(final byte[] inBuffer)
         throws CSCOwnCodeConverterException;
 

パラメタ
inBuffer:
独自文字コードの文字列を格納したバイト配列のバッファが格納されます。このバッファは読み込み専用のため,編集はできません。

例外
CSCOwnCodeConverterException:
文字コード変換処理中に異常が発生したため,データ変換処理全体を中断しました。

戻り値
正常に変換できる文字列のバイト数を格納します。ただし,変換できない文字がある場合は,その文字の前の文字までのバイト数を格納します。

(2) 例外クラス

文字コード変換UOCの開発時に発生する例外クラスを次に示します。

クラス名
CSCOwnCodeConverterExceptionクラス

説明
文字コード変換処理中に異常が発生した場合に送出する例外です。
この例外が発生した場合は,データ変換処理全体を中断します。