[Jiemamy-notify] commit [2245] 不要になったAPIを整理。 /

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2008年 12月 11日 (木) 21:41:11 JST


Revision: 2245
          http://svn.sourceforge.jp/view?root=jiemamy&view=rev&rev=2245
Author:   daisuke_m
Date:     2008-12-11 21:41:11 +0900 (Thu, 11 Dec 2008)

Log Message:
-----------
不要になったAPIを整理。 /
JiemamyModelFactory を Jiemamy にリネーム。

Modified Paths:
--------------
    artemis/trunk/org.jiemamy.composer/src/main/java/org/jiemamy/composer/exporter/SqlExporter.java
    artemis/trunk/org.jiemamy.composer/src/test/java/org/jiemamy/composer/exporter/SqlExporterTest.java
    artemis/trunk/org.jiemamy.composer/src/test/java/org/jiemamy/composer/importer/DatabaseImporterTest.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/model/RootModelImpl.java
    artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/extension/ReflectionDialectAccessStrategyForTest.java
    artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/internal/processor/GetNodesProcessorTest.java
    artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/internal/processor/ProvideEntityNameProcessorTest.java
    artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/model/ForeignKeyTestBase.java
    artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/model/ModelIdManagerTest.java
    artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/model/RootModelImplTest.java
    artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/model/node/TableModelImplTest.java
    artemis/trunk/org.jiemamy.dialect/src/main/java/org/jiemamy/dialect/AbstractDialect.java
    artemis/trunk/org.jiemamy.dialect/src/test/java/org/jiemamy/dialect/openjpa/OpenJpaGenerateSqlTest.java
    artemis/trunk/org.jiemamy.dialect.postgresql/src/test/java/org/jiemamy/dialect/postgresql/PostgresqlDialectTest.java
    artemis/trunk/org.jiemamy.event/src/test/java/org/jiemamy/internal/SetterInterceptorTest.java
    artemis/trunk/org.jiemamy.event/src/test/java/org/jiemamy/model/RootModelEventTest.java
    artemis/trunk/org.jiemamy.event/src/test/java/org/jiemamy/model/node/TableModelEventTest.java
    artemis/trunk/org.jiemamy.event/src/test/java/org/jiemamy/util/ObservableListTest.java
    artemis/trunk/org.jiemamy.event/src/test/java/org/jiemamy/util/ObservableMapTest.java
    artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/model/RootCommand.java
    artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/JiemamyDefaultSerializer.java
    artemis/trunk/org.jiemamy.serializer/src/test/java/org/jiemamy/serializer/ApplicationModelCreator.java
    artemis/trunk/org.jiemamy.serializer/src/test/java/org/jiemamy/serializer/ModelInputStreamTest.java
    artemis/trunk/org.jiemamy.serializer/src/test/java/org/jiemamy/serializer/SerializationTest.java
    artemis/trunk/org.jiemamy.view/src/test/java/org/jiemamy/internal/processor/ResetBendpointProcessorTest.java
    artemis/trunk/org.jiemamy.view/src/test/java/org/jiemamy/internal/processor/SetColorProcessorTest.java
    artemis/trunk/org.jiemamy.view/src/test/java/org/jiemamy/internal/processor/SetConstraintProcessorTest.java
    artemis/trunk/org.jiemamy.view/src/test/java/org/jiemamy/model/DiagramPresentationModelImplTest.java
    vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/JiemamyPlugin.java
    vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/editor/DiagramEditor.java
    vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/editor/MultiDiagramEditor.java
    vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/wizard/NewDiagramWizard.java
    zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/InstanceCreationStrategy.java

Added Paths:
-----------
    zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/Jiemamy.java

Removed Paths:
-------------
    zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/JiemamyModelFactory.java


-------------- next part --------------
Modified: artemis/trunk/org.jiemamy.composer/src/main/java/org/jiemamy/composer/exporter/SqlExporter.java
===================================================================
--- artemis/trunk/org.jiemamy.composer/src/main/java/org/jiemamy/composer/exporter/SqlExporter.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.composer/src/main/java/org/jiemamy/composer/exporter/SqlExporter.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -33,7 +33,7 @@
 import org.jiemamy.extension.composer.ExportContext;
 import org.jiemamy.extension.composer.Exporter;
 import org.jiemamy.extension.dialect.Dialect;
-import org.jiemamy.model.JiemamyModelFactory;
+import org.jiemamy.model.Jiemamy;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.sql.SqlStatement;
 
