2016-12-15 9 views
0

私はpojoを書くときにlombokの注釈@Dataを使用しています。自動的にコンストラクタ、hashCodeなどのメソッドが生成されるためです。このようなpojoクラスで@Dataを使用しようとするまでは、魅力的でした。POJOを作成するときにルールを追加します

@Data 
public class MyPojo { 
    private final String name; 
    private final int from; 
    private final int to; 
    // other fields 
} 

私は何をする必要があることtoは常にfromより大きくなるように、このPOJOを作成fromtoの値を制限することであるが、このロジックを実現するために、私は書き換えなければならないことと思われますコンストラクタはすべて自分でthis.name = nameに似たコードをたくさん持っています。

PS:相続のあるsuperを使用すると回避策になると思いますが、プログラムを理解しにくくする可能性があります。

この必要性を満たすための方法はありますか?

答えて

0

ロンボクのウェブサイトを見ると、特に初期化されていないかもしれない別の変数と比べて、コンストラクタパラメータを特定の値に制限する方法はありません。おそらく、このクラスの具体的なコンストラクタを作成する必要があります。

が、それは難しいプログラムが理解されるべきことがあり

すでに追跡しようとすると非常に混乱どんな大きなプログラムになるだろうロンボクを、使用しているように私は本当に心配しないでしょう

特定のフィールド/メソッドを削除します。

0

@Data注釈は、構成引数を検証する手段を提供していません。 @Getter @Setter @ToString @EqualsAndHashCodeアノテーションであなたのpojoに注釈をつけ、自分でコンストラクタを書く必要があると感じました。

関連する問題