kanizaのブログ

コンピュータ、ソフトウェア、映画、音楽関連や家族のことなど、思いついたことを書きます。

ValueModel

JGoodies Binding にある ValueModel は、とてもシンプルで強力な概念として僕のコードをかなり改善してくれている。だけど、ValueModel 内部で使っているイベントリスナを解放したいとか、制約付きプロパティを使いたいとかっていう話が出てきて、ValueModel の枠内では説明がつかなくなってしまっているのが残念。JGoodies Binding 1.1 では、ValueModelの一実装である PropertyAdapter のみが setVetoableValue(Object)とか、release()とかっていうメソッドを持っている。他の ValueModel とは違った扱いになるから、ラップとかするのに制限が出てしまう。

こういう場合、このままPropertyAdapter を特殊ケースとして扱うのが良いのか、ValueModel そのものを拡張して「制約付き」や「解放」といった機能を持たせてしまうのが良いのか。むずかしいところだな。

心情的には、ValueModel は超シンプルなままであったほしいけどね。