rpc用インターフェイス
現在、例えばlabelというフィールドを書き換えるメソッドはvoid rpc_label(Object)なのですけど、これはvoid setLabel(Object)にしてしまっても大丈夫な気がしてきました。XML-RPCで呼ぶときは"label"という文字列からリフレクションでrpc_labelメソッドを取得しているので、引数がObject型なのは変えられないのですが、メソッドの名前は別に今の物にこだわる必要はないわけです。で、Jythonインタプリタから操作する場合に、いちいちRPC用のと別にメソッドを用意しておくのは面倒です。そこでRPC用のメソッドを呼びたいわけですが、こちらは名前が裸で出るのでv.rpc_label("newLabel")なんて書くことになります。かっこわるいです。一方、v.setLabel("newLabel")ならごく自然です。
そもそも最初にsetLabelを使わなかったのは、JavaやPythonから呼び出す場合に引数がObjectでないといけないのはウザイかな、と思ったせいなのですが、上記の通りJythonからの呼び出しのために別口を作るのは面倒ですし、JavaやJythonからの呼び出しは同名でも別のシグネチャなら問題なく呼び出せますから、そもそもの心配が杞憂だったということになります。
むむ、メソッド名をsetBackgroundColorにするとXML-RPCの時に"BackgroundColor"をキーにするか、1文字目を大文字に変換する作業かどちらかになるか…。
大文字に変換するのの方が見栄えはよさそう。
GRINEditのデモ:Jythonコンソール。眺めるためのデモと読ませるためのチュートリアルの両方を作るべきなのかもしれない。これはソースコードを追おうとすると早すぎる。1ページに収まっているので、止まった後でじっくり読むことはできるけども。チュートリアルはNEXTボタンをぽちぽちクリックして自分のペースで読める方がいいし、デモはちまちまクリックさせられずにぼーっと眺められる方がいいのだろうと思う。