1
我必須實現一些註釋,指定一組數據類型和我可以對它們執行的操作。Java註釋在編譯時創建.class在我的項目中
在此之後,我必須註釋我的模型包的一些類,以這種方式指定我可以在此類上進行什麼類型的操作。
最後,在編譯時,我必須解析帶註釋字段的類,並構建一個新模型來表示該類以及我可以對其屬性執行的每個操作。
我想知道如果我下面列出的方法可能是一個正確的方式做到這一點:
例如:
public @interface MySearchableType1 {
enum operations{
EQUAL,
NOT_EQUAL,
LIKE,
NOT_LIKE,
IN,
NOT_IN
}
}
public @interface MySearchableType2 {
enum operations{
EQUAL,
NOT_EQUAL
}
}
public class MyClass {
public String name;
@MySearchableType1
public String property1;
@MySearchableType2
public String property2;
}
最終產品應該是這樣的:
public class MyModelClass{
public Map<String, String[]> property1 = new HasMap<String,String[]>();
property1.put("property1", ["EQUAL", "NOT_EQUAL", "LIKE", "NOT_LIKE", "IN", "NOT_IN"]);
public Map<String, String[]> property2 = new HasMap<String,String[]>();
property2.put("property21", ["EQUAL", "NOT_EQUAL"]);
}
我可以用什麼來達到我的目標?是否有可能獲得像我寫的可能使用spring的實例化.class文件?你可以給我一個例子嗎?
我哈得好好利用這個教程http://tutorials.jenkov.com/java-reflection/annotations.html的。對不起,我沒有你的答案 – Kennet
「在編譯時和通過java反射」是一個矛盾。反射工作*在運行時*。 – Holger
好吧,我改變了標題......所以你有一個更具建設性的答案?是否有可能從註釋分析開始構建我自定義的.class類? – Alex