Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

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();
    }
}  

1

回答

6866

閲覧

1件の回答

評価

0

アノテーションは所詮インターフェースだよ。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。