Cosminexus ビジネスプロセス管理/エンタープライズサービスバス V8 サービスプラットフォーム 開発ガイド
![[目次]](FIGURE/CONTENT.GIF)
![[用語]](FIGURE/GLOSS.GIF)
![[索引]](FIGURE/INDEX.GIF)
![[前へ]](FIGURE/FRONT.GIF)
文字コード変換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からの各メソッドの呼び出し順序
![[図データ]](FIGURE/ZC990600.GIF)
- インスタンス生成
変換前の電文を受け取ったあと,データ変換によって文字コード変換UOCのインスタンスを生成します。
- setPropertiesメソッド
独自定義ファイルの定義内容を文字コード変換UOCに渡します。このメソッドは,文字コード変換UOC開始時に一度だけ呼ばれます。
- 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:
- 文字コード変換処理中に異常が発生したため,データ変換処理全体を中断しました。
- 戻り値
- 正常に変換できる文字列のバイト数を格納します。ただし,変換できない文字がある場合は,その文字の前の文字までのバイト数を格納します。
文字コード変換UOCの開発時に発生する例外クラスを次に示します。
- クラス名
- CSCOwnCodeConverterExceptionクラス
- 説明
- 文字コード変換処理中に異常が発生した場合に送出する例外です。
- この例外が発生した場合は,データ変換処理全体を中断します。
All Rights Reserved. Copyright (C) 2008, 2011, Hitachi, Ltd.