だいぶ時間が経ってしまっていますがS2Flex2の1.1.0-SNAPSHOTを公開しました。
6月に公開した、s2flex2-exampleに含まれているs2flex2-1.1.0-SNAPSHOT.jarのプロジェクトになります。
s2flex2-example公開後の更新はまだありません。
s2flex2-1.1.xでの主な変更点は以下の通りです。
AMF3のReader/Writerの変更
これまでは、データ型毎にあるReader/WriterをMapに保持していた部分を配列に変更しdiconファイルの指定で追加/削除できるようになっています。
例えばExternalObjectやXML,ByteArrayなどは使わないケースではdiconからReader部分を外したり、別途カスタマイズしたReaderを追加する事も可能です。(AMF3のフォーマットや仕様を知っておく必要はありますけど^^)
DataBinder
またReaderだけではなく、DataBinderというインターフェースも追加になっています。 Beanや配列の要素の型変換などオブジェクトの内部変換を行うものです。 ActionScript3でのクラス定義とJavaでのクラス定義で型の変換を行います。例えば以下のようなクラスの変換が可能です。
HogeDto.as(AS3)
public class HogeDto {
private var arg1:String;
private var num:String;
}
HogeDto.java(java)
public class HogeDto {
private String arg1;
private BigDecimal num;
}
Binderも拡張できるようになっています。
プロジェクトにあわせて特殊な変換が必要な時には、AMF3の仕様を知らなくてもBinderで対応することも可能です。
Ajuster
これは、1.0.xの頃からあるものです。 ASからS2Flex2に登録されているコンポーネントを呼び出す時の引数に入れる時の型変換を行います。AS3でArrayのデータを引数に渡したときに、Java側ではListで受け取るといった事ができるのはこのAjusterの機能になります。
昨年(2006)のSeaserConのセッションでAS側でクラスを作成しなくても、引数でクラスを要求しているメソッドを呼び出す事ができるオブジェクトクラスマッピングなどといっ
ていたのはこのAjusterの型変換を利用したものです。
diconファイルをjarに同梱
s2flex2を動かす上で必要なAMF関連のdiconファイルをjarファイルに入れました。 上記のDataBinderやAjusterをカスタマイズしないときには、app.diconにremoting_amf3.diconをincludeするだけで動作するようになります。カスタマイズするときには、その他のdiconと同様にclasspath上におけば優先されます。
これでs2flex2内部の変更があってもdiconファイルを入れ替え無ければならないケースが減るのでは無いかと思います。
Seasar 2.4.15との組み合わせでちょっと修正する部分があるようなので、その後1.1.0として正式リリースする予定です。
感想、フィードバックなどありましたらどうぞよろしくお願いいたします m(__)m
#arkwさん、違うところがあったらツッコミお願いします。^^
S2flex2 - AMF3Gateway with DI Container -
http://s2flex2.sandbox.seasar.org/ja/
S2Flex2 -1.1.0-SNAPSHOTのdownloadはこちら
http://s2flex2.sandbox.seasar.org/ja/index.html#download
この記事に対するコメント