2008年末 進捗報告

年が明ける前に謝っておきます><

             / ̄\
             |     |           
             \_/     SeasarConferenceで
            / ⌒`"|⌒`ヽ、    「新Jiemamyは今年中リリース」とか
           /,, / ̄ ̄ ̄ ̄\         大口を叩きました(汗
          /,//::         \     全くもってムリでした。
         ;/⌒'":::..            |⌒ヽ     
       /  /、:::::...           /ヽ_ \    
     __( ⌒ー-ィ⌒ヽ、   /⌒`ー'⌒  )    
    ━━━`ー──ゝィソノー‐ヾy_ノー─"  		

しかし、開発はほぼ毎日ゴリゴリ行っています。次期リリースJiemamy 0.2.0より、Jiemamyをクラスライブラリとして使用可能になります。このAPI設計と実装中で、Eclipseプラグインによるモデルエディタはまったく手がついていませんw

SeasarConference 2009 Whiteまでにはリリースしたいなぁ…。まぁ、今回の例があるので「したいなぁ」程度にしておきます>< が、なるべく早くリリースまでこぎ着けたいと思っていますヨ。

で、今回はこんな感じで使えるようになります、という絵に描いた餅*1で勘弁してください><

# APIに関するご意見も募集してます。

Jiemamy.init();

RootModel rootModel = Jiemamy.newRootModel();
JiemamyFactory factory = rootModel.getFactory();
rootModel.setDialect(PostgresqlDialect.class);

rootModel.appendNode(new TableBuilder(factory, "T_USER")
  .column(new ColumnBuilder(factory, "ID",
    new DataTypeBuilder(factory, Types.INTEGER, "INTEGER").build()).build())
  .column(new ColumnBuilder(factory, "NAME",
    new DataTypeBuilder(factory, Types.VARCHAR, "VARCHAR")
    .setSize(32).build()).build())
  .column(new ColumnBuilder(factory, "PASSWORD",
    new DataTypeBuilder(factory, Types.VARCHAR, "VARCHAR")
    .setSize(32).build()).build())
  .primaryKey(0).build());

List<SqlStatement> statements = Jiemamy.toStatements(rootModel);

for (SqlStatement statement : statements) {
	System.out.println(statement);
}

/*
 * CREATE TABLE T_USER (
 *   ID INTEGER,
 *   NAME VARCHAR(32),
 *   PASSWORD VARCHAR(32),
 *   PRIMARY KEY (ID)
 * );
 */

Jiemamy.dispose();

来年もよろしくお願いします! あと数時間しかありませんが、皆様良いお年を!

*1:まだ開発中であり、改善の余地もあちこちにあるため、リリース時にAPIは多少変わっているハズですが。