質問内容
質問を評価する
(0ポイント)
|
サービスプロセスアノテーションのフラグが立ってると きは処理をおこなって、それ以外は行わないようにした いです。 ここで疑問、処理自体をアノテーションに定義できない ものでしょうか。処理が冗長的にみえて。
public class Interceptor implements InvocationHandler{ Object target; public Interceptor(Object target) { this.target = target; } public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { ServiceProccess ano = method.getAnnotation(ServiceProccess.class); Object ret=null; if(ano!=null && ano.proccessTimeLogOut()){ System.out.println("BEGIN " + target.getClass() + " : " + method.getName()); ret = method.invoke(target, args); System.out.println("END " + target.getClass() + " : " + method.getName()); }else{ ret = method.invoke(target, args); }
return ret; } @Target({ElementType.METHOD }) public @interface ServiceProccess{ public boolean proccessTimeLogOut(); } }
|