@@ -63,7 +63,7 @@
 		
 		Writer writer = null;
 		try {
-			Dialect dialect = JiemamyModelFactory.getDialect(rootModel);
+			Dialect dialect = Jiemamy.getDialect(rootModel);
 			List<SqlStatement> statements = dialect.toStatements(rootModel);
 			
 			File outputFile = ctx.getValue(OUTPUT_FILE);

Modified: artemis/trunk/org.jiemamy.composer/src/test/java/org/jiemamy/composer/exporter/SqlExporterTest.java
===================================================================
--- artemis/trunk/org.jiemamy.composer/src/test/java/org/jiemamy/composer/exporter/SqlExporterTest.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.composer/src/test/java/org/jiemamy/composer/exporter/SqlExporterTest.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -36,7 +36,7 @@
 import org.jiemamy.extension.ReflectionDialectAccessStrategyForTest;
 import org.jiemamy.extension.composer.ExportContext;
 import org.jiemamy.extension.composer.Exporter;
-import org.jiemamy.model.JiemamyModelFactory;
+import org.jiemamy.model.Jiemamy;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.S2InstanceCreationStrategy;
 
@@ -65,10 +65,10 @@
 		File outputFile = new File(FILENAME);
 		assertThat(outputFile.exists(), is(false));
 		
-		JiemamyModelFactory.init(new S2InstanceCreationStrategy("jiemamy-core.dicon"),
+		Jiemamy.init(new S2InstanceCreationStrategy("jiemamy-core.dicon"),
 				new ReflectionDialectAccessStrategyForTest());
 		
-		RootModel model = JiemamyModelFactory.newRootModel();
+		RootModel model = Jiemamy.newRootModel();
 		model.setDialectId("org.jiemamy.dialect.mysql.MySqlDialect");
 		
 		BufferedReader reader = null;

Modified: artemis/trunk/org.jiemamy.composer/src/test/java/org/jiemamy/composer/importer/DatabaseImporterTest.java
===================================================================
--- artemis/trunk/org.jiemamy.composer/src/test/java/org/jiemamy/composer/importer/DatabaseImporterTest.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.composer/src/test/java/org/jiemamy/composer/importer/DatabaseImporterTest.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -34,7 +34,7 @@
 import org.jiemamy.extension.composer.ImportContext;
 import org.jiemamy.extension.composer.Importer;
 import org.jiemamy.extension.dialect.Dialect;
-import org.jiemamy.model.JiemamyModelFactory;
+import org.jiemamy.model.Jiemamy;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.S2InstanceCreationStrategy;
 import org.jiemamy.model.datatype.DataTypeDescriptor;
@@ -75,13 +75,13 @@
 	@Before
 	@SuppressWarnings("unchecked")
 	public void setUp() throws Exception {
-		JiemamyModelFactory.init(new S2InstanceCreationStrategy("jiemamy-composer.dicon"),
+		Jiemamy.init(new S2InstanceCreationStrategy("jiemamy-composer.dicon"),
 				new ReflectionDialectAccessStrategyForTest());
 		
-		RootModel rootModel = JiemamyModelFactory.newRootModel();
+		RootModel rootModel = Jiemamy.newRootModel();
 		rootModel.setDialectId("org.jiemamy.dialect.postgresql.PostgresqlDialect");
 		
-		dialect = JiemamyModelFactory.getDialect(rootModel);
+		dialect = Jiemamy.getDialect(rootModel);
 		serialTypeDescriptor = new IntegerDataTypeDescriptor();
 		serialTypeDescriptor.registerAdapter(new SerialDataTypeAdapter());
 	}
@@ -102,7 +102,7 @@
 	 */
 	@Test
 	public void test01_DBからのインポートテスト() throws Exception {
-		RootModel rootModel = JiemamyModelFactory.newRootModel();
+		RootModel rootModel = Jiemamy.newRootModel();
 		ImportContext ctx = new ImportContextImpl();
 		ctx.setValue(DatabaseImporter.DIALECT, dialect);
 		ctx.setValue(DatabaseImporter.DATABASE_NAME, "jpoll");

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/model/RootModelImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/model/RootModelImpl.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/model/RootModelImpl.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -303,14 +303,14 @@
 	 */
 	@SuppressWarnings("unchecked")
 	public <T>T newModel(Class<T> clazz) {
-		return JiemamyModelFactory.newModel(this, clazz);
+		return Jiemamy.newModel(this, clazz);
 	}
 	
 	/**
 	 * {@inheritDoc}
 	 */
 	public <T extends Identifiable>T newModel(Class<T> clazz, UUID id) {
-		return JiemamyModelFactory.newModel(this, clazz, id);
+		return Jiemamy.newModel(this, clazz, id);
 	}
 	
 	/**

Modified: artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/extension/ReflectionDialectAccessStrategyForTest.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/extension/ReflectionDialectAccessStrategyForTest.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/extension/ReflectionDialectAccessStrategyForTest.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -24,13 +24,13 @@
 import java.net.URLClassLoader;
 
 import org.jiemamy.extension.dialect.Dialect;
-import org.jiemamy.model.JiemamyModelFactory;
+import org.jiemamy.model.Jiemamy;
 
 /**
  * 相対パスから強引にDialectを取得するための、テスト用インスタンス取得戦略クラス。
  * @author daisuke
  */
-public class ReflectionDialectAccessStrategyForTest extends JiemamyModelFactory.DefaultInstanceAccessStrategy<Dialect> {
+public class ReflectionDialectAccessStrategyForTest extends Jiemamy.DefaultInstanceAccessStrategy<Dialect> {
 	
 	/**
 	 * コンストラクタ。

Modified: artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/internal/processor/GetNodesProcessorTest.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/internal/processor/GetNodesProcessorTest.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/internal/processor/GetNodesProcessorTest.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -25,7 +25,7 @@
 import org.junit.Before;
 import org.junit.Test;
 
-import org.jiemamy.model.JiemamyModelFactory;
+import org.jiemamy.model.Jiemamy;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.S2InstanceCreationStrategy;
 import org.jiemamy.model.node.TableModel;
@@ -46,8 +46,8 @@
 	 */
 	@Before
 	public void setUp() throws Exception {
-		JiemamyModelFactory.init(new S2InstanceCreationStrategy("jiemamy-core.dicon"));
-		rootModel = JiemamyModelFactory.newRootModel();
+		Jiemamy.init(new S2InstanceCreationStrategy("jiemamy-core.dicon"));
+		rootModel = Jiemamy.newRootModel();
 	}
 	
 	/**

Modified: artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/internal/processor/ProvideEntityNameProcessorTest.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/internal/processor/ProvideEntityNameProcessorTest.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/internal/processor/ProvideEntityNameProcessorTest.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -25,7 +25,7 @@
 import org.junit.Before;
 import org.junit.Test;
 
-import org.jiemamy.model.JiemamyModelFactory;
+import org.jiemamy.model.Jiemamy;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.S2InstanceCreationStrategy;
 import org.jiemamy.model.node.TableModel;
@@ -46,8 +46,8 @@
 	 */
 	@Before
 	public void setUp() throws Exception {
-		JiemamyModelFactory.init(new S2InstanceCreationStrategy("jiemamy-core.dicon"));
-		rootModel = JiemamyModelFactory.newRootModel();
+		Jiemamy.init(new S2InstanceCreationStrategy("jiemamy-core.dicon"));
+		rootModel = Jiemamy.newRootModel();
 	}
 	
 	/**

Modified: artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/model/ForeignKeyTestBase.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/model/ForeignKeyTestBase.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/model/ForeignKeyTestBase.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -47,8 +47,8 @@
 	 */
 	@Before
 	public void setUp() throws Exception {
-		JiemamyModelFactory.init(new S2InstanceCreationStrategy("jiemamy-core.dicon"));
-		rootModel = JiemamyModelFactory.newRootModel();
+		Jiemamy.init(new S2InstanceCreationStrategy("jiemamy-core.dicon"));
+		rootModel = Jiemamy.newRootModel();
 		
 		empTableModel = rootModel.newModel(TableModel.class);
 		empTableModel.setName("T_EMP");

Modified: artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/model/ModelIdManagerTest.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/model/ModelIdManagerTest.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/model/ModelIdManagerTest.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -46,8 +46,8 @@
 	 */
 	@Before
 	public void setUp() {
-		JiemamyModelFactory.init(new S2InstanceCreationStrategy("jiemamy-core.dicon"));
-		rootModel = JiemamyModelFactory.newRootModel();
+		Jiemamy.init(new S2InstanceCreationStrategy("jiemamy-core.dicon"));
+		rootModel = Jiemamy.newRootModel();
 	}
 	
 	/**

Modified: artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/model/RootModelImplTest.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/model/RootModelImplTest.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/model/RootModelImplTest.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -51,8 +51,8 @@
 	 */
 	@Before
 	public void setUp() throws Exception {
-		JiemamyModelFactory.init(new S2InstanceCreationStrategy("jiemamy-core.dicon"));
-		rootModel = JiemamyModelFactory.newRootModel();
+		Jiemamy.init(new S2InstanceCreationStrategy("jiemamy-core.dicon"));
+		rootModel = Jiemamy.newRootModel();
 	}
 	
 	/**

Modified: artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/model/node/TableModelImplTest.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/model/node/TableModelImplTest.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.core/src/test/java/org/jiemamy/model/node/TableModelImplTest.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -31,7 +31,7 @@
 import org.junit.Test;
 
 import org.jiemamy.model.EmptyProxyModel;
-import org.jiemamy.model.JiemamyModelFactory;
+import org.jiemamy.model.Jiemamy;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.S2InstanceCreationStrategy;
 import org.jiemamy.model.attribute.ColumnModel;
@@ -57,8 +57,8 @@
 	 */
 	@Before
 	public void setUp() throws Exception {
-		JiemamyModelFactory.init(new S2InstanceCreationStrategy("jiemamy-core.dicon"));
-		rootModel = JiemamyModelFactory.newRootModel();
+		Jiemamy.init(new S2InstanceCreationStrategy("jiemamy-core.dicon"));
+		rootModel = Jiemamy.newRootModel();
 		tableModel = rootModel.newModel(TableModel.class);
 		tableModel.setName("table");
 		rootModel.appendModel(tableModel);

Modified: artemis/trunk/org.jiemamy.dialect/src/main/java/org/jiemamy/dialect/AbstractDialect.java
===================================================================
--- artemis/trunk/org.jiemamy.dialect/src/main/java/org/jiemamy/dialect/AbstractDialect.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.dialect/src/main/java/org/jiemamy/dialect/AbstractDialect.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -38,7 +38,7 @@
 import org.jiemamy.extension.dialect.IdentifierValidator;
 import org.jiemamy.extension.dialect.Quoter;
 import org.jiemamy.extension.dialect.validator.DefaultIdentifierValidator;
-import org.jiemamy.model.JiemamyModelFactory;
+import org.jiemamy.model.Jiemamy;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.attribute.ColumnModel;
 import org.jiemamy.model.constraint.NotNullConstraintModel;
@@ -128,7 +128,7 @@
 	 * {@inheritDoc}
 	 */
 	public RootModel toRootModel(List<SqlStatement> statements) {
-		RootModel rootModel = JiemamyModelFactory.newRootModel();
+		RootModel rootModel = Jiemamy.newRootModel();
 		
 		// TODO
 		

Modified: artemis/trunk/org.jiemamy.dialect/src/test/java/org/jiemamy/dialect/openjpa/OpenJpaGenerateSqlTest.java
===================================================================
--- artemis/trunk/org.jiemamy.dialect/src/test/java/org/jiemamy/dialect/openjpa/OpenJpaGenerateSqlTest.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.dialect/src/test/java/org/jiemamy/dialect/openjpa/OpenJpaGenerateSqlTest.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -27,7 +27,7 @@
 import org.junit.runner.RunWith;
 import org.seasar.framework.unit.Seasar2;
 
-import org.jiemamy.model.JiemamyModelFactory;
+import org.jiemamy.model.Jiemamy;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.S2InstanceCreationStrategy;
 import org.jiemamy.model.attribute.ColumnModel;
@@ -57,8 +57,8 @@
 	}
 	
 	private TableModel createTable() {
-		JiemamyModelFactory.init(new S2InstanceCreationStrategy("jiemamy-core.dicon"));
-		RootModel rootModel = JiemamyModelFactory.newRootModel();
+		Jiemamy.init(new S2InstanceCreationStrategy("jiemamy-core.dicon"));
+		RootModel rootModel = Jiemamy.newRootModel();
 		
 		TableModel deptTable = rootModel.newModel(TableModel.class);
 		deptTable.setName("T_DEPT");

Modified: artemis/trunk/org.jiemamy.dialect.postgresql/src/test/java/org/jiemamy/dialect/postgresql/PostgresqlDialectTest.java
===================================================================
--- artemis/trunk/org.jiemamy.dialect.postgresql/src/test/java/org/jiemamy/dialect/postgresql/PostgresqlDialectTest.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.dialect.postgresql/src/test/java/org/jiemamy/dialect/postgresql/PostgresqlDialectTest.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -59,7 +59,7 @@
 import org.jiemamy.extension.ReflectionDialectAccessStrategyForTest;
 import org.jiemamy.extension.dialect.DataTypeResolver;
 import org.jiemamy.extension.dialect.Dialect;
-import org.jiemamy.model.JiemamyModelFactory;
+import org.jiemamy.model.Jiemamy;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.S2InstanceCreationStrategy;
 import org.jiemamy.model.datatype.DataType;
@@ -111,12 +111,12 @@
 		Class<Driver> driverClass = (Class<Driver>) classLoader.loadClass("org.postgresql.Driver");
 		driver = new DriverWrapper((Driver) ClassUtil.newInstance(driverClass));
 		
-		JiemamyModelFactory.init(new S2InstanceCreationStrategy("jiemamy-core.dicon"),
+		Jiemamy.init(new S2InstanceCreationStrategy("jiemamy-core.dicon"),
 				new ReflectionDialectAccessStrategyForTest());
-		rootModel = JiemamyModelFactory.newRootModel();
+		rootModel = Jiemamy.newRootModel();
 		rootModel.setDialectId("org.jiemamy.dialect.postgresql.PostgresqlDialect");
 		
-		dialect = JiemamyModelFactory.getDialect(rootModel);
+		dialect = Jiemamy.getDialect(rootModel);
 	}
 	
 	/**

Modified: artemis/trunk/org.jiemamy.event/src/test/java/org/jiemamy/internal/SetterInterceptorTest.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/test/java/org/jiemamy/internal/SetterInterceptorTest.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.event/src/test/java/org/jiemamy/internal/SetterInterceptorTest.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -34,7 +34,7 @@
 import org.jiemamy.event.ModelChangeListener;
 import org.jiemamy.event.Observable;
 import org.jiemamy.event.ObservableImpl;
-import org.jiemamy.model.JiemamyModelFactory;
+import org.jiemamy.model.Jiemamy;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.S2InstanceCreationStrategy;
 import org.jiemamy.model.node.TableModel;
@@ -62,8 +62,8 @@
 	 */
 	@Before
 	public void setUp() {
-		JiemamyModelFactory.init(new S2InstanceCreationStrategy("jiemamy-event.dicon"));
-		RootModel rootModel = JiemamyModelFactory.newRootModel();
+		Jiemamy.init(new S2InstanceCreationStrategy("jiemamy-event.dicon"));
+		RootModel rootModel = Jiemamy.newRootModel();
 		tableModel = rootModel.newModel(TableModel.class);
 		tableModel.setName("T_USER");
 		listener = (new ModelChangeListenerImpl());

Modified: artemis/trunk/org.jiemamy.event/src/test/java/org/jiemamy/model/RootModelEventTest.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/test/java/org/jiemamy/model/RootModelEventTest.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.event/src/test/java/org/jiemamy/model/RootModelEventTest.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -59,8 +59,8 @@
 	@Before
 	public void setUp() {
 		try {
-			JiemamyModelFactory.init(new S2InstanceCreationStrategy("jiemamy-event.dicon"));
-			rootModel = JiemamyModelFactory.newRootModel();
+			Jiemamy.init(new S2InstanceCreationStrategy("jiemamy-event.dicon"));
+			rootModel = Jiemamy.newRootModel();
 			listener = new RootModelChangeListenerImpl();
 		} catch (Exception e) {
 			e.printStackTrace();

Modified: artemis/trunk/org.jiemamy.event/src/test/java/org/jiemamy/model/node/TableModelEventTest.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/test/java/org/jiemamy/model/node/TableModelEventTest.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.event/src/test/java/org/jiemamy/model/node/TableModelEventTest.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -30,7 +30,7 @@
 import org.jiemamy.event.ModelChangeListener;
 import org.jiemamy.event.ObservableCollectionChangeEvent;
 import org.jiemamy.event.helper.node.TableModelChangeSupportImpl;
-import org.jiemamy.model.JiemamyModelFactory;
+import org.jiemamy.model.Jiemamy;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.S2InstanceCreationStrategy;
 import org.jiemamy.model.attribute.ColumnModel;
@@ -57,8 +57,8 @@
 	@Before
 	public void setUp() {
 		try {
-			JiemamyModelFactory.init(new S2InstanceCreationStrategy("jiemamy-event.dicon"));
-			rootModel = JiemamyModelFactory.newRootModel();
+			Jiemamy.init(new S2InstanceCreationStrategy("jiemamy-event.dicon"));
+			rootModel = Jiemamy.newRootModel();
 			listener = new TableModelChangeListenerImpl();
 		} catch (Exception e) {
 			e.printStackTrace();

Modified: artemis/trunk/org.jiemamy.event/src/test/java/org/jiemamy/util/ObservableListTest.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/test/java/org/jiemamy/util/ObservableListTest.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.event/src/test/java/org/jiemamy/util/ObservableListTest.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -36,7 +36,7 @@
 import org.jiemamy.event.ObservableCollectionChangeEvent;
 import org.jiemamy.event.ObservableCollectionChangeListener;
 import org.jiemamy.event.ObservableCollectionChangeEvent.Timing;
-import org.jiemamy.model.JiemamyModelFactory;
+import org.jiemamy.model.Jiemamy;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.S2InstanceCreationStrategy;
 import org.jiemamy.model.attribute.ColumnModel;
@@ -96,8 +96,8 @@
 	 */
 	@Before
 	public void setUp() {
-		JiemamyModelFactory.init(new S2InstanceCreationStrategy("jiemamy-event.dicon"));
-		rootModel = JiemamyModelFactory.newRootModel();
+		Jiemamy.init(new S2InstanceCreationStrategy("jiemamy-event.dicon"));
+		rootModel = Jiemamy.newRootModel();
 		modelList = ObservableList.decorate(new ArrayList<ColumnModel>());
 		listener = new ModelCollectionChangeListenerImpl();
 		modelList.addListener(listener);

Modified: artemis/trunk/org.jiemamy.event/src/test/java/org/jiemamy/util/ObservableMapTest.java
===================================================================
--- artemis/trunk/org.jiemamy.event/src/test/java/org/jiemamy/util/ObservableMapTest.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.event/src/test/java/org/jiemamy/util/ObservableMapTest.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -34,7 +34,7 @@
 import org.jiemamy.event.ObservableCollectionChangeEvent;
 import org.jiemamy.event.ObservableCollectionChangeListener;
 import org.jiemamy.event.ObservableCollectionChangeEvent.Timing;
-import org.jiemamy.model.JiemamyModelFactory;
+import org.jiemamy.model.Jiemamy;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.S2InstanceCreationStrategy;
 import org.jiemamy.model.attribute.ColumnModel;
@@ -91,8 +91,8 @@
 	 */
 	@Before
 	public void setUp() {
-		JiemamyModelFactory.init(new S2InstanceCreationStrategy("jiemamy-event.dicon"));
-		rootModel = JiemamyModelFactory.newRootModel();
+		Jiemamy.init(new S2InstanceCreationStrategy("jiemamy-event.dicon"));
+		rootModel = Jiemamy.newRootModel();
 		modelMap = ObservableMap.decorate(new HashMap<Integer, ColumnModel>());
 		listener = (new ModelCollectionChangeListenerImpl());
 		modelMap.addListener(listener);

Modified: artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/model/RootCommand.java
===================================================================
--- artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/model/RootCommand.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/model/RootCommand.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -62,7 +62,7 @@
 	@Override
 	public void start(XmlElement element, ModelInfo modelInfo, Attributes attributes) throws ClassNotFoundException {
 		UUID uuid = UUID.fromString(attributes.getValue("id"));
-		RootModel rootModel = JiemamyModelFactory.newRootModel(uuid);
+		RootModel rootModel = Jiemamy.newRootModel(uuid);
 		modelInfo.setRootModel(rootModel);
 		super.start(element, modelInfo, attributes);
 	}

Modified: artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/JiemamyDefaultSerializer.java
===================================================================
--- artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/JiemamyDefaultSerializer.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/JiemamyDefaultSerializer.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -26,13 +26,9 @@
 import javax.xml.parsers.SAXParserFactory;
 
 import org.apache.commons.lang.SerializationException;
-import org.apache.commons.lang.Validate;
 import org.xml.sax.SAXException;
 
 import org.jiemamy.JiemamySerializer;
-import org.jiemamy.extension.InstanceAccessStrategy;
-import org.jiemamy.extension.dialect.Dialect;
-import org.jiemamy.model.InstanceCreationStrategy;
 import org.jiemamy.model.JiemamyHandler;
 import org.jiemamy.model.RootModel;
 
@@ -48,38 +44,8 @@
 	
 	private static final String SCHEMA_SOURCE = "http://java.sun.com/xml/jaxp/properties/schemaSource";
 	
-	private InstanceCreationStrategy modelStrategy;
-	
-	private InstanceAccessStrategy<Dialect> dialectStrategy;
-	
 
 	/**
-	 * コンストラクタ。
-	 * @param modelStrategy 
-	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
-	 * @category instance creation
-	 */
-	public JiemamyDefaultSerializer(InstanceCreationStrategy modelStrategy) {
-		Validate.notNull(modelStrategy);
-		this.modelStrategy = modelStrategy;
-	}
-	
-	/**
-	 * コンストラクタ。
-	 * @param modelStrategy 
-	 * @param dialectStrategy 
-	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
-	 * @category instance creation
-	 */
-	public JiemamyDefaultSerializer(InstanceCreationStrategy modelStrategy,
-			InstanceAccessStrategy<Dialect> dialectStrategy) {
-		Validate.notNull(modelStrategy);
-		Validate.notNull(dialectStrategy);
-		this.modelStrategy = modelStrategy;
-		this.dialectStrategy = dialectStrategy;
-	}
-	
-	/**
 	 * {@inheritDoc}
 	 */
 	public RootModel deserialize(InputStream in) {

Modified: artemis/trunk/org.jiemamy.serializer/src/test/java/org/jiemamy/serializer/ApplicationModelCreator.java
===================================================================
--- artemis/trunk/org.jiemamy.serializer/src/test/java/org/jiemamy/serializer/ApplicationModelCreator.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.serializer/src/test/java/org/jiemamy/serializer/ApplicationModelCreator.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -9,7 +9,7 @@
 import org.jiemamy.model.DiagramPresentationModel;
 import org.jiemamy.model.DiagramPresentations;
 import org.jiemamy.model.InstanceCreationStrategy;
-import org.jiemamy.model.JiemamyModelFactory;
+import org.jiemamy.model.Jiemamy;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.S2InstanceCreationStrategy;
 import org.jiemamy.model.attribute.ColumnModel;
@@ -63,7 +63,7 @@
 	 * @category instance creation
 	 */
 	public ApplicationModelCreator(InstanceCreationStrategy strategy) {
-		JiemamyModelFactory.init(strategy);
+		Jiemamy.init(strategy);
 	}
 	
 	/**
@@ -73,7 +73,7 @@
 	public RootModel createModel() {
 		int offset = 50;
 		
-		rootModel = JiemamyModelFactory.newRootModel();
+		rootModel = Jiemamy.newRootModel();
 		rootModel.setDialectId(DIALECT_CLASS_NAME);
 		rootModel.setBeginScript("BEGIN;");
 		rootModel.setEndScript("COMMIT;");

Modified: artemis/trunk/org.jiemamy.serializer/src/test/java/org/jiemamy/serializer/ModelInputStreamTest.java
===================================================================
--- artemis/trunk/org.jiemamy.serializer/src/test/java/org/jiemamy/serializer/ModelInputStreamTest.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.serializer/src/test/java/org/jiemamy/serializer/ModelInputStreamTest.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -30,7 +30,7 @@
 import org.slf4j.LoggerFactory;
 
 import org.jiemamy.extension.ReflectionDialectAccessStrategyForTest;
-import org.jiemamy.model.JiemamyModelFactory;
+import org.jiemamy.model.Jiemamy;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.S2InstanceCreationStrategy;
 import org.jiemamy.model.attribute.ColumnModel;
@@ -54,10 +54,10 @@
 	 */
 	@Test
 	public void testRead() throws Exception {
-		JiemamyModelFactory.init(new S2InstanceCreationStrategy("jiemamy-view.dicon"),
+		Jiemamy.init(new S2InstanceCreationStrategy("jiemamy-view.dicon"),
 				new ReflectionDialectAccessStrategyForTest());
 		
-		RootModel rootModel = JiemamyModelFactory.newRootModel();
+		RootModel rootModel = Jiemamy.newRootModel();
 		rootModel.setDialectId("org.jiemamy.dialect.mysql.MySqlDialect");
 		rootModel.setBeginScript("BEGIN;");
 		rootModel.setEndScript("COMMIT;");

Modified: artemis/trunk/org.jiemamy.serializer/src/test/java/org/jiemamy/serializer/SerializationTest.java
===================================================================
--- artemis/trunk/org.jiemamy.serializer/src/test/java/org/jiemamy/serializer/SerializationTest.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.serializer/src/test/java/org/jiemamy/serializer/SerializationTest.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -36,7 +36,6 @@
 import org.slf4j.LoggerFactory;
 
 import org.jiemamy.JiemamySerializer;
-import org.jiemamy.model.JiemamyModelFactory;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.S2InstanceCreationStrategy;
 import org.jiemamy.model.attribute.ColumnModel;
@@ -73,7 +72,7 @@
 	@Before
 	public void setUp() throws Exception {
 		rootModel = applicationModelCreator.createModel();
-		jiemamySerializer = new JiemamyDefaultSerializer(JiemamyModelFactory.getModelStrategy());
+		jiemamySerializer = new JiemamyDefaultSerializer();
 	}
 	
 	/**

Modified: artemis/trunk/org.jiemamy.view/src/test/java/org/jiemamy/internal/processor/ResetBendpointProcessorTest.java
===================================================================
--- artemis/trunk/org.jiemamy.view/src/test/java/org/jiemamy/internal/processor/ResetBendpointProcessorTest.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.view/src/test/java/org/jiemamy/internal/processor/ResetBendpointProcessorTest.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -30,7 +30,7 @@
 
 import org.jiemamy.Migration;
 import org.jiemamy.model.DiagramPresentations;
-import org.jiemamy.model.JiemamyModelFactory;
+import org.jiemamy.model.Jiemamy;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.S2InstanceCreationStrategy;
 import org.jiemamy.model.connection.ForeignKeyModel;
@@ -60,8 +60,8 @@
 	 */
 	@Before
 	public void setUp() throws Exception {
-		JiemamyModelFactory.init(new S2InstanceCreationStrategy("jiemamy-view.dicon"));
-		rootModel = JiemamyModelFactory.newRootModel();
+		Jiemamy.init(new S2InstanceCreationStrategy("jiemamy-view.dicon"));
+		rootModel = Jiemamy.newRootModel();
 		
 		empTableModel = rootModel.newModel(TableModel.class);
 		empTableModel.setName("T_EMP");

Modified: artemis/trunk/org.jiemamy.view/src/test/java/org/jiemamy/internal/processor/SetColorProcessorTest.java
===================================================================
--- artemis/trunk/org.jiemamy.view/src/test/java/org/jiemamy/internal/processor/SetColorProcessorTest.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.view/src/test/java/org/jiemamy/internal/processor/SetColorProcessorTest.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -29,7 +29,7 @@
 import org.jiemamy.Migration;
 import org.jiemamy.model.DiagramPresentationModel;
 import org.jiemamy.model.DiagramPresentations;
-import org.jiemamy.model.JiemamyModelFactory;
+import org.jiemamy.model.Jiemamy;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.S2InstanceCreationStrategy;
 import org.jiemamy.model.geometory.JmColor;
@@ -52,8 +52,8 @@
 	 */
 	@Before
 	public void setUp() throws Exception {
-		JiemamyModelFactory.init(new S2InstanceCreationStrategy("jiemamy-view.dicon"));
-		rootModel = JiemamyModelFactory.newRootModel();
+		Jiemamy.init(new S2InstanceCreationStrategy("jiemamy-view.dicon"));
+		rootModel = Jiemamy.newRootModel();
 		DiagramPresentationModel presentation = rootModel.newModel(DiagramPresentationModel.class);
 		presentation.setName("テスト");
 		rootModel.getAdapter(DiagramPresentations.class).appendModel(presentation);

Modified: artemis/trunk/org.jiemamy.view/src/test/java/org/jiemamy/internal/processor/SetConstraintProcessorTest.java
===================================================================
--- artemis/trunk/org.jiemamy.view/src/test/java/org/jiemamy/internal/processor/SetConstraintProcessorTest.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.view/src/test/java/org/jiemamy/internal/processor/SetConstraintProcessorTest.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -29,7 +29,7 @@
 import org.jiemamy.Migration;
 import org.jiemamy.model.DiagramPresentationModel;
 import org.jiemamy.model.DiagramPresentations;
-import org.jiemamy.model.JiemamyModelFactory;
+import org.jiemamy.model.Jiemamy;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.S2InstanceCreationStrategy;
 import org.jiemamy.model.geometory.JmRectangle;
@@ -52,8 +52,8 @@
 	 */
 	@Before
 	public void setUp() throws Exception {
-		JiemamyModelFactory.init(new S2InstanceCreationStrategy("jiemamy-view.dicon"));
-		rootModel = JiemamyModelFactory.newRootModel();
+		Jiemamy.init(new S2InstanceCreationStrategy("jiemamy-view.dicon"));
+		rootModel = Jiemamy.newRootModel();
 		DiagramPresentationModel presentation = rootModel.newModel(DiagramPresentationModel.class);
 		presentation.setName("テスト");
 		rootModel.getAdapter(DiagramPresentations.class).appendModel(presentation);

Modified: artemis/trunk/org.jiemamy.view/src/test/java/org/jiemamy/model/DiagramPresentationModelImplTest.java
===================================================================
--- artemis/trunk/org.jiemamy.view/src/test/java/org/jiemamy/model/DiagramPresentationModelImplTest.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ artemis/trunk/org.jiemamy.view/src/test/java/org/jiemamy/model/DiagramPresentationModelImplTest.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -27,7 +27,7 @@
 import org.junit.Test;
 
 import org.jiemamy.model.DiagramPresentationModelImpl;
-import org.jiemamy.model.JiemamyModelFactory;
+import org.jiemamy.model.Jiemamy;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.S2InstanceCreationStrategy;
 import org.jiemamy.model.DiagramPresentationModel;
@@ -50,8 +50,8 @@
 	 */
 	@Before
 	public void setUp() throws Exception {
-		JiemamyModelFactory.init(new S2InstanceCreationStrategy("jiemamy-view.dicon"));
-		rootModel = JiemamyModelFactory.newRootModel();
+		Jiemamy.init(new S2InstanceCreationStrategy("jiemamy-view.dicon"));
+		rootModel = Jiemamy.newRootModel();
 		presentation = rootModel.newModel(DiagramPresentationModel.class);
 		presentation.setName("testPresentation");
 		rootModel.getAdapter(DiagramPresentations.class).appendModel(presentation);

Modified: vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/JiemamyPlugin.java
===================================================================
--- vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/JiemamyPlugin.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/JiemamyPlugin.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -38,7 +38,7 @@
 import org.jiemamy.extension.composer.Exporter;
 import org.jiemamy.extension.composer.Importer;
 import org.jiemamy.extension.dialect.Dialect;
-import org.jiemamy.model.JiemamyModelFactory;
+import org.jiemamy.model.Jiemamy;
 import org.jiemamy.model.S2InstanceCreationStrategy;
 
 /**
@@ -160,7 +160,7 @@
 		importerResolver = new ExtensionResolver<Importer>("org.jiemamy.core", "composers", "importer", "class");
 		exporterResolver = new ExtensionResolver<Exporter>("org.jiemamy.core", "composers", "exporter", "class");
 		validatorResolver = new ExtensionResolver<ModelValidator>(PLUGIN_ID, "validators", "dialect", "class");
-		JiemamyModelFactory.init(new S2InstanceCreationStrategy("jiemamy-eclipse.dicon"));
+		Jiemamy.init(new S2InstanceCreationStrategy("jiemamy-eclipse.dicon"));
 	}
 	
 	/**

Modified: vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/editor/DiagramEditor.java
===================================================================
--- vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/editor/DiagramEditor.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/editor/DiagramEditor.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -87,16 +87,15 @@
 import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
 
 import org.jiemamy.JiemamySerializer;
-import org.jiemamy.eclipse.EclipseDialectInstanceAccessStrategy;
 import org.jiemamy.eclipse.editor.editpart.DiagramEditPartFactory;
 import org.jiemamy.eclipse.editor.editpart.DoubleClickSupport;
 import org.jiemamy.eclipse.editor.editpart.OutlineTreeEditPartFactory;
 import org.jiemamy.eclipse.utils.ExceptionHandler;
-import org.jiemamy.model.JiemamyModelFactory;
-import org.jiemamy.model.RootModel;
-import org.jiemamy.serializer.JiemamyDefaultSerializer;
 import org.jiemamy.model.DiagramPresentationModel;
 import org.jiemamy.model.DiagramPresentations;
+import org.jiemamy.model.Jiemamy;
+import org.jiemamy.model.RootModel;
+import org.jiemamy.serializer.JiemamyDefaultSerializer;
 
 /**
  * ERダイアグラムエディタ。
@@ -180,9 +179,7 @@
 	public void doSave(IProgressMonitor monitor) {
 		try {
 			IFile file = ((IFileEditorInput) getEditorInput()).getFile();
-			JiemamySerializer serializer =
-					new JiemamyDefaultSerializer(JiemamyModelFactory.getModelStrategy(),
-							new EclipseDialectInstanceAccessStrategy());
+			JiemamySerializer serializer = new JiemamyDefaultSerializer();
 			InputStream stream = serializer.serialize(rootModel);
 			file.setContents(stream, true, true, monitor);
 			getCommandStack().markSaveLocation();
@@ -213,9 +210,7 @@
 							@Override
 							public void execute(IProgressMonitor monitor) {
 								try {
-									JiemamySerializer serializer =
-											new JiemamyDefaultSerializer(JiemamyModelFactory.getModelStrategy(),
-													new EclipseDialectInstanceAccessStrategy());
+									JiemamySerializer serializer = new JiemamyDefaultSerializer();
 									InputStream stream = serializer.serialize(rootModel);
 									file.create(stream, true, monitor);
 								} catch (Exception e) {
@@ -443,9 +438,7 @@
 		
 		// 最上位モデルの設定
 		IFile file = ((IFileEditorInput) getEditorInput()).getFile();
-		JiemamySerializer serializer =
-				new JiemamyDefaultSerializer(JiemamyModelFactory.getModelStrategy(),
-						new EclipseDialectInstanceAccessStrategy());
+		JiemamySerializer serializer = new JiemamyDefaultSerializer();
 		try {
 			rootModel = serializer.deserialize(file.getContents());
 //			rootModel.setDisplayMode(DatabaseModel.MODE_PHYSICAL_ATTRTYPE);
@@ -455,7 +448,7 @@
 			ExceptionHandler.handleException(e);
 		} finally {
 			if (rootModel == null) {
-				rootModel = JiemamyModelFactory.newRootModel();
+				rootModel = Jiemamy.newRootModel();
 			}
 			if (rootModel.getAdapter(DiagramPresentations.class).size() == 0) {
 				DiagramPresentationModel presentationModel = rootModel.newModel(DiagramPresentationModel.class);

Modified: vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/editor/MultiDiagramEditor.java
===================================================================
--- vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/editor/MultiDiagramEditor.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/editor/MultiDiagramEditor.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -45,13 +45,12 @@
 import org.slf4j.LoggerFactory;
 
 import org.jiemamy.JiemamySerializer;
-import org.jiemamy.eclipse.EclipseDialectInstanceAccessStrategy;
 import org.jiemamy.eclipse.utils.ExceptionHandler;
-import org.jiemamy.model.JiemamyModelFactory;
-import org.jiemamy.model.RootModel;
-import org.jiemamy.serializer.JiemamyDefaultSerializer;
 import org.jiemamy.model.DiagramPresentationModel;
 import org.jiemamy.model.DiagramPresentations;
+import org.jiemamy.model.Jiemamy;
+import org.jiemamy.model.RootModel;
+import org.jiemamy.serializer.JiemamyDefaultSerializer;
 
 /**
  * マルチページ構成のダイアグラムエディタクラス。
@@ -91,9 +90,7 @@
 	public void doSave(IProgressMonitor monitor) {
 		try {
 			IFile file = ((IFileEditorInput) getEditorInput()).getFile();
-			JiemamySerializer serializer =
-					new JiemamyDefaultSerializer(JiemamyModelFactory.getModelStrategy(),
-							new EclipseDialectInstanceAccessStrategy());
+			JiemamySerializer serializer = new JiemamyDefaultSerializer();
 			InputStream stream = serializer.serialize(rootModel);
 			file.setContents(stream, true, true, monitor);
 			for (DiagramEditor2 editor : editors) {
@@ -126,9 +123,7 @@
 							@Override
 							public void execute(IProgressMonitor monitor) {
 								try {
-									JiemamySerializer serializer =
-											new JiemamyDefaultSerializer(JiemamyModelFactory.getModelStrategy(),
-													new EclipseDialectInstanceAccessStrategy());
+									JiemamySerializer serializer = new JiemamyDefaultSerializer();
 									InputStream stream = serializer.serialize(rootModel);
 									file.create(stream, true, monitor);
 								} catch (Exception e) {
@@ -167,9 +162,7 @@
 		
 		// 最上位モデルの設定
 		IFile file = ((IFileEditorInput) input).getFile();
-		JiemamySerializer serializer =
-				new JiemamyDefaultSerializer(JiemamyModelFactory.getModelStrategy(),
-						new EclipseDialectInstanceAccessStrategy());
+		JiemamySerializer serializer = new JiemamyDefaultSerializer();
 		try {
 			rootModel = serializer.deserialize(file.getContents());
 //			rootModel.setDisplayMode(DatabaseModel.MODE_PHYSICAL_ATTRTYPE);
@@ -179,11 +172,10 @@
 			ExceptionHandler.handleException(e);
 		} finally {
 			if (rootModel == null) {
-				rootModel = JiemamyModelFactory.newRootModel();
+				rootModel = Jiemamy.newRootModel();
 			}
 			if (rootModel.getAdapter(DiagramPresentations.class).size() == 0) {
-				DiagramPresentationModel presentationModel =
-						rootModel.newModel(DiagramPresentationModel.class);
+				DiagramPresentationModel presentationModel = rootModel.newModel(DiagramPresentationModel.class);
 				presentationModel.setName("default");
 				rootModel.getAdapter(DiagramPresentations.class).appendModel(presentationModel);
 			}

Modified: vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/wizard/NewDiagramWizard.java
===================================================================
--- vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/wizard/NewDiagramWizard.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/wizard/NewDiagramWizard.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -31,9 +31,8 @@
 import org.eclipse.ui.ide.IDE;
 
 import org.jiemamy.JiemamySerializer;
-import org.jiemamy.eclipse.EclipseDialectInstanceAccessStrategy;
 import org.jiemamy.eclipse.utils.ExceptionHandler;
-import org.jiemamy.model.JiemamyModelFactory;
+import org.jiemamy.model.Jiemamy;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.S2InstanceCreationStrategy;
 import org.jiemamy.serializer.JiemamyDefaultSerializer;
@@ -125,9 +124,7 @@
 			setTitle(Messages.Wizard_Title);
 			setMessage(Messages.Wizard_Message);
 //			setFileName("jiemamy.jer");
-			serializer =
-					new JiemamyDefaultSerializer(JiemamyModelFactory.getModelStrategy(),
-							new EclipseDialectInstanceAccessStrategy());
+			serializer = new JiemamyDefaultSerializer();
 		}
 		
 		/**
@@ -143,8 +140,8 @@
 		 */
 		@Override
 		protected InputStream getInitialContents() {
-			JiemamyModelFactory.init(new S2InstanceCreationStrategy("jiemamy-eclipse.dicon"));
-			RootModel rootModel = JiemamyModelFactory.newRootModel();
+			Jiemamy.init(new S2InstanceCreationStrategy("jiemamy-eclipse.dicon"));
+			RootModel rootModel = Jiemamy.newRootModel();
 			
 			try {
 				return serializer.serialize(rootModel);

Modified: zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/InstanceCreationStrategy.java
===================================================================
--- zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/InstanceCreationStrategy.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/InstanceCreationStrategy.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -24,7 +24,7 @@
 /**
  * Jiemamy関連クラスのインスタンス生成戦略インターフェイス。
  * 
- * <p>{@link JiemamyModelFactory}がインスタンスをどのようにして生成するかは、下記のように実装によって異なる。
+ * <p>{@link Jiemamy}がインスタンスをどのようにして生成するかは、下記のように実装によって異なる。
  * このストラテジは、ファクトリに対してインスタンスの生成方法を与えるためのインターフェイスである。</p>
  * 
  * <ul>

Copied: zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/Jiemamy.java (from rev 2244, zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/JiemamyModelFactory.java)
===================================================================
--- zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/Jiemamy.java	                        (rev 0)
+++ zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/Jiemamy.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -0,0 +1,236 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
+ * Created on 2008/09/25
+ *
+ * This file is part of Jiemamy.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+ * either express or implied. See the License for the specific language
+ * governing permissions and limitations under the License.
+ */
+package org.jiemamy.model;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+import org.jiemamy.exception.IllegalImplementationException;
+import org.jiemamy.extension.InstanceAccessStrategy;
+import org.jiemamy.extension.dialect.Dialect;
+
+/**
+ * 新しいJiemamy関連クラスのインスタンスを生成するためのファクトリ。
+ * 
+ * <p>このクラスは、staticなクラスとして扱う。使用する前に {@link #init(InstanceCreationStrategy, InstanceAccessStrategy)}
+ * メソッドによる初期化が必要であり、この引数には、使用する実装が提供する {@link InstanceCreationStrategy} のインスタンスを
+ * 与える。この引数により、実装の種類及び、その実装が提供する仕様の範囲が決定される。</p>
+ * 
+ * <p>{@link #init(InstanceCreationStrategy, InstanceAccessStrategy)}メソッドで初期化した後、{@link #newRootModel()}により
+ * {@link RootModel}を得ることができ、この {@link RootModel}がJiemamyにおけるモデル操作の全ての起点となる。</p>
+ * 
+ * @author daisuke
+ */
+public final class Jiemamy {
+	
+	/** 自クラスのインスタンス */
+	private static Jiemamy singleton;
+	
+
+	/**
+	 * {@link Dialect} のインスタンスを取得する。
+	 * @param rootModel 
+	 * @return {@link Dialect}のインスタンス。
+	 * @throws ClassNotFoundException 
+	 * @throws IllegalStateException ファクトリが初期化されていない場合
+	 */
+	public static Dialect getDialect(RootModel rootModel) throws ClassNotFoundException {
+		return getDialect(rootModel.getDialectId());
+	}
+	
+	/**
+	 * TODO for daisuke
+	 * @param modelStrategy
+	 */
+	public static void init(InstanceCreationStrategy modelStrategy) {
+		singleton = new Jiemamy(modelStrategy, new DefaultInstanceAccessStrategy<Dialect>());
+	}
+	
+	/**
+	 * ファクトリを初期化する。
+	 * 
+	 * <p>与えるファクトリ戦略によって、実装の種類及び、その実装が提供する仕様の範囲が決定される。</p>
+	 * 
+	 * <p>現在Jiemamy Projectが提供するJiemamy仕様の実装は、1つだけであり、Artemisというコードネームで呼ばれている。
+	 * この実装を使用する場合は、org.jiemamy.model.S2InstanceCreationStrategy のインスタンスを与えればよい。</p>
+	 * 
+	 * @param modelStrategy 実装が提供するモデルインスタンス生成戦略
+	 * @param dialectStrategy 実装が提供するDialectインスタンス取得戦略
+	 */
+	public static void init(InstanceCreationStrategy modelStrategy, InstanceAccessStrategy<Dialect> dialectStrategy) {
+		singleton = new Jiemamy(modelStrategy, dialectStrategy);
+	}
+	
+	/**
+	 * 新しい {@link RootModel} のインスタンスを取得する。
+	 * @return {@link RootModel}のインスタンス。
+	 * @throws IllegalStateException ファクトリが初期化されていない場合
+	 */
+	public static RootModel newRootModel() {
+		return newModel(null, RootModel.class);
+	}
+	
+	/**
+	 * {@link Dialect} のインスタンスを取得する。
+	 * @param fqcn 完全修飾クラス名
+	 * @return {@link Dialect}のインスタンス。
+	 * @throws ClassNotFoundException 
+	 * @throws IllegalStateException ファクトリが初期化されていない場合
+	 */
+	static Dialect getDialect(String fqcn) throws ClassNotFoundException {
+		if (singleton == null) {
+			throw new IllegalStateException("Provider is not initialized");
+		}
+		return singleton.dialectStrategy.getInstance(fqcn);
+	}
+	
+	/**
+	 * 与えられたJiemamy関連クラスのインスタンスを生成する。
+	 * 
+	 * @param <T> 生成するインスタンスの型
+	 * @param rootModel 
+	 * @param clazz 
+	 * @return 生成されたインスタンス
+	 * @throws IllegalStateException ファクトリが初期化されていない場合
+	 * @throws IllegalArgumentException 引数clazzに責務外のクラスを指定して、インスタンスを取得しようとした場合
+	 * @throws IllegalArgumentException 引数clazzに{@code null}を与えた場合
+	 */
+	static <T>T newModel(RootModel rootModel, Class<T> clazz) {
+		if (singleton == null) {
+			throw new IllegalStateException("Factory is not initialized");
+		}
+		return singleton.modelStrategy.newInstance(clazz);
+	}
+	
+	/**
+	 * 指定したIDを持つ、与えられたJiemamy関連クラスのインスタンスを生成する。
+	 * @param <T> 
+	 * @param rootModel
+	 * @param clazz
+	 * @param id
+	 * @return 生成されたインスタンス
+	 * @throws IllegalStateException ファクトリが初期化されていない場合
+	 * @throws IllegalArgumentException 引数clazzに責務外のクラスを指定して、インスタンスを取得しようとした場合
+	 * @throws IllegalArgumentException 引数clazzに{@code null}を与えた場合
+	 */
+	static <T extends Identifiable>T newModel(RootModel rootModel, Class<T> clazz, UUID id) {
+		if (singleton == null) {
+			throw new IllegalStateException("Factory is not initialized");
+		}
+		return singleton.modelStrategy.newInstance(clazz, id);
+	}
+	
+	/**
+	 * 指定したIDを持つ、新しい {@link RootModel} のインスタンスを取得する。
+	 * @param id 生成される {@link RootModel} が持つモデルID
+	 * @return {@link RootModel}のインスタンス。
+	 * @throws IllegalStateException ファクトリが初期化されていない場合
+	 */
+	static RootModel newRootModel(UUID id) {
+		return newModel(null, RootModel.class, id);
+	}
+	
+
+	/** インスタンス生成戦略 */
+	private InstanceAccessStrategy<Dialect> dialectStrategy;
+	
+	/** インスタンス生成戦略 */
+	private InstanceCreationStrategy modelStrategy;
+	
+
+	/**
+	 * privateコンストラクタ。
+	 * @param modelStrategy 実装が提供するモデルインスタンス生成戦略
+	 * @param dialectStrategy 実装が提供するDialectインスタンス取得戦略
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
+	 * @category instance creation
+	 */
+	private Jiemamy(InstanceCreationStrategy modelStrategy, InstanceAccessStrategy<Dialect> dialectStrategy) {
+		if (modelStrategy == null) {
+			throw new IllegalArgumentException("modelStrategy must not to be null.");
+		}
+		if (dialectStrategy == null) {
+			throw new IllegalArgumentException("dialectStrategy must not to be null.");
+		}
+		this.modelStrategy = modelStrategy;
+		this.dialectStrategy = dialectStrategy;
+	}
+	
+
+	/**
+	 * インスタンスにアクセスするデフォルトの方法を示す戦略クラス。
+	 * 
+	 * <p>リフレクションを使って、デフォルトコンストラクタでインスタンス生成を行う。
+	 * 一度生成されたインスタンスはキャッシングされ、二度目以降はインスタンス生成を行わない。</p>
+	 * 
+	 * @param <T> 対象インスタンスの型
+	 * @author daisuke
+	 */
+	public static class DefaultInstanceAccessStrategy<T> implements InstanceAccessStrategy<T> {
+		
+		protected ClassLoader classLoader;
+		
+		private Map<String, T> cache = new HashMap<String, T>();
+		
+
+		/**
+		 * コンストラクタ。
+		 * @category instance creation
+		 */
+		public DefaultInstanceAccessStrategy() {
+			this(null);
+		}
+		
+		/**
+		 * コンストラクタ。
+		 * @param classLoader 
+		 * @category instance creation
+		 */
+		public DefaultInstanceAccessStrategy(ClassLoader classLoader) {
+			this.classLoader = classLoader;
+		}
+		
+		/**
+		 * {@inheritDoc}
+		 */
+		@SuppressWarnings("unchecked")
+		public T getInstance(String fqcn) throws ClassNotFoundException {
+			assert cache != null;
+			if (cache.get(fqcn) == null) {
+				Class<? extends T> clazz;
+				if (classLoader != null) {
+					clazz = (Class<? extends T>) Class.forName(fqcn, true, classLoader);
+				} else {
+					clazz = (Class<? extends T>) Class.forName(fqcn);
+				}
+				try {
+					cache.put(fqcn, clazz.newInstance());
+				} catch (InstantiationException e) {
+					throw new IllegalImplementationException(clazz, e);
+				} catch (IllegalAccessException e) {
+					throw new IllegalImplementationException(clazz, e);
+				}
+			}
+			
+			return cache.get(fqcn);
+		}
+	}
+	
+}

Deleted: zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/JiemamyModelFactory.java
===================================================================
--- zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/JiemamyModelFactory.java	2008-12-11 12:36:47 UTC (rev 2244)
+++ zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/JiemamyModelFactory.java	2008-12-11 12:41:11 UTC (rev 2245)
@@ -1,248 +0,0 @@
-/*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
- * Created on 2008/09/25
- *
- * This file is part of Jiemamy.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
- * either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
- */
-package org.jiemamy.model;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-
-import org.jiemamy.exception.IllegalImplementationException;
-import org.jiemamy.extension.InstanceAccessStrategy;
-import org.jiemamy.extension.dialect.Dialect;
-
-/**
- * 新しいJiemamy関連クラスのインスタンスを生成するためのファクトリ。
- * 
- * <p>このクラスは、staticなクラスとして扱う。使用する前に {@link #init(InstanceCreationStrategy, InstanceAccessStrategy)}
- * メソッドによる初期化が必要であり、この引数には、使用する実装が提供する {@link InstanceCreationStrategy} のインスタンスを
- * 与える。この引数により、実装の種類及び、その実装が提供する仕様の範囲が決定される。</p>
- * 
- * <p>{@link #init(InstanceCreationStrategy, InstanceAccessStrategy)}メソッドで初期化した後、{@link #newRootModel()}により
- * {@link RootModel}を得ることができ、この {@link RootModel}がJiemamyにおけるモデル操作の全ての起点となる。</p>
- * 
- * @author daisuke
- */
-public final class JiemamyModelFactory {
-	
-	/** 自クラスのインスタンス */
-	private static JiemamyModelFactory singleton;
-	
-
-	/**
-	 * {@link Dialect} のインスタンスを取得する。
-	 * @param rootModel 
-	 * @return {@link Dialect}のインスタンス。
-	 * @throws ClassNotFoundException 
-	 * @throws IllegalStateException ファクトリが初期化されていない場合
-	 */
-	public static Dialect getDialect(RootModel rootModel) throws ClassNotFoundException {
-		return getDialect(rootModel.getDialectId());
-	}
-	
-	/**
-	* インスタンス生成戦略を取得する。
-	* @return インスタンス生成戦略
-	 * @throws IllegalStateException ファクトリが初期化されていない場合
-	*/
-	public static InstanceCreationStrategy getModelStrategy() {
-		if (singleton == null) {
-			throw new IllegalStateException("Factory is not initialized");
-		}
-		return singleton.modelStrategy;
-	}
-	
-	/**
-	 * TODO for daisuke
-	 * @param modelStrategy
-	 */
-	public static void init(InstanceCreationStrategy modelStrategy) {
-		singleton = new JiemamyModelFactory(modelStrategy, new DefaultInstanceAccessStrategy<Dialect>());
-	}
-	
-	/**
-	 * ファクトリを初期化する。
-	 * 
-	 * <p>与えるファクトリ戦略によって、実装の種類及び、その実装が提供する仕様の範囲が決定される。</p>
-	 * 
-	 * <p>現在Jiemamy Projectが提供するJiemamy仕様の実装は、1つだけであり、Artemisというコードネームで呼ばれている。
-	 * この実装を使用する場合は、org.jiemamy.model.S2InstanceCreationStrategy のインスタンスを与えればよい。</p>
-	 * 
-	 * @param modelStrategy 実装が提供するモデルインスタンス生成戦略
-	 * @param dialectStrategy 実装が提供するDialectインスタンス取得戦略
-	 */
-	public static void init(InstanceCreationStrategy modelStrategy, InstanceAccessStrategy<Dialect> dialectStrategy) {
-		singleton = new JiemamyModelFactory(modelStrategy, dialectStrategy);
-	}
-	
-	/**
-	 * 新しい {@link RootModel} のインスタンスを取得する。
-	 * @return {@link RootModel}のインスタンス。
-	 * @throws IllegalStateException ファクトリが初期化されていない場合
-	 */
-	public static RootModel newRootModel() {
-		return newModel(null, RootModel.class);
-	}
-	
-	/**
-	 * {@link Dialect} のインスタンスを取得する。
-	 * @param fqcn 完全修飾クラス名
-	 * @return {@link Dialect}のインスタンス。
-	 * @throws ClassNotFoundException 
-	 * @throws IllegalStateException ファクトリが初期化されていない場合
-	 */
-	static Dialect getDialect(String fqcn) throws ClassNotFoundException {
-		if (singleton == null) {
-			throw new IllegalStateException("Provider is not initialized");
-		}
-		return singleton.dialectStrategy.getInstance(fqcn);
-	}
-	
-	/**
-	 * 与えられたJiemamy関連クラスのインスタンスを生成する。
-	 * 
-	 * @param <T> 生成するインスタンスの型
-	 * @param rootModel 
-	 * @param clazz 
-	 * @return 生成されたインスタンス
-	 * @throws IllegalStateException ファクトリが初期化されていない場合
-	 * @throws IllegalArgumentException 引数clazzに責務外のクラスを指定して、インスタンスを取得しようとした場合
-	 * @throws IllegalArgumentException 引数clazzに{@code null}を与えた場合
-	 */
-	static <T>T newModel(RootModel rootModel, Class<T> clazz) {
-		if (singleton == null) {
-			throw new IllegalStateException("Factory is not initialized");
-		}
-		return singleton.modelStrategy.newInstance(clazz);
-	}
-	
-	/**
-	 * 指定したIDを持つ、与えられたJiemamy関連クラスのインスタンスを生成する。
-	 * @param <T> 
-	 * @param rootModel
-	 * @param clazz
-	 * @param id
-	 * @return 生成されたインスタンス
-	 * @throws IllegalStateException ファクトリが初期化されていない場合
-	 * @throws IllegalArgumentException 引数clazzに責務外のクラスを指定して、インスタンスを取得しようとした場合
-	 * @throws IllegalArgumentException 引数clazzに{@code null}を与えた場合
-	 */
-	static <T extends Identifiable>T newModel(RootModel rootModel, Class<T> clazz, UUID id) {
-		if (singleton == null) {
-			throw new IllegalStateException("Factory is not initialized");
-		}
-		return singleton.modelStrategy.newInstance(clazz, id);
-	}
-	
-	/**
-	 * 指定したIDを持つ、新しい {@link RootModel} のインスタンスを取得する。
-	 * @param id 生成される {@link RootModel} が持つモデルID
-	 * @return {@link RootModel}のインスタンス。
-	 * @throws IllegalStateException ファクトリが初期化されていない場合
-	 */
-	static RootModel newRootModel(UUID id) {
-		return newModel(null, RootModel.class, id);
-	}
-	
-
-	/** インスタンス生成戦略 */
-	private InstanceAccessStrategy<Dialect> dialectStrategy;
-	
-	/** インスタンス生成戦略 */
-	private InstanceCreationStrategy modelStrategy;
-	
-
-	/**
-	 * privateコンストラクタ。
-	 * @param modelStrategy 実装が提供するモデルインスタンス生成戦略
-	 * @param dialectStrategy 実装が提供するDialectインスタンス取得戦略
-	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
-	 * @category instance creation
-	 */
-	private JiemamyModelFactory(InstanceCreationStrategy modelStrategy, InstanceAccessStrategy<Dialect> dialectStrategy) {
-		if (modelStrategy == null) {
-			throw new IllegalArgumentException("modelStrategy must not to be null.");
-		}
-		if (dialectStrategy == null) {
-			throw new IllegalArgumentException("dialectStrategy must not to be null.");
-		}
-		this.modelStrategy = modelStrategy;
-		this.dialectStrategy = dialectStrategy;
-	}
-	
-
-	/**
-	 * インスタンスにアクセスするデフォルトの方法を示す戦略クラス。
-	 * 
-	 * <p>リフレクションを使って、デフォルトコンストラクタでインスタンス生成を行う。
-	 * 一度生成されたインスタンスはキャッシングされ、二度目以降はインスタンス生成を行わない。</p>
-	 * 
-	 * @param <T> 対象インスタンスの型
-	 * @author daisuke
-	 */
-	public static class DefaultInstanceAccessStrategy<T> implements InstanceAccessStrategy<T> {
-		
-		protected ClassLoader classLoader;
-		
-		private Map<String, T> cache = new HashMap<String, T>();
-		
-
-		/**
-		 * コンストラクタ。
-		 * @category instance creation
-		 */
-		public DefaultInstanceAccessStrategy() {
-			this(null);
-		}
-		
-		/**
-		 * コンストラクタ。
-		 * @param classLoader 
-		 * @category instance creation
-		 */
-		public DefaultInstanceAccessStrategy(ClassLoader classLoader) {
-			this.classLoader = classLoader;
-		}
-		
-		/**
-		 * {@inheritDoc}
-		 */
-		@SuppressWarnings("unchecked")
-		public T getInstance(String fqcn) throws ClassNotFoundException {
-			assert cache != null;
-			if (cache.get(fqcn) == null) {
-				Class<? extends T> clazz;
-				if (classLoader != null) {
-					clazz = (Class<? extends T>) Class.forName(fqcn, true, classLoader);
-				} else {
-					clazz = (Class<? extends T>) Class.forName(fqcn);
-				}
-				try {
-					cache.put(fqcn, clazz.newInstance());
-				} catch (InstantiationException e) {
-					throw new IllegalImplementationException(clazz, e);
-				} catch (IllegalAccessException e) {
-					throw new IllegalImplementationException(clazz, e);
-				}
-			}
-			
-			return cache.get(fqcn);
-		}
-	}
-	
-}


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