Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 開発ガイド 基本開発編
(1) パッケージ「jp.co.Hitachi.soft.csc.dt.api.transformer」に所属するクラス
パッケージ「jp.co.Hitachi.soft.csc.dt.api.transformer」に所属するインターフェースおよびクラスの一覧を次に示します。
●インターフェース
表11-2 インターフェースの一覧(パッケージ「jp.co.Hitachi.soft.csc.dt.api.transformer」)
インターフェース名 |
説明 |
DataTransformer |
データ変換基盤のデータ変換処理を呼び出すインターフェースです。 |
FormatDataCacheController |
データ変換基盤のキャッシュ操作を実行するインターフェースです。 |
●クラス
表11-3 クラスの一覧(パッケージ「jp.co.Hitachi.soft.csc.dt.api.transformer」)
クラス名 |
説明 |
DataTransformerCacheManager |
データ変換APIのインスタンスを管理するクラスです。 |
FormatDefinition |
フォーマット定義およびデータ変換定義を格納するクラスです。 |
●列挙型
表11-4 列挙型の一覧(パッケージ「jp.co.Hitachi.soft.csc.dt.api.transformer」)
列挙型名 |
説明 |
FormatDataKind |
フォーマット定義およびデータ変換定義の種別を表す列挙型です。 |
●例外クラス
表11-5 例外クラスの一覧(パッケージ「jp.co.Hitachi.soft.csc.dt.api.transformer」)
クラス名 |
説明 |
CacheNotFoundException |
データ変換処理でフォーマット定義およびデータ変換定義のキャッシュが見つからなかったことを通知する例外クラスです。 |
DataTransformException |
データ変換APIの例外を扱うクラスです。 |
(2) インターフェースの詳細
(a) DataTransformerインターフェース
データ変換基盤のデータ変換処理を呼び出すインターフェースです。
- ●クラス定義
public interface DataTransformer
- 説明
- transformメソッドの引数に要求電文,フォーマット定義ファイルの情報,データ変換定義ファイルの情報を指定し,変換後の応答電文をバイト配列で返します。
- なお,サポートするデータ変換の形式は次のとおりです。
- XML→XML
- XML→バイナリ
- バイナリ→XML
- バイナリ→バイナリ
- このクラスは,バイナリフォーマット定義(FDX),およびデータ変換定義(XSLT)のキャッシュを保持します。それぞれのキャッシュは別々に管理されます。キャッシュを保持できる上限値は,システムプロパティで設定します。
- データ変換処理では,バイナリフォーマット定義,およびデータ変換定義のキャッシュを参照し,データ変換をします。キャッシュを登録していない場合は,transformメソッドに対して定義ファイルの情報を指定してください。
- 未登録のキャッシュは,データ変換処理時にキャッシュが登録されます。
- XML Schemaはデータ変換で使用されません。そのため,transformメソッドに対してXML Schemaの定義ファイルを指定する必要はありません。また,このクラスでXML Schemaのキャッシュは保持しません。
- インスタンスを破棄する際には,stopメソッドを一度だけ呼び出してください。
- 注意事項
- 要求電文と応答電文のN対1のデータ変換には対応していません。
- ●メソッド
- DataTransformerインターフェースのメソッドを次の表に示します。
表11-6 DataTransformerインターフェースのメソッド
メソッド名 |
説明 |
transform |
引数で指定した変換元のデータに対し,データ変換処理を実行し,変換後のデータを返します。 |
stop |
停止処理を実行します。 |
- ●transform
- 引数で指定した変換元のデータに対し,データ変換処理を実行し,変換後のデータを返します。
- このメソッドはスレッドセーフです。
- 形式
byte[] transform(byte[] data,
FormatDefinition inFormatDefinition,
FormatDefinition outFormatDefinition,
FormatDefinition transformFormatDefinition)
throws CacheNotFoundException,
DataTransformException
- 引数
- data
変換元データを指定します。
nullは指定できません。
- inFormatDefinition
要求電文のフォーマット定義ファイルを格納するオブジェクトを指定します。
nullは指定できません。
- outFormatDefinition
応答電文のフォーマット定義ファイルを格納するオブジェクトを指定します。
nullは指定できません。
- transformFormatDefinition
データ変換定義ファイルを格納するオブジェクトを指定します。
nullは指定できません。
- 説明
- 要求電文と応答電文の1対1のデータ変換に対応します。
- データ変換をするには,要求電文と応答電文のフォーマット定義,およびデータ変換定義の情報が必要です。
- 定義ファイルの情報はFormatDefinitionクラスで指定します。
- FormatDefinitionクラスでは,定義ファイルの種別,およびキャッシュ名の設定が必須です。nullは指定できません。
- バイナリフォーマット定義,およびデータ変換定義のキャッシュを登録していない場合は,定義ファイルの情報もFormatDefinitionクラスに指定してください。
- 注意事項
- XML Schemaの定義ファイルの情報は,このメソッドで使用されません。定義ファイルの種別とキャッシュ名を,FormatDefinitionクラスで指定してください。
- 戻り値
- 変換後のデータを返します。
- 例外
- データ変換処理で定義ファイルのキャッシュが見つからない場合,例外(CacheNotFoundException)をスローし,エラーメッセージ(KDEC41002-E)をメッセージログに出力します。
- データ変換APIの処理中に内部エラーが発生した場合,例外(DataTransformException)をスローし,エラーメッセージ(KDEC41000-E)をメッセージログに出力します。
- メソッドの引数が不正の場合,例外(DataTransformException)をスローし,エラーメッセージ(KDEC41001-E)をメッセージログに出力します。
- データ変換処理で例外が発生した場合,例外(DataTransformException)をスローし,エラーメッセージ(KDEC41005-E)をメッセージログに出力します。
- キャッシュの登録処理が失敗した場合,例外(DataTransformException)をスローし,エラーメッセージ(KDEC41006-E)をメッセージログに出力します。
- ●stop
- 停止処理を実行します。
- 形式
void stop()
(b) FormatDataCacheControllerインターフェース
データ変換基盤のキャッシュ操作を実行するインターフェースです。
バイナリフォーマット定義(FDX),データ変換定義(XSLT)のキャッシュに関する操作を提供します。
- ●クラス定義
public interface FormatDataCacheController
- 説明
- キャッシュの登録や削除の対象となるキャッシュの情報は,FormatDefinitionクラスに指定します。FormatDefinitionインスタンスの生成時に,定義ファイルの種別やキャッシュ名を設定し,このクラスの各メソッドにFormatDefinitionインスタンスを設定してください。
- 注意事項
- このクラスで,XML Schemaのキャッシュ操作はできません。このクラスの各メソッドの引数にXML Schemaを指定すると例外が発生します。
- ●メソッド
- FormatDataCacheControllerインターフェースのメソッドを次の表に示します。
表11-7 FormatDataCacheControllerインターフェースのメソッド
メソッド名 |
説明 |
clear |
フォーマット定義およびデータ変換定義のキャッシュをすべて削除します。 |
contains |
フォーマット定義およびデータ変換定義のキャッシュが含まれている場合にtrueを返します。 |
getCacheNameList |
フォーマット定義およびデータ変換定義のキャッシュ名の一覧を返します。 |
register |
フォーマット定義およびデータ変換定義のキャッシュを登録します。 |
remove |
フォーマット定義およびデータ変換定義のキャッシュを削除します。 |
- ●clear
- フォーマット定義およびデータ変換定義のキャッシュをすべて削除します。キャッシュが一つも登録されていない場合は,削除対象が存在しないので,処理をしないで終了します(正常終了となります)。
- このメソッドはスレッドセーフです。
- 形式
void clear()
throws DataTransformException
- 引数
- ありません。
- 戻り値
- ありません。
- 例外
- データ変換APIの処理中に内部エラーが発生した場合,例外(DataTransformException)をスローし,エラーメッセージ(KDEC41000-E)をメッセージログに出力します。
- ●contains
- フォーマット定義およびデータ変換定義のキャッシュが含まれている場合にtrueを返します。
- このメソッドはスレッドセーフです。
- 形式
boolean contains(FormatDefinition formatDefinition)
throws DataTransformException
- 引数
- formatDefinition
定義ファイルの情報を格納するオブジェクトを指定します。
nullは指定できません。
- 説明
- FormatDefinitionクラスに設定した種別,およびキャッシュ名と一致するキャッシュから検索します。
- 戻り値
- キャッシュが登録されている場合はtrueを返します。
- 例外
- データ変換APIの処理中に内部エラーが発生した場合,例外(DataTransformException)をスローし,エラーメッセージ(KDEC41000-E)をメッセージログに出力します。
- メソッドの引数が不正の場合,例外(DataTransformException)をスローし,エラーメッセージ(KDEC41001-E)をメッセージログに出力します。
- ●getCacheNameList
- フォーマット定義およびデータ変換定義のキャッシュ名の一覧を返します。
- このメソッドはスレッドセーフです。
- 形式
java.util.Set<java.lang.String> getCacheNameList(FormatDataKind formatDataKind)
throws DataTransformException
- 引数
- formatDataKind
定義ファイルの種別を指定します。
- 注意事項
- 引数に,null,およびXML Schema(XSD)を表す種別は指定できません。
- キャッシュがひとつも登録されていない場合は空のSetを返します。
- このメソッドでは一覧の順序性を保証しません。
- 戻り値
- キャッシュ名のSetを返します。
- 例外
- データ変換APIの処理中に内部エラーが発生した場合,例外(DataTransformException)をスローし,エラーメッセージ(KDEC41000-E)をメッセージログに出力します。
- メソッドの引数が不正の場合,例外(DataTransformException)をスローし,エラーメッセージ(KDEC41001-E)をメッセージログに出力します。
- ●register
- フォーマット定義およびデータ変換定義のキャッシュを登録します。
- このメソッドはスレッドセーフです。
- 形式
- void register(FormatDefinition formatDefinition)
- throws DataTransformException
- 引数
- formatDefinition
定義ファイルの情報を格納するオブジェクトを指定します。
nullは指定できません。
- 説明
- FormatDefinitionクラスに設定した種別,キャッシュ名,定義ファイルのバイト配列を参照し,キャッシュとして登録します。
- 指定されたキャッシュ名でキャッシュが登録されている場合はキャッシュを更新します。
- 注意事項
- 種別,キャッシュ名,および定義ファイルのバイト配列に,nullは指定できません。また,種別にXML Schema(XSD)を指定することもできません。
- 戻り値
- ありません。
- 例外
- メソッドの引数が不正の場合,例外(DataTransformException)をスローし,エラーメッセージ(KDEC41001-E)をメッセージログに出力します。
- キャッシュの登録処理が失敗した場合,例外(DataTransformException)をスローし,エラーメッセージ(KDEC41006-E)をメッセージログに出力します。
- ●remove
- フォーマット定義およびデータ変換定義のキャッシュを削除します。指定された種別,キャッシュ名でキャッシュが登録されていない場合は,削除対象が存在しないので,処理をしないで終了します(正常終了となります)。
- このメソッドはスレッドセーフです。
- 形式
- void remove(FormatDefinition formatDefinition)
- throws DataTransformException
- 引数
- formatDefinition
定義ファイルの情報を格納するオブジェクトを指定します。
nullは指定できません。
- 説明
- FormatDefinitionクラスに設定した種別,キャッシュ名と一致するキャッシュを削除します。
- 注意事項
- 種別,およびキャッシュ名にnullは指定できません。また,種別にXML Schema(XSD)を指定することもできません。
- 戻り値
- ありません。
- 例外
- データ変換APIの処理中に内部エラーが発生した場合,例外(DataTransformException)をスローし,エラーメッセージ(KDEC41000-E)をメッセージログに出力します。
- メソッドの引数が不正の場合,例外(DataTransformException)をスローし,エラーメッセージ(KDEC41001-E)をメッセージログに出力します。
(3) クラスの詳細
(a) DataTransformerCacheManagerクラス
データ変換APIのインスタンスを管理するクラスです。
- ●クラス定義
public class DataTransformerCacheManager
extends java.lang.Object
- 説明
- このクラスは,DataTransformerインスタンスを複数保持し,グループ名という一意の識別子で管理します。
- データ変換処理を呼び出す前に,getDataTransformerメソッドにグループ名を指定し,DataTransformerインスタンスを取得してください。データ変換処理はDataTransformerインスタンスから呼び出します。
- DataTransformerインスタンスは,getDataTransformerメソッドの呼び出し時にキャッシュに存在しない場合,生成されます。
- DataTransformerインスタンスは,データ変換基盤のキャッシュとロガーを保持します。キャッシュ数の上限数などの値はシステムプロパティ値が適用されます。
- 値を変更する場合は,システムプロパティを変更し,DataTransformerインスタンスを再作成してください。
- FormatDataCacheControllerインスタンスは,データ変換基盤のキャッシュに対する操作を提供します。グループ名に関連するDataTransformerインスタンスにアクセスし,キャッシュの登録や削除をします。
- キャッシュ処理を呼び出す前に,createFormatDataCacheControllerメソッドを呼び出し,FormatDataCacheControllerインスタンスを生成してください。
- ●メソッド
- DataTransformerCacheManagerクラスのメソッドを次の表に示します。
表11-8 DataTransformerCacheManagerクラスのメソッド
メソッド名 |
説明 |
createFormatDataCacheController |
FormatDataCacheControllerインスタンスを生成します。 |
getDataTransformer |
指定されたグループ名に関連付けられているDataTransformerインスタンスを返します。 |
removeDataTransformer |
指定されたグループ名に関連付けられているDataTransformerインスタンスを削除します。 |
- ●createFormatDataCacheController
- FormatDataCacheControllerインスタンスを生成します。
- 形式
- public static FormatDataCacheController createFormatDataCacheController(java.lang.String groupName)
- throws DataTransformException
- 引数
- 戻り値
- FormatDataCacheControllerインスタンスを返します。
- 例外
- データ変換APIの処理中に内部エラーが発生した場合,例外(DataTransformException)をスローし,エラーメッセージ(KDEC41000-E)をメッセージログに出力します。
- メソッドの引数が不正の場合,例外(DataTransformException)をスローし,エラーメッセージ(KDEC41001-E)をメッセージログに出力します。
- プロパティの値が不正の場合,例外(DataTransformException)をスローし,エラーメッセージ(KDEC41004-E)をメッセージログに出力します。
- ●getDataTransformer
- 指定されたグループ名に関連付けられているDataTransformerインスタンスを返します。
- グループ名に関連付けられているインスタンスが存在しない場合は,新規に生成します。
- 形式
- public static DataTransformer getDataTransformer(java.lang.String groupName)
- throws DataTransformException
- 引数
- 戻り値
- DataTransformerインスタンスを返します。
- 例外
- データ変換APIの処理中に内部エラーが発生した場合,例外(DataTransformException)をスローし,エラーメッセージ(KDEC41000-E)をメッセージログに出力します。
- メソッドの引数が不正の場合,例外(DataTransformException)をスローし,エラーメッセージ(KDEC41001-E)をメッセージログに出力します。
- プロパティの値が不正の場合,例外(DataTransformException)をスローし,エラーメッセージ(KDEC41004-E)をメッセージログに出力します。
- ●removeDataTransformer
- 指定されたグループ名に関連付けられているDataTransformerインスタンスを削除します。インスタンスが存在しない場合は,削除処理をしません。
- DataTransformerインスタンスを削除する前にDataTransformerインスタンスの停止処理が呼び出されます。
- 形式
public static boolean removeDataTransformer(java.lang.String groupName)
throws DataTransformException
- 引数
- 戻り値
- インスタンスが削除された場合はtrueを返します。
- 例外
- メソッドの引数が不正の場合,例外(DataTransformException)をスローし,エラーメッセージ(KDEC41001-E)をメッセージログに出力します。
(b) FormatDefinitionクラス
フォーマット定義およびデータ変換定義を格納するクラスです。
- ●クラス定義
public class FormatDefinition
extends java.lang.Object
- 説明
- コンストラクタに次に示す情報を指定してください。
- 定義ファイルの種別を表すFormatDataKind列挙型
定義ファイルの種別は,データ変換処理,およびキャッシュのすべての処理で必要な情報です。
- キャッシュ名
次の処理で必要な情報です。
・データ変換
・キャッシュの登録
・キャッシュの削除
・キャッシュの存在確認
- 定義ファイルのバイト配列
データ変換処理とキャッシュの登録で使用します。
- ●コンストラクタ
- FormatDefinitionクラスのコンストラクタを次の表に示します。
表11-9 FormatDefinitionクラスのコンストラクタ
コンストラクタ名 |
説明 |
FormatDefinition |
- (形式1)
- FormatDefinitionインスタンスを生成し,定義情報の種別およびキャッシュ名を設定します。
- (形式2)
- FormatDefinitionインスタンスを生成し,定義情報の種別,キャッシュ名,および定義ファイルのバイト配列を設定します。
|
- ●FormatDefinition(形式1)
- FormatDefinitionインスタンスを生成し,定義情報の種別およびキャッシュ名を設定します。
- 形式
public FormatDefinition(FormatDataKind formatDataKind,
java.lang.String cacheName)
- 引数
- formatDataKind
定義ファイルの種別を指定します。
- cacheName
定義ファイルのキャッシュ名を指定します。
- ●FormatDefinition(形式2)
- FormatDefinitionインスタンスを生成し,定義情報の種別,キャッシュ名,および定義ファイルのバイト配列を設定します。
- 形式
public FormatDefinition(FormatDataKind formatDataKind,
java.lang.String cacheName,
byte[] definitionBytes)
- 引数
- formatDataKind
定義ファイルの種別を指定します。
- cacheName
定義ファイルのキャッシュ名を指定します。
- definitionBytes
定義ファイルのバイト配列を指定します。
- ●メソッド
- FormatDefinitionクラスのメソッドを次の表に示します。
表11-10 FormatDefinitionクラスのメソッド
メソッド名 |
説明 |
getCacheName |
定義ファイルのキャッシュ名を返します。 |
getDefinitionBytes |
定義ファイルのバイト配列を返します。 |
getFormatDataKind |
定義ファイルの種別をFormatDataKind列挙型で返します。 |
- ●getCacheName
- 定義ファイルのキャッシュ名を返します。
- 形式
public java.lang.String getCacheName()
- 戻り値
- 定義ファイルのキャッシュ名を返します。
- ●getDefinitionBytes
- 定義ファイルのバイト配列を返します。
- 形式
public byte[] getDefinitionBytes()
- 戻り値
- 定義ファイルのバイト配列を返します。
- ●getFormatDataKind
- 定義ファイルの種別をFormatDataKind列挙型で返します。
- 形式
public FormatDataKind getFormatDataKind()
- 戻り値
- 定義ファイルの種別を返します。
(4) 列挙型の詳細
(a) FormatDataKind
フォーマット定義およびデータ変換定義の種別を表す列挙型です。
- ●定義
public enum FormatDataKind
extends java.lang.Enum<FormatDataKind>
- ●定数
- FormatDataKindの列挙型定数を次の表に示します。
表11-11 FormatDataKindの列挙型定数
定数名 |
説明 |
FDX |
バイナリフォーマット定義であることを表します。 |
XSD |
XML Schemaであることを表します。 |
XSLT |
XSLTスタイルシート(データ変換定義)であることを表します。 |
- ●FDX
- バイナリフォーマット定義であることを表します。
- 形式
public static final FormatDataKind FDX
- ●XSD
- XML Schemaであることを表します。
- 形式
public static final FormatDataKind XSD
- ●XSLT
- XSLTスタイルシート(データ変換定義)であることを表します。
- 形式
public static final FormatDataKind XSLT
- ●メソッド
- FormatDataKindのメソッドを次の表に示します。
表11-12 FormatDataKindのメソッド
メソッド名 |
説明 |
valueOf |
指定した名前を持つこの型の列挙型定数を返します。 |
values |
この列挙型の定数を含む配列を宣言されている順序で返します。 |
- ●valueOf
- 指定した名前を持つこの型の列挙型定数を返します。
- 形式
public static FormatDataKind valueOf(java.lang.String name)
- 説明
- 文字列は,この型の列挙型定数を宣言するのに使用した識別子と正確に一致している必要があります(余分な空白文字を含めることはできません)。
- 引数
- 戻り値
- 指定した名前の列挙型定数を返します。
- 例外
- この列挙型に指定した名前の定数がない場合,例外(java.lang.IllegalArgumentException)をスローします。
- 引数がnullの場合,例外(java.lang.NullPointerException)をスローします。
- ●values
- この列挙型の定数を含む配列を宣言されている順序で返します。
- 形式
- public static FormatDataKind[] values()
- 説明
- このメソッドは,次のようにして定数を反復するために使用できます。
for(FormatDataKind c: FormatDataKind.values())
System.out.println(c);
- 戻り値
- この列挙型の定数を含む,宣言されている順序での配列を返します。
- 例外
- ありません。
(5) 例外クラスの詳細
(a) CacheNotFoundExceptionクラス
データ変換処理で,フォーマット定義およびデータ変換定義のキャッシュが見つからなかったことを通知する例外クラスです。
- ●クラス定義
public class CacheNotFoundException
extends java.lang.Exception
- ●コンストラクタ
- CacheNotFoundExceptionクラスのコンストラクタを次の表に示します。
表11-13 CacheNotFoundExceptionクラスのコンストラクタ
コンストラクタ名 |
説明 |
CacheNotFoundException |
- (形式1)
- 空のCacheNotFoundExceptionインスタンスを生成します。
- (形式2)
- CacheNotFoundExceptionインスタンスを生成し,詳細メッセージを設定します。
- (形式3)
- CacheNotFoundExceptionインスタンスを生成し,詳細メッセージとキャッシュ名を設定します。
|
- ●CacheNotFoundException(形式1)
- 空のCacheNotFoundExceptionインスタンスを生成します。
- 形式
public CacheNotFoundException()
- 引数
- ありません。
- ●CacheNotFoundException(形式2)
- CacheNotFoundExceptionインスタンスを生成し,詳細メッセージを設定します。
- 形式
public CacheNotFoundException(java.lang.String s)
- 引数
- ●CacheNotFoundException(形式3)
- CacheNotFoundExceptionインスタンスを生成し,詳細メッセージとキャッシュ名を設定します。
- 形式
public CacheNotFoundException(java.lang.String s,
java.lang.String cacheName)
- 引数
- s
詳細メッセージを指定します。
- cacheName
定義ファイルのキャッシュ名を指定します。
- ●メソッド
- CacheNotFoundExceptionクラスのメソッドを次の表に示します。
表11-14 CacheNotFoundExceptionクラスのメソッド
メソッド名 |
説明 |
getCacheName |
定義ファイルのキャッシュ名を返します。 |
- ●getCacheName
- 定義ファイルのキャッシュ名を返します。
- 形式
public java.lang.String getCacheName()
- 戻り値
- 定義ファイルのキャッシュ名を返します。
(b) DataTransformExceptionクラス
データ変換APIの例外を扱うクラスです。
- ●クラス定義
public class DataTransformException
extends java.lang.Exception
- ●コンストラクタ
- DataTransformExceptionクラスのコンストラクタを次の表に示します。
表11-15 DataTransformExceptionクラスのコンストラクタ
コンストラクタ名 |
説明 |
DataTransformException |
- (形式1)
- 空のDataTransformExceptionインスタンスを生成します。
- (形式2)
- DataTransformExceptionインスタンスを生成し,詳細メッセージを設定します。
- (形式3)
- DataTransformExceptionインスタンスを生成し,例外の原因となるクラスを設定します。
- (形式4)
- DataTransformExceptionインスタンスを生成し,詳細メッセージと例外の原因となるクラスを設定します。
|
- ●DataTransformException(形式1)
- 空のDataTransformExceptionインスタンスを生成します。
- 形式
public DataTransformException()
- 引数
- ありません。
- ●DataTransformException(形式2)
- DataTransformExceptionインスタンスを生成し,詳細メッセージを設定します。
- 形式
public DataTransformException(java.lang.String s)
- 引数
- ●DataTransformException(形式3)
- DataTransformExceptionインスタンスを生成し,例外の原因となるクラスを設定します。
- 形式
public DataTransformException(java.lang.Throwable t)
- 引数
- ●DataTransformException(形式4)
- DataTransformExceptionインスタンスを生成し,詳細メッセージと例外の原因となるクラスを設定します。
- 形式
public DataTransformException(java.lang.String s,
java.lang.Throwable t)
- 引数
- s
詳細メッセージを指定します。
- t
例外の原因となるクラスを指定します。
All Rights Reserved. Copyright (C) 2012, 2019, Hitachi, Ltd.