Javaでは、オブジェクトのプロパティが変更されるたびにオブジェクトがイベントを発生させる最もエレガントな方法は何ですか?オブジェクトのプロパティが変更されたときのJava - fireイベント
私のドメインモデルは、私はlastUpdatedは「今日」に設定する必要が
class MyClass {
String id;
String name;
Collection<MyThing> mythings= new HashSet<MyThing>();
// more fields...
Date lastUpdated;
//constructor, getters and setters, etc
}
のようないくつかのオブジェクトを持っている時はいつでもプロパティ(ID /名前/ mythings)の変更のいずれか。
私はJDO固有ではなく、このロジックをデータストア(RDBMSの自動タイムスタンプ列など)で間違いないようにしたいと考えています。
私はすべてのセッターに
this.lastUpdated = new Date();
を置く、またはすべてのセッターでカスタムイベントを発生、それは醜いとエラーが発生しやすいのですができます。
もっと洗練されたソリューションはありますか?
FYI、これは正確にJavaの豆が何であるかのように、あなたがそれらに見たいと思うかもしれません聞こえます。 –
バイトコードの拡張を行わない限り、AOPにはインターフェイスが必要です。私は通常、モデルオブジェクトのためのインターフェイスを使用しません。私はこのユースケースのためにAOPをお勧めしません。 – duffymo