DeltaSpikeのBeanManagerProviderとCDIのBeanManagerの使いどころ(個人的見解)

DeltaSpikeにはBeanManagerProviderなるクラスが存在します。これはいわゆるCDIのBeanManagerクラスを取得するためのアクセッサクラスです。 JSR-299ではBeanManagerを取得する場合、@InjectによるDIかJNDIルックアップによる取得のみのようですが、DeltaSpi…

ApacheDerbyのススメ

なんかとりあえず検証や、サンプルプログラムを動かしたい場合、しかもDBが必要になる場合、選択肢はMySQL、PostgreSQL?いえいえ、もっと手軽にやるならDerbyでしょ。特別なインストールも、設定も不要。サンプルプログラム動かすだけならDLして、解凍して…

Ceylon M2がリリースされたようです。

早いものでもう4月。そういえばCeylon M2がリリースされていました。M1からまたさらにいろんな機能をサポートしたようです。時間があるときにいろいろ試したいものです。個人的にはmixinと無名関数を早くサポートしてほしいのですが、本家のサイトを見てると…

DeltaSpikeのProjectStageと@Exclude

DeltaSpike-0.1がリリースされたので早速利用してみました。とりあえずドキュメントにもあるProjectStageと@Excludeアノテーションを利用した簡単なサンプルを紹介します。そのまえに、個人的なメモというか、とりあえず調べ始めたばかりなので、情報の正確…

カスタムコンポーネントでJavascriptを利用

JSF

JSFのカスタムコンポーネントの作り方を何回かにわたって紹介してきたけど、今回はJavascriptをカスタムコンポーネントから利用する方法を紹介します。といっても、特別なことは何もないです。前回Rendererクラスを継承して自作のRendererを作成したと思いま…

Apache DeltaSpike 0.1がリリースされたみたい

以前、ApacheDeltaSpikeについて書いたけど、早くもVersion0.1がリリースされたみたいです。メーリングリストを見ていると、2月12日にリリースアナウンスがあったようです。いろいろ忙しくて、あまり技術調査に割く時間がないから、2週間以上たって知ること…

睡眠不足と集中力と注意力

このところ睡眠時間2,3時間が続いてる。理由は調べ物や、あと新しい言語を勉強し始めるとどうしても言語仕様を読んでいると朝が来るとか。そんな生活を続けいてると、集中力と、注意力がものすごく低下します。どれぐらいかというと、文章をまともに書けなく…

Ceylonのインターフェースと抽象クラス

Ceylonにも抽象クラスとインターフェースがありますがJavaのにおけるそれとは若干異なります。今回は抽象クラスとインターフェースをテンプレートメソッドパターンを用いて紹介します。よくある、String型のデータを受け取って、HTML、XML、コンソールいずれ…

JSFのカスタムコンポーネント作成(2)

JSF

前回はカスタムコンポーネントを作成し、そのコンポーネントをJSFタグに登録しました。今回は、そのコンポーネントを改良して描画部分を分離する方法を紹介します。前回作成したカスタムコンポーネントは、コンポーネント内で描画も行っていましたが、一般的…

JSF2でカスタムタグの作成

JSF

JSF2ではFaceletsに独自タグを定義するのが非常に簡単になっています。XHTMLファイルで実装する方法もあるのですが、ここではUIコンポーネントを継承した独自タグの実装と登録方法について紹介します。まず、JSFにはタグによってUI〜という名前から始まるコ…

Ceylonのクラスについて

今回はCeylonのクラスについて少しメモ。JavaやC++に慣れているとCeylonのクラス定義は少し独特です。 doc "Person class has the parameters that are person's first name, last name and age." class Person(String firstName, String lastName, Integer …

Ceylonと少しだけ戯れてみる(第1回)

前回のScalaかCeylonかってブログを書いたけど、とりあえず新しい物好きの自分としてはCeylonを試してみることにしました。Scalaはちょいちょいつまみ食いしてるので、ホントに新しい言語にチャレンジするということでCeylon。第1回とタイトルにあるけど1回…

My Next Java is Scala or Ceylon ?

Next Javaという言葉はよく聞くけど自分のスキルセットとしては、やはり今はJavaがメインです。RubyやC(昔は結構やったけど離れて長いから要復習)なんかも使えるけど、今一定以上のレベルで使いこなせるという観点で見るとJavaなんですよね〜。そんな自分…

JSF2のシステムイベントで入力値の相関チェック

JSF

前回はFaceletsのテンプレートとシステムイベントを用いたサンプルでしたが今回はシステムイベントで入力値の相関チェックを行うサンプルを紹介します。JSFにはフェーズという概念が存在し、モデルの更新や、バリデーションチェック、アクションの実行、View…

JSF2でFaceletsとSystemEventを組合せてみる

JSF

JSF2ではSystemEventなるものが存在します。これがなかなか便利でFaceletsのテンプレート組合せると、例えばログイン画面以外の画面にユーザがアクセスした場合、ログインしていなければ即座にログイン画面へ遷移させるという処理を、テンプレートで集約する…

1月が終わるまでに叫んでおきたいこと

プログラマとして好きなこと、プログラミング、コード解析嫌いなこと、単純作業駄目でしょうか・・・?

JBoss AS 7.1を使ってみた

今までWebアプリとかを試すのにJBossを利用する場合は、JBoss6を利用してたんだけど、少し気分転換にJBoss7を利用してみた。DLしてディレクトリ構成などをみるとずいぶん変わっていてよくわからないから、いまドキュメントを時間のあるときに読んでる状況。…

JSF2.0の選択タグについて

JSF

JSF2.0では選択タグ利用時のCollectionの型決定について、少しメモ程度に触れたいと思います。超シンプルなManagedBeanをまずは以下のように作成します。 import java.io.Serializable; import java.util.Set; import javax.enterprise.context.SessionScope…

JSF2のリソースアクセス機能

JSF

まあ、いまさらですがJSF2ではリソース定義及びそれに対するアクセスの標準的な仕組みが存在します。ここで言うリソースはJavascriptやCSS等です。例えばsample-webという名前がコンテキストルートの場合その直下にresourcesというフォルダを作成し、javascr…

Apache DeltaSpikeについて

久しぶりにSeam関連の情報を検索しているとSeam Next Announcementというタイトルでとても興味深い記事を見かけた。SeamはJavaEE5のフルスタックWebフレームワークでその仕様の一部がJavaEE6でCDIとして標準仕様に取り込まれたのは有名な話。この時ベースに…

ブックマーク可能なWebページをJSFで作る

JSF

ブックマーク可能なWebページをJSF2.0で作るのは比較的簡単です。といってもどういうシステムを作るかにもよるので一概には言えませんが、例えばブックマーク可能なリンクを作り、HTTPのGETリクエストをサーバに送信し、その結果を返すようにするだけです。 …

バグとかいろいろ

データバインドライブラリとしてテストプロダクト的な位置付けでリリースしているmaru-dogですが、こいつにはいくつかバグがあります。というか、とりあえず一気に作ったのでスレッドセーフかどうか等の考慮が漏れているかと。特にコンバータ関係は、内部に…

ワークフローエンジン

ルールベースのワークフローエンジンがほしい。何となくほしい。JavaだとJBossのdroolsがあるけどあそこまで高機能でなくていい。droolsは本格的なアプリケーション開発時にワークフローを定義するにはいいけど、局所的な場面で簡単に使うにはちょっと大げさ…

JSFのリダイレクトの仕組みとFlashスコープについて

JSF

JSF2.0におけるリダイレクトの仕組みとFlashスコープについて簡単に。。。1.クライアントがサーバにリクエストを送信。 2.リクエストスコープのデータをBeanに配置。 3.サーバ側で任意の処理を実行。 4.ナビゲーションルールに従い次のページをクライアント…

m4hv-extensionsについて

m4hv-extensionsはHibernateValidator(BeanValidator)の追加バリデーションライブラリとして提供してますが、いくつか修正したいポイントがあります。特に次の2つのバリデータアノテーションは名前を変更したい!!@NotHaveInValidCharacter -> @NotHasInV…

JSFのライフサイクル

JSF

JSFで開発を行う上ではライフサイクルの理解が重要となってくると思います。JSFには6つのフェーズが存在します。処理順にメモ程度ですが簡単に示したいと思います。 Restore View Phase コンポーネントツリーの抽出もしくは生成を行います。リクエストの値が…

JSFとCDIの連携

JavaEE6でJSFベースのWebアプリケーションを開発する場合JSFの管理BeanをCDIの管理Beanにしたほうがいいと思います。CDIの管理Beanといっても特に何か特別なことをする必要はありません。CDIを利用するにはWEB-INFディレクトリ配下にbeans.xmlファイルを作成…

JSFのページレンダリングの仕組み

JSF

JSFのページレンダリングの仕組みを自分なりに噛み砕いてまとめたものがPCの中に眠っていたみたいなので、今回はそれについて少々解説したいと思います。日本ではまだStruts1が使われることが多いとネットとかでも見るのでどれだけ有効かはわかりませんが・…

NIO2と戯れる

今回は久しぶりにJava7ネタで行こうと思います。Java7でNIOが大幅に改善されNIO2として新たな機能が追加されているようです。調べてみると結構いろいろ追加があってまだ全部調べきれてないけど今回は基本的な部分を紹介します。説明をだらだら書いてもしょう…

Javaでmixinさせるライブラリ作るのやめた・・・。

前回の記事でJavaでMixinするライブラリを作ろうとしてたけどやめました。そもそもcglibを使えば簡単にできるし、少しコード書いてみるとMixinするインスタンスの生成をコンテナで制御するだけのラッパーみたいになってしまってあまり意味がないと思ったので…