ユーザーが独自のクラスを作成してコンパイルし、プログラムを使用できるように、実行時に extcos を使用してインターフェイスの実装を動的にリンクしようとしています。ただし、クラスの抽出に問題があります。このようなクラスを操作するのは私の頭を悩ませていますが、extcos がほとんどの作業を行っているようです。
プログラムがメインに入ると同時にクラスをロードしようとします。ここに私がそこにあるものがあります:
final Set<Class<? extends IAlgorithm>> classes = new HashSet<Class<? extends IAlgorithm>>();
ComponentScanner scanner = new ComponentScanner();
scanner.getClasses(new ComponentQuery() {
@Override
protected void query() {
select().
from("logic").
andStore(thoseImplementing(IAlgorithm.class).into(classes)).
returning(none());
}
});
IAlgorithm の実装でインスタンスがメソッドを呼び出すようにするにはどうすればよいですか?