svnno****@sourc*****
svnno****@sourc*****
2009年 4月 13日 (月) 12:34:21 JST
Revision: 3245 http://svn.sourceforge.jp/view?root=jiemamy&view=rev&rev=3245 Author: j5ik2o Date: 2009-04-13 12:34:21 +0900 (Mon, 13 Apr 2009) Log Message: ----------- リファクタリング Modified Paths: -------------- leto/jiemamy-entity-io/trunk/src/main/java/org/jiemamy/entity/io/meta/EntityMetaWriterContext.java leto/jiemamy-entity-io/trunk/src/main/java/org/jiemamy/entity/io/meta/impl/EntityMetaWriterImpl.java -------------- next part -------------- Modified: leto/jiemamy-entity-io/trunk/src/main/java/org/jiemamy/entity/io/meta/EntityMetaWriterContext.java =================================================================== --- leto/jiemamy-entity-io/trunk/src/main/java/org/jiemamy/entity/io/meta/EntityMetaWriterContext.java 2009-04-13 03:17:40 UTC (rev 3244) +++ leto/jiemamy-entity-io/trunk/src/main/java/org/jiemamy/entity/io/meta/EntityMetaWriterContext.java 2009-04-13 03:34:21 UTC (rev 3245) @@ -25,4 +25,25 @@ */ public interface EntityMetaWriterContext { + /** + * Javaファイルのエンコーディングを取得する。 + * + * @return Javaファイルのエンコーディング + */ + String getJavaFileEncoding(); + + /** + * 上書きフラグを取得する。 + * + * @return 上書きする場合は{@code true}、しない場合は{@code false} + */ + boolean getOverwrite(); + + /** + * テンプレート名を取得する。 + * + * @return テンプレート名 + */ + String getTemplateName(); + } Modified: leto/jiemamy-entity-io/trunk/src/main/java/org/jiemamy/entity/io/meta/impl/EntityMetaWriterImpl.java =================================================================== --- leto/jiemamy-entity-io/trunk/src/main/java/org/jiemamy/entity/io/meta/impl/EntityMetaWriterImpl.java 2009-04-13 03:17:40 UTC (rev 3244) +++ leto/jiemamy-entity-io/trunk/src/main/java/org/jiemamy/entity/io/meta/impl/EntityMetaWriterImpl.java 2009-04-13 03:34:21 UTC (rev 3245) @@ -18,12 +18,15 @@ */ package org.jiemamy.entity.io.meta.impl; +import java.io.File; import java.io.IOException; import java.util.List; import org.jiemamy.entity.io.meta.EntityMeta; import org.jiemamy.entity.io.meta.EntityMetaWriter; import org.jiemamy.entity.io.meta.EntityMetaWriterContext; +import org.jiemamy.entity.io.meta.Generator; +import org.jiemamy.utils.StringUtil; /** * EntityMetaWriterContextの実装クラス。 @@ -32,17 +35,30 @@ */ public class EntityMetaWriterImpl implements EntityMetaWriter { + private Generator generator = new EntityGenerator(); + + private EntityMetaWriterContext entityMetaWriterContext; + + /** * インスタンスを生成する。 * * @param entityMetaWriterContext {@link EntityMetaWriterContext} */ public EntityMetaWriterImpl(EntityMetaWriterContext entityMetaWriterContext) { - // TODO Auto-generated constructor stub + this.entityMetaWriterContext = entityMetaWriterContext; } public void write(List<EntityMeta> entityMetaList) throws IOException { - // TODO Auto-generated constructor stub + GeneratorContextImpl context = new GeneratorContextImpl(); + context.setEncoding(entityMetaWriterContext.getJavaFileEncoding()); + context.setOverwrite(entityMetaWriterContext.getOverwrite()); + context.setTemplateName(entityMetaWriterContext.getTemplateName()); + for (EntityMeta entityMeta : entityMetaList) { + String fileName = String.format("%s.java", StringUtil.capitalize(entityMeta.getName())); + context.setFile(new File(fileName)); + context.setModel(entityMeta); + generator.generate(context); + } } - }