2016-06-15 5 views
1

私はこのようなPOJOを持っていると言います。アノテーションをpojoに挿入できますか?

public class SomeDataClass { 

    @SomeProperty1 
    String myField1; 

    @SomeProperty1 
    String myField2; 

    ... 

    getters()... 
    setters()... // you know the drill 

} 

インスタンス化されたオブジェクトに注釈を合成できるようにしたいと考えています。私はそれがリフレクションを使用して検査した場合、新たなPOJOは、実際にこのようになります。

public class SomeDataClass { 

    @SomeProperty1 
    String myField1; 

    @SomeProperty1 
--> @SomeProperty2 <--- the logic flow would change depending on whether this annotation is present 
    String myField2; 

    ... 

    getters()... 
    setters()... // you know the drill 

} 

これは可能ですか?このようなことをどうすれば達成できますか?

+0

がある、あなたは自分自身をインスタンスであるクラスを(検査、しかし、あなたは知っています私が意味したのは)。 – SJuan76

+0

注釈は不変のクラス構造の一部です。インスタンス化されたオブジェクトとは無関係であり、インスタンス化されたオブジェクトには注入できません。 ...そしてそれらは不変です。 – Holger

答えて

0

Annotations

ので、あなたが反射によって与えられたクラスで宣言されたフィールドの名前を取得し、情報を必要とするこれらのフィールドのどちらを区別するために必要な基準を使用する必要があります...ただ、構文のメタデータプロバイダです@SomeProperty2が提供されていること、それは実行時に@SomeProperty2からの情報を追加した後は、インスタンスを検査していない反射によってセッターやゲッターのちょうど通常の使用...

+0

問題は、私は2000のフィールド定義のクラスがあることです。これは、cobolプログラムのデータフィールドを表すクラスです。 – R4F6

関連する問題