# パッケージ org.opengion.plugin

package org.opengion.plugin

     このドキュメントは、プラグイン類を集めた『はやぶさplugin』の ＡＰＩ 仕様です。

     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

- Related Packages
  パッケージ
  説明
  org.opengion
  このドキュメントは、オープンジーオン・フレームワーク『openGion』の ＡＰＩ 仕様です。
  org.opengion.plugin.calendar
  このドキュメントは、『はやぶさPlugIn』の CalendarQuery PlugIn 仕様です。
  org.opengion.plugin.column
  このドキュメントは、『はやぶさPlugIn』の カラムリソース関連 PlugIn 仕様です。
  org.opengion.plugin.daemon
  org.opengion.fukurou.util.HybsTimerTask の実装クラスで、デーモンクラスです。
  org.opengion.plugin.io
  このドキュメントは、『はやぶさPlugIn』の ファイル入出力関連 PlugIn 仕様です。
  org.opengion.plugin.query
  このドキュメントは、『はやぶさPlugIn』の Query PlugIn 仕様です。
  org.opengion.plugin.table
  このドキュメントは、『はやぶさPlugIn』の テーブルフィルター PlugIn 仕様です。
  org.opengion.plugin.view
  このドキュメントは、Ｗｅｂアプリケーションフレームワーク『はやぶさ』の ＡＰＩ 仕様です。