my notebook blog : Groovy

Rhino で console.log() したい

Java から evaluateString する形で javascript コードを実行する場合に Node.js のように console.log() したい、という場合の解決方法.

continue reading……

java.util.Timer を使って、連続で発生するイベントが小休止のときを見計らって処理する

手書きのタブレット向けアプリで、ペンの入力が連続して発生するのだが、そのたびに保存処理を行うと作動が重くなる。 そこで、ちょっと入力が止んだそのスキを見計らって、保存処理を実行するようにしたい。 そのための java.util.Timer と TimerTask の使い方のメモ。
例によってコードはすべて groovy です。

continue reading……

Rhino で Java 側でつくった配列クラスを使う

カスタムオブジェクトを Java側でつくって JavaScript であれこれしたい場合で、 そのカスタムオブジェクトが配列的なクラスの場合 list[0] のようにアクセスしたときに意図した値を返す方法.

結論としては、ScriptableObject を拡張してつくったサブクラスで Object get(int index, Scriptable start) メソッドをオーバーライドすればOK.

continue reading……

Rhino を使って Java から JavaScript を実行する

将来的には nashorn が廃止になるらしい. nashorn の代わりに Rhino で実行する方法を調査したのでメモします.

continue reading……

Apache Batik SVG Toolkit による SVG から PNG への変換

単に SVG を PNG に変換したいだけならば、 たとえば inkscape コマンドがあれば簡単にできる。 ただ、今回は諸事情により 画像変換だけでなく、さまざまな加工処理を連続して行いたかったので、 Groovy でそれらをまとめて処理することにした。

continue reading……

MapDB に PDF を保存する、そのために PDFデータを Base64 文字列に encode したり decode したりの話

別に PDF データに限らず Binaryデータを Base64 で文字列にして保存するという話。 時々必要になるがその度にあれどうするんだっけ、となるのでここにまとめておきます。 Groovy の LeftShift Operator (<<) を IO 系のコードで使うと直感的にわかりやす過ぎなのでおすすめです。

continue reading……


« Newer PostsOlder Posts »