現状こんな感じ♪

ちょっとご無沙汰気味になりました。最近タスクがオーバーフローな感じです。修行はもちろん、試験やエージェントとの打ち合わせやらが入ってきてるので多忙になりつつあります。

それはそうと現在作成中のJVLinkのJava用ライブラリ。JVBeansという名でリリースする事を決めました。主な機能は以下の2つです。

うっとおしいコード系はほとんどenum化してますし、メソッドチェーンでコード補完できます。バリデーションの実装コストはかなり小さくなります(ほとんど静的解決できるので)。あと、JVReadで取得したデータは「JV-Data仕様書」のうんざりする程複雑なフォーマットを元に開発者が独自で色々実装する必要がありましたが、JVBeansではJVRead()すると勝手にDTOにデータをバインディングしてくれます。後は勝手にやってくれって感じになります。ちなみにDTOは「JV-Data仕様書」を元にバインディング情報が記述されたアノテーション付きDTOを自動生成したもの(以下参照)を提供します。


package com.psycloid.jvbeans.jvlink.dto;

/**
* レコードフォーマットID {@link com.psycloid.jvbeans.jvlink.conf.RecordTypeId.RA} に対応するDtoです。
* @author jv-beans-gen
*
*/
@com.psycloid.jvbeans.annotation.JVBean(recordTypeId = com.psycloid.jvbeans.jvlink.conf.RecordTypeId.RA, byteLength = 1272)
public class RaceDetailDto implements com.psycloid.jvbeans.jvlink.JVBindingDto {

/** レコード種別ID */
@com.psycloid.jvbeans.annotation.JVProperty(position = 1, byteLength = 2)
private com.psycloid.jvbeans.jvlink.conf.RecordTypeId recordTypeId;

/** データ区分 */
@com.psycloid.jvbeans.annotation.JVProperty(position = 3, byteLength = 1)
private java.lang.String dataDiv;

/** データ作成年月日 */
@com.psycloid.jvbeans.annotation.JVProperty(position = 4, byteLength = 8)
private java.util.Date dataCreateDate;

/** 開催年 */
@com.psycloid.jvbeans.annotation.JVProperty(position = 12, byteLength = 4)
private java.lang.Integer holdingYear;

  以下果てしなく続く・・・
}

ちなみにドメイン名は仮です。このまま行くかもしれないけどJVBeansというのは変わらないです。

今月末にベータをリリース予定です。現在、テスト・Javadoc記述に入っています。1つJacob絡みで技術的な課題にぶち当たっていますが、これさえ解決すれば障壁は無くなるでしょう。