だから私はFunctionProvider
、リクエストの実際の処理を行うクラスと、リクエストEndpoint
を受け取って適切なに委任するメインクラスを含むWebサービスアーキテクチャを書いていますFunctionProvider
。
実行時に利用可能な sが正確にはわからないFunctionProvider
ので、それらをメイン クラスに「登録」し (それが正しい言葉である場合) Endpoint
、クエリを実行して着信要求と一致するかどうかを確認できるようにする必要があります。
public class MyFunc implements FunctionProvider{
static {
MyEndpoint.register(MyFunc);
}
public Boolean matchesRequest(Request req){...}
public void processRequest(Request req){...}
}
public class MyEndpoint{
private static ArrayList<FunctionProvider> functions = new ArrayList<FunctionProvider>();
public void register(Class clz){
functions.add(clz);
}
public void doPost(Request request){
//find the FunctionProvider in functions
//matching the request
}
}
私は実際には、このようなリフレクティブ Java をあまり実行したことがありません (上記は間違っている可能性がありますが、うまくいけば私の意図を示しています)。
ハックせずにこれを実装する最も良い方法は何ですか?