2017-03-24 66 views
0

我有一個註釋命名Metric如何在類裏面添加註釋?

@Target({ElementType.FIELD, ElementType.METHOD}) 
public @interface Metric { 
    String name() default ""; 
} 

我想編織一些邏輯時的一些方法與@Metric註釋,如:

public class MethodWithMetricDemo{ 

    @Metric 
    public void targetMethod(){ 
     // do some thing 
    } 
} 

但如何在new AgentBuilder.Default().type(xxxxxxxxxxxxxxxx)MethodWithMetricDemo匹配嗎?

回答

0

您需要根據方法註釋匹配您的類型。由於方法是虛擬繼承的,所以你需要遍歷整個類層次結構hasSuperType(declaresMethod(isAnnotatedWith(...)))。這是可能的,但相當昂貴。如果你選擇使用這樣一個匹配器,你應該限制你的匹配到一個給定的命名空間。