Groovy

NanoContainer NanoWeb

NanoWeb is a simple and powerful dynamic MVC framework based on Java servlet technology,Groovy and NanoContainer.

Groovy: First Contact

あのMike SpilleによるGroovyの詳細なレビュー: Groovyの好きな点/嫌いな点。

JSR-241: Groovy – A New Standard Programming Language for the Java Platform

GroovyがJSR-241として提案されました。とらねこさんが言っていたように、シームレスにJavaと統合されているので、既存のJava資産を自然な形で利用できるのが良いです。というか、使っていて単純に楽しい。

groovyshの使い方

1.0 beta4でシェルの使い方が変わったようです。goovyshを開いてhelpを叩くとシェル内で使えるコマンドが見れます。 [minamoto@alice bin]$ groovysh Lets get Groovy! ================ Version: 1.0-beta-4 JVM: 1.4.2_03-b02 Type 'exit' to terminate th…

Groovy IntelliJ plugin

来週、試してみよう。

GSP

JSPのGroovy版。発想はCanvasと一緒(たぶん、GSPの方が先だと思う)。

Groovy 1.0 beta-4 released!

任意のTemplateEngineをプラグインできるようになったようです。

Canvas: Time for a new Velocity?

VelocityのAPIのままで、マクロの記述にGroovyを使えるようにするというもの。いろいろ理由をあげていますが、Groovyを使いたいというのが最大の理由ではないかと想像します。TSSでの反応は、JSPと一緒ではないかという批判が大勢を占めています。Cedricのbl…

Groovy SQL

GroovyのSqlオブジェクトを作るにはデータソースをSqlのコンストラクタに渡します。JBoss上ではJNDIからデータソースを取れるので簡単。 import groovy.sql.Sql ds = new InitialContext().lookup("java:/DefaultDS") sql = new Sql(ds) sql.queryEach('sele…

Groooooovy Babe: Jazzing Up Plain Old Java

Embedding Groovy

1.0-beta4でGroovyShell#evaluate()の引数が修正されたようです。以前は文字列を指定するのにevaluate(String script, String scriptName)しかなくて、evaluate(String script)とは書けませんでした。

Groovy - Scripting for Java

このタイトルは正しい。Groovyは新言語というより、Javaのスクリプトだと思っています。あくまでもメインはJavaです。RMHも言っているように、私にとってもGroovyはツールの一つです。 Groovy is not a replacement for Java – it’s a tool you can use to b…

Luxor XUL Example Suite for Groovy

ViewはXMLで書いて、他はGroovyスクリプトで書く。出来上がりはJavaプログラム。いいねぇ。

Groovy-JDK doc : Parsing Java with QDox

QDoxを使ったDocGeneratorスクリプト。生成結果はこれ。

Groovy 1.0 beta3 Released

Change Logを見ると、バグがたくさんFIXされています。ドキュメントやWikiも頻繁に更新されているし、勢いがあっていいなぁ。Tips Of The Dayも参考になります。

EJBのライブラリを作る難しさ

Groovyのビルドに成功したので、手始めにhome.findAll{...}でもサクっと作ろうと思って手が止まりました。findByPrimaryKeyも、findAllも個別のEntity Beanのインタフェースの一部ですから、directory.eachFileのようには書けません。駄目だ、こりゃ(いかり…

Groovy JDK methods

JDKを生かしつつ、便利メソッドを追加できる。クロージャを使って、file.eachLine{...}のようにも書ける。これのJ2EE版が欲しい。というか、作ってみよう。さっそく、Groovy本体をAntでビルドしようとしたらエラーです。なんか絶対パスがbuild.xmlのところど…

Re: TelnetみたいなHttpクライアント

試してみました。入力した行が1行で完結しているならすぐに動きました。ただ、やりたいことがa=1println(a)のように複数行の場合、実行途中の状態をどこかで保持しなければなりません。Groovyでは、evaluateごとに毎回クラスを作っているので、複数行の入力…

Groovyの例外処理

Groovyでは、CheckedExceptionをキャッチする必要はありませんが、キャッチしたい場合はJavaと同様に例外処理が書けます。 try { "Miki".whoAreYou() } catch(org.codehaus.groovy.runtime.NoSuchMethodException e) { println("I don't know the method:" +…

Groovy Consoleの出力先

Groovy Consoleの標準出力の先はJBossを起動したコンソールなので、printlnした結果を見るためには、WWWブラウザとJBossコンソールを行き来しなければなりません。これでは不便なので、出力もブラウザに出すようにしました。といっても、やったことは変数con…

Groovy Session BeanからのDAOの呼び出し

Groovyはprimitiveな型をBoxingしてくれます。これは便利な機能ですが、意外なところでハマリます。次のコードはGroovyで書いたSession BeanにDAOの呼び出しを書いたものですが、これを動作させるためにnextValueメソッドの戻り値をlongからLongへ変更しまし…

GroovyでSession Beanを作ってみた

Groovyはバイトコードコンパイラを持っているので、Session EJBを作ることができます。これができれば、GroovyのスクリプトでEntity BeanやDAOの呼び出し部分を書くことが可能になります。GroovySqlも使えるでしょう。ただし、若干コツが要ります。 XDoclet…

Groovy, Baby! (from Richard Monson-Haefel's blog)

RMHも褒めてます。

inspect

オブジェクトの内容(クラス名、ハッシュ、フィールド)を表示するinspect()というメソッドを見つけました。 "Miki".inspect()

Groovy ConsoleからMBeanにアクセスする

調子にのってきました。次のコードは、JBossのUnified Classloaderのリポジトリにアクセスして、それが管理しているURLのリストを表示します。コレを書くのに要した時間は3分も無いでしょう。スクリプトはすばらしい! import javax.management.ObjectName na…

Groovy ConsoleからDAOをたたく

昨日作ったGroovy Consoleは、JBoss上だと便利に使えそうです。JBossのクラスローダはUnified Classloaderといって、サーバ内のクラスをフラットに管理するので、Groovy ConsoleのWARからはサーバ内のクラスは丸見えだからです。次の例はサーバにデプロイし…

Groovy Console

GroovyのJ2eeConsoleを参考にしてJSPでConsoleを作ってみました。 EUC-JP"%> Groovy console 0) ) { groovy.lang.GroovyShell shell = new groovy.lang.GroovyShell(); shell.setVariable("context", new javax.naming.InitialContext()); shell.evaluate(te…

EJBスクリプトとして使ってみる

なんと簡単なことか。Checked Exceptionをキャッチしなくても動くのでコードが短くなります。さらにGroovy風のJNDI/EJBラッパーを作れば最強です。うーん、Groovyにハマリそう。 #!/usr/bin/env groovy //import sample.ejb.Counter //import sample.ejb.Cou…

J2EEでの使い道

Groovyのサーブレット版であるGroovletや、SQLライブラリのGroovy Sqlというのがありますが、いかにもPerl風です。そういうスクリプト的な使い方も便利ですが、それだけではなくて、GroovyはOOのポリモフィズムが要求されるところで上手く使いこなしたいとこ…

GroobyとRubyの名前

なんだか発音が似ていると思うのは、'v'と'b'の違いがわからない日本人だけか。 groovy [gru:vi] ruby [ru:bi]