Scala Bean Properties
前の日記の通りScalaではアクセサが foo() とか foo_$eq() みたいな不思議なアクセサができるんですが、これをJavaライクな感じにできるようです。
http://tomobag.blogspot.com/2008/02/scala-bean-properties.html
@BeanProperty アノテーションをつけるだけです。
import scala.reflect.BeanProperty class Foo { @BeanProperty var name = "hoge hoge" }
できたクラスを確認してみると。。
public void setName(String x$1) { name_$eq(x$1); } public String getName() { return name(); } public void name_$eq(String x$1) { name = x$1; } public String name() { return name; }
こんな風に見慣れたアクセサとScalaのアクセサ両方ができていました。
既存のJavaライブラリとのやり取りがある場合便利かもしれないですね