extensions

！！仕様はまだ確定していません！！
nl本体のバージョンアップごとに一旦extensionフォルダの中身をクリアした方が良いかも・・・
拡張を入れるときは、信頼できる配布元からのものか確認した後に行ってください。

追加でロードするクラスを置くことが出来ます。
現状は、Processorクラスの拡張のみ。
やっつけ実装なので、以下の制限が有ると思います。
１．1つのインスタンスを使い回すため、メンバ変数に状態を保存できません。
　　その辺の確認を出来るProcessorクラスの関数が欲しいかも・・・
２．呼ばれる順により最初に引っかかったProcessorしか実行されない
　　対象がかぶると早いもん勝ち。
３．コンパイルが超大変かもしれない！！
　　jarへクラスパスを通すといけるだろうか？
４．模索中なので仕様がころころ変わるでしょう！！
　　仕様が安定するまではバージョンアップによる互換性は保証できません。

ひとまず、今後のための叩き台としての実装です。
興味のある方はサンプルをてきとーに変えてみてください〜。

システムの動作：
起動時
↓
extensions/*.classを検索
↓
ロード後、Extensionクラスへキャスト
↓
Extension#queryInterface(Extension.Type)
で、対応するインターフェイスが有れば返される
↓
Processorリストに登録
↓
コンソールに Processor Extension: hogehoge.class と出れば成功
↓
コネクションに対応してProcessorインターフェイスの実装が呼ばれる。