[Jiemamy-notify:2181] commit [3245] リファクタリング

Back to archive index

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);
+		}
 	}
-	
 }



Jiemamy-notify メーリングリストの案内
Back to archive index