以下の抽象基底クラスがPEXAから提供されています。
pexa.share.util.conv.service.plugin.AbstractConvertPlugin
上記のクラスをextendsしてプラグインクラスを作成して下さい。
以下の形式のコンストラクタ及びメソッドを実装する必要があります。
コンストラクタ
/**
* コンストラクタ
* @param nameKey
* @param typeKey
* @param info
* @param resource
*/
public TestConvertPlugin(Key nameKey, Key typeKey, Map info, Resource resource){
super(nameKey, typeKey, info, resource);
}
上記のような形式のパラメータを持つコンストラクタを必ず用意して下さい。
その中で、抽象基底クラス側の同じパラメータ形式のコンストラクタをコールすることで
基底クラス側の初期化処理が行われます。
変換処理実行メソッド
/**
* 変換処理を実行する
* @param source 変換元オブジェクト
* @return 変換結果
* @throws ConvertServiceException 変換処理での致命的なエラー
*/
protected ConvertResult convertLocal(Object source) throws ConvertServiceException {
System.out.println("TestConvertPlugin : name=[" + getConverterNameKey() + "]");
System.out.println("TestConvertPlugin : type=[" + getConverterTypeKey() + "]");
System.out.println("TestConvertPlugin : info=[" + getConverterTypeInfo() + "]");
System.out.println("TestConvertPlugin : source=[" + source + "]");
PhenomenonType versionNumber = getPhenomenonType("VersionNumber");
PhenomenonType removedFlag = getPhenomenonType("RemovedFlag");
Translator translator = getTranslator("default");
Updatable nonameUpdatable = createUpdatable();
Updatable testHeaderModelUpdatable = createUpdatable("TestHeaderModel");
return new ConvertResultBase("TestConvertPlugin:Result", "TestConvertPlugin:Error");
}
上記の形式のprotectedメソッドで実際の変換処理を実装します。
コンストラクタで渡されたパラメータ及びPEXA側の機能にアクセスするためのメソッドが
あらかじめ基底クラス側で用意されているので、それらを利用して処理を実行します。
変換処理の結果は以下のクラスをnewして格納し、それをreturnで呼出元に返却して下さい。
pexa.share.util.conv.service.base.ConvertResultBase