в моем проекте я должен реализовать некоторые аннотации, определяющие набор типов данных и операцию, которую я могу с ними выполнить.
После этого я должен аннотировать некоторые классы моего пакета моделей, указав таким образом, какой тип операции я могу выполнять с этим классом.
В конце концов, во время компиляции я должен проанализировать класс с аннотированным полем и построить новую модель, представляющую класс и каждую операцию, которую я могу выполнять с его свойствами.
Мне было интересно, что, если способ, который я перечислил ниже, может быть правильным способом сделать это:
Например:
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"]);
}
Что я могу использовать для достижения своей цели? Можно ли получить файл экземпляра .class, подобный тому, который я написал, возможно, с помощью Spring? Можете ли вы привести пример?