このドキュメントは、プラグイン類を集めた『はやぶさplugin』の API 仕様です。
plugin には、【calendar】、【column】、【daemon】、【develop】、【io】、【query】、【table】、【view】
があり、各カスタムタグの属性でキーワードを指定する事で、使用します。
plugin の導入メカニズムは特殊(※)で、クラス名が、インターフェース_キーワード.java
というクラスファイルを、plugIn というクラスパスから、起動時に読み込んで、
システム設定ファイル(GE12)にロードします。
本体は、システム設定ファイルのキーと正式クラス名(パッケージ付きクラス名)から、
実際のクラスを起動します。
よって、初期設定と同じキーワードでプラグインをオーバーロードする場合は、Tomcat等の
アプリケーションサーバーのオーバーロードメカニズムを利用して、読み込み優先順位を
あげる必要があります。
Tomcatでいうと、WEB-INF の lib と classes では、classes の方がクラスロードの
優先順位が高いので、標準plugin を lib に、カスタムplugin を classes に配置する
ことで、プラグインをオーバーロードを実現してください。
ただし、起動後、システム設定ファイル(GE12) を書き換える事で、任意のクラスを
オーバーロードすることが可能ですので、先のクラスローダーでは解決できないケース
では、こちらの方式を使用してください。
※ plugin の導入メカニズム
plugin の導入メカニズムでは、Eclipseの採用している
OSGi(Open Service Gataway Initiative)
と、Tomcatの採用している
JMX(Java Management Extensions)
が有名です。
現バージョンでは、それぞれのプラグインは独立したプログラムではなく、あくまで
内部再利用を行う為の機構の為、簡易的な方法で、実装しています。
org.opengion.plugin.calendar (classes)
→ org.opengion.fukurou.util classes
→ org.opengion.hayabusa.common classes
→ org.opengion.hayabusa.resource classes
org.opengion.plugin.column (classes)
→ org.opengion.fukurou.db classes
→ org.opengion.fukurou.model classes
→ org.opengion.fukurou.security classes
→ org.opengion.fukurou.system classes
→ org.opengion.fukurou.util classes
→ org.opengion.hayabusa.common classes
→ org.opengion.hayabusa.db classes
→ org.opengion.hayabusa.resource classes
org.opengion.plugin.daemon (classes)
→ org.opengion.fukurou.db classes
→ org.opengion.fukurou.mail classes
→ org.opengion.fukurou.system classes
→ org.opengion.fukurou.transfer classes
→ org.opengion.fukurou.util classes
→ org.opengion.hayabusa.common classes
→ org.opengion.hayabusa.mail classes
→ org.opengion.hayabusa.report classes
→ org.opengion.hayabusa.report2 classes
org.opengion.plugin.io (classes)
→ org.opengion.fukurou.model classes
→ org.opengion.fukurou.system classes
→ org.opengion.fukurou.util classes
→ org.opengion.hayabusa.common classes
→ org.opengion.hayabusa.db classes
→ org.opengion.hayabusa.io classes
org.opengion.plugin.query (classes)
→ org.opengion.fukurou.model classes
→ org.opengion.fukurou.system classes
→ org.opengion.fukurou.util classes
→ org.opengion.hayabusa.common classes
→ org.opengion.hayabusa.db classes
org.opengion.plugin.report (classes)
→ org.opengion.fukurou.system classes
→ org.opengion.fukurou.util classes
→ org.opengion.hayabusa.common classes
→ org.opengion.hayabusa.db classes
→ org.opengion.hayabusa.report classes
org.opengion.plugin.table (classes)
→ org.opengion.fukurou.db classes
→ org.opengion.fukurou.model classes
→ org.opengion.fukurou.system classes
→ org.opengion.fukurou.util classes
→ org.opengion.hayabusa.common classes
→ org.opengion.hayabusa.db classes
→ org.opengion.hayabusa.report2 classes
→ org.opengion.hayabusa.resource classes
org.opengion.plugin.view (classes)
→ org.opengion.fukurou.model classes
→ org.opengion.fukurou.system classes
→ org.opengion.fukurou.util classes
→ org.opengion.hayabusa.common classes
→ org.opengion.hayabusa.db classes
→ org.opengion.hayabusa.html classes
→ org.opengion.hayabusa.resource classes