Создание аннотации 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"]);
}

Что я могу использовать для достижения своей цели? Можно ли получить файл экземпляра .class, подобный тому, который я написал, возможно, с помощью Spring? Можете ли вы привести пример?


person Alex    schedule 16.06.2015    source источник


Ответы (1)