PEXA Supportについて

PEXAプロパティ

トランスレータ

印刷フレームワーク

AETフレームワーク

ワークフロー

動的フォーム

変換フレームワーク

テンプレートエンジン

カレンダー

タスクスケジューラー

このドキュメントについて

このドキュメントは、PEXA変換サービスのプラグインクラスの説明ガイドです。


ConvertPlugin

変換定義ファイルのconverter_typeで"plugin"と指定した場合に作成するプラグインクラスです。
実装すべきインタフェース及び、抽象基底クラスが用意されています。

実装すべきインタフェース

以下のインタフェースがPEXA側で提供されているので、必ず実装する必要があります。

    pexa.share.util.conv.service.ConvertPlugin
実際には上記のインタフェースを直接implementsするのではなく、PEXAが提供する抽象基底クラスを extendsする形で作成します。以下でこの抽象基底クラスについて説明します。


抽象基底クラス

以下の抽象基底クラスが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



更新情報

  • 最終更新者 : $Author: morishita $
  • 最終更新日時 : $Date:: 2009-10-06 23:49:34 #$
  • バージョン : $Revision: 4261 $



Copyright © 2006, Atrris Corporation