ScalaからDatastoreを更新したい
ScalaからApp EngineのDatastoreに書き込みたいんだけど、使いやすい文法はないものか? ここに直接書いてるから、文法は間違ってるかも?雰囲気だけ伝わればよし。
DSL風?
Entity.store("kind")
DSL風は嫌いではないけど、プロパティ名を毎回指定するのはどうなんだろ?と思う。KVSってそういうものだけど、もうちょっと楽したいよね?って意味で。
Java風?
val e = new Entity()
e.name = "Taro"
e.age = 10 // def age_=(value) = valueとかしておく必要ありか
e.birthday = Date(2001, 7, 15)
Datastore.put(e)
なんとなく、これにはしたくない。せっかくのScalaなんだし…という、感情的理由(^^;
trait利用
val e = new Entity with Person
e.name = "Taro" // Property[String].valueに"Taro"を設定する or varにする
e.age = 10
Datastore.store("kind", e)
定義(trait)と実装(with)で分かれてるし、これはこれでありかも?と思ってる。 with使ったときのオーバーヘッドってどうなるんだろ?ってことを調べてない。
最近はこんなことも考えてる。