ValueTypeインターフェイスって必要だよな

ValueTypeとか書くとC#の値型と勘違いされそうなんだが、そうではなくて単項目値か否かを判定するインターフェイス。何に使いたいかと言うとJSONICなどで未知の型に出会った時、objectとして展開すべきかtoString()で文字列として展開すべきか判断するのに使いたい。こういうのは、基礎となるライブラリの設計時に用意されていないと有用でないのでなかなか難しい。

ゲッターやセッターがなければ単項目値とみなせるかというとそうでもなくて、例えば、Java6で導入されたjava.sql.RowIdにはgetBytes()がある。

いや、むしろValueTypeじゃなくてJavaBeanインターフェイスが用意されていると良いのかも。