grails-app の管理者ロールが実行中のサーバーに「機能」/「プラグイン」を追加して、システムがすぐに利用できるようにする方法を探しています。
ここでより具体的にするために、小さな例を示します。
package domains
abstract class Provider {
def protected name;
def protected activated = false;
def private valid;
def Provider( providerName ) {
if( providerName != null ) {
name = providerName;
valid = true;
else valid = false;
}
def isValid() { valid }
def getName() { name }
def isActivated() { activated }
def setActivated( bool ) { activaed = bool }
abstract List<String> search( String searchKey );
}
一部のサブクラス:
package googleprovider
import Provider;
class GoogleProvider extends Provider {
def GooleProvider( active ) {
super( "Google" );
activated = active;
}
@Override
List<String> search( String searchKey ) {
return ["http://www.google.com"]
}
}
これで、すべての「プラグイン」/「機能」はプロバイダーから拡張され、ディレクトリ「plugins/providers/」にファイルとして配置されます。
そしてサーバーは、「onAdd」イベントまたはその管理者によってリーシュされた何かで、この GoogleProvider のインスタンスを作成する必要があります。
これができる可能性はありますか?それとも私は完全に夢を見ていますか?それが何らかの形で可能であり、それが私が完全に間違った方向に進んでいるというだけの場合は、教えてください! ;-)
御時間ありがとうございます!