2012-10-15 41 views
1

我可以使用JCodeModel生成註釋類免除一件事。 我不知道如何把它添加到註釋:JCodeModel和數組

@Target(value={METHOD,TYPE,CONSTRUCTOR}) 

如何設置定義值法的價值的陣列? 我可以使用JAnnotationUse類的param()方法進行簡單的註釋,但是如何將數組設置爲我無法找到的值。

回答

0

使一些與此類似:

JAnnotationUse annotation = (JClass/JMethod/JFieldVar).annotate(Class<? extends java.lang.annotation.Annotation> MyAnnotation.class); 
// Check if the value of the parameter of the annotation is an Array. 
if (paramAnnotationValue.getClass().isArray()) { 
    Object[] paramAnnotationValueArray = (Object[]) paramAnnotationValue; 
    JAnnotationArrayMember annotationArrayMember = annotation.paramArray("parameter"); 
    for (Object paramValue : paramAnnotationValueArray) { 
     annotationArrayMember.param((String/Boolean/Class/JType) paramValue); 
    } 
} 
// No Array is normal. 
else { 
    (...) 
} 

事情是這樣產生:

@MyAnnotation(parameter = { 
    "value_a", 
    "value_b" 
})