lycay - ソースコードの奏でるメロディ

すげーユニークなIDEAプラグイン.なんと,ソースコードからmidファイルを生成する.
使い方


早速,今作ってるコードで試してみたら,すげーアグレッシブな曲ができた(前衛ジャズか?).
とても楽しいね,これ.イースターエッグにテーマ曲として仕込むのも面白いかも.


すぐれたコードが奏でるメロディってのも興味あるんで,OSSのコードみつくろって聴いてみよう.

自分で式言語を評価してみる.

J2EE1.4のExpressionEvaluatorを使って,式言語の評価をやってみる.
ただこれ,ExpressionEvaluatorPageContext(JspContext)からじゃないと取得できないので,JSPJSPカスタムタグ内でしか利用できない(と思う).


以下,サンプルコード(Fooクラスについては推して知るべし).

ExpressionEvaluator el = pageContext.getExpressionEvaluator();
String elStr = "${foo.name}は${foo.id}";
pageContext.setAttribute("foo", new Foo("hoge", "boo"));
String result = (String)el.evaluate(elStr, String.class,
                                    pageContext.getVariableResolver(), null);
// resultには "hogeはboo" が代入される.

ExpressionEvaluator.evaluate();の第2引数であるexpectedTypeの使い道がわからんのう.たいがい,文字列(String)なんとちゃうの?"${1 + 1}"みたいなのを評価する場合,Integer.classとか指定できるんだろか?あとで試してみよっと.


ちょっと不明な点もあるけど,自前で式言語を評価できるってのは,それなりに便利.でも,ExpressionEvaluator相当の機能は,Stringクラスあたりが持っててくれると尚うれしい.VariableResolverMapにしたりしてね.
#それじゃ,Velocityか.


[参考]
Ideas - O'Reilly Media
http://www.oracle.com/technology/pub/articles/cioroianu_jspapi.html

CROSSFIRE AUTOGEN

ソースコード自動生成型のO/Rマッピングツール(Eclipseプラグイン専用).
コード生成型の場合,メタ情報の扱いがアレなので,Excelでメタ情報を記述できるblancoDbのほうが好み.
ただ,WHERE句の組み立てでバインド変数にバインドされなければ,条件式から除外するってのが潔くて良い.