[Jiemamy-notify] commit [1920] 自動生成したModel用のChangeListnerとChangeSupportの実装。自動生成後にFormatとImportの編成を手動で行った状態。

Zurück zum Archiv-Index

svnno****@sourc***** svnno****@sourc*****
2008年 9月 15日 (月) 19:39:57 JST


Revision: 1920
          http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=jiemamy&view=rev&rev=1920
Author:   shin1
Date:     2008-09-15 19:39:57 +0900 (Mon, 15 Sep 2008)

Log Message:
-----------
自動生成したModel用のChangeListnerとChangeSupportの実装。自動生成後にFormatとImportの編成を手動で行った状態。

Modified Paths:
--------------
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/AbstractObservable.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/ModelChangeEvent.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/ModelChangeListener.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/ModelChangeSupport.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/Observable.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/ObservableCollectionChangeEvent.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/ObservableCollectionChangeListener.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/SetterInterceptor.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/TableModelChangeListener.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/TableModelChangeSupport.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/package-info.java

Added Paths:
-----------
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/RootModelChangeListener.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/RootModelChangeSupport.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/connection/
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/connection/ForeignKeyMappingChangeListener.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/connection/ForeignKeyMappingChangeSupport.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/connection/InheritanceModelChangeListener.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/connection/InheritanceModelChangeSupport.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/dataset/
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/dataset/InsertDataSetModelChangeListener.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/dataset/InsertDataSetModelChangeSupport.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/dataset/RecordModelChangeListener.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/dataset/RecordModelChangeSupport.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/AbstractNodeModelChangeListener.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/AbstractNodeModelChangeSupport.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/StickyModelChangeListener.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/StickyModelChangeSupport.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/TableModelChangeListener.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/TableModelChangeSupport.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/ViewModelChangeListener.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/ViewModelChangeSupport.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/presentation/
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/presentation/DiagramPresentationModelChangeListener.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/presentation/DiagramPresentationModelChangeSupport.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/InheritanceColumnModelChangeListener.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/InheritanceColumnModelChangeSupport.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/CheckConstraintModelChangeListener.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/CheckConstraintModelChangeSupport.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/ConstraintSetModelChangeListener.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/ConstraintSetModelChangeSupport.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/NotNullConstraintModelChangeListener.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/NotNullConstraintModelChangeSupport.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/PrimaryKeyConstraintModelChangeListener.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/PrimaryKeyConstraintModelChangeSupport.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/UniqueConstraintModelChangeListener.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/UniqueConstraintModelChangeSupport.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/datatype/
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/datatype/adapter/
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/datatype/adapter/PrecisionedDataTypeAdapterChangeListener.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/datatype/adapter/PrecisionedDataTypeAdapterChangeSupport.java


-------------- next part --------------
Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/AbstractObservable.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/AbstractObservable.java	2008-09-15 10:38:22 UTC (rev 1919)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/AbstractObservable.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -1,20 +1,16 @@
 /*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
- * Created on 2008/07/27
- *
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/07/27
+ * 
  * 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.
+ * 
+ * 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.core.event;
 

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/ModelChangeEvent.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/ModelChangeEvent.java	2008-09-15 10:38:22 UTC (rev 1919)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/ModelChangeEvent.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -1,20 +1,16 @@
 /*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
- * Created on 2008/06/09
- *
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/06/09
+ * 
  * This file is part of Jiemamy-core.
- *
- * 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.
+ * 
+ * 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.core.event;
 

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/ModelChangeListener.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/ModelChangeListener.java	2008-09-15 10:38:22 UTC (rev 1919)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/ModelChangeListener.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -1,20 +1,16 @@
 /*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
- * Created on 2008/06/09
- *
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/06/09
+ * 
  * This file is part of Jiemamy-core.
- *
- * 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.
+ * 
+ * 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.core.event;
 

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/ModelChangeSupport.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/ModelChangeSupport.java	2008-09-15 10:38:22 UTC (rev 1919)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/ModelChangeSupport.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -1,20 +1,16 @@
 /*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
- * Created on 2008/07/27
- *
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/07/27
+ * 
  * 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.
+ * 
+ * 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.core.event;
 

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/Observable.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/Observable.java	2008-09-15 10:38:22 UTC (rev 1919)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/Observable.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -1,20 +1,16 @@
 /*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
- * Created on 2008/07/27
- *
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/07/27
+ * 
  * 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.
+ * 
+ * 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.core.event;
 

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/ObservableCollectionChangeEvent.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/ObservableCollectionChangeEvent.java	2008-09-15 10:38:22 UTC (rev 1919)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/ObservableCollectionChangeEvent.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -1,20 +1,16 @@
 /*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
- * Created on 2008/06/29
- *
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/06/29
+ * 
  * 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.
+ * 
+ * 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.core.event;
 
@@ -122,7 +118,7 @@
 		this.timing = timing;
 	}
 	
-	
+
 	/**
 	 * 発生したEventの種類。どのタイミングか?を意味する。
 	 * 

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/ObservableCollectionChangeListener.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/ObservableCollectionChangeListener.java	2008-09-15 10:38:22 UTC (rev 1919)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/ObservableCollectionChangeListener.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -1,20 +1,16 @@
 /*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
- * Created on 2008/06/29
- *
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/06/29
+ * 
  * 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.
+ * 
+ * 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.core.event;
 

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/SetterInterceptor.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/SetterInterceptor.java	2008-09-15 10:38:22 UTC (rev 1919)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/SetterInterceptor.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -1,20 +1,16 @@
 /*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
- * Created on 2008/06/22
- *
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/06/22
+ * 
  * This file is part of Jiemamy-core.
- *
- * 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.
+ * 
+ * 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.core.event;
 

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/RootModelChangeListener.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/RootModelChangeListener.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/RootModelChangeListener.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/06/29
+ * 
+ * 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.core.event.model;
+
+import java.util.List;
+
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.event.ObservableCollectionChangeEvent;
+import org.jiemamy.core.model.RootModel;
+import org.jiemamy.core.model.dataset.InsertDataSetModel;
+import org.jiemamy.core.model.presentation.DiagramPresentationModel;
+import org.jiemamy.core.model.typedef.DomainModel;
+
+/**
+ * RootModel用のListener
+ * 
+ * @author shin1ogawa
+ */
+public interface RootModelChangeListener extends ModelChangeListener {
+	
+	/**
+	 * {@link RootModel}が保持する{@link org.jiemamy.core.model.typedef.DomainModel}のCollectionに対する変更を処理する。
+	 * 
+	 * @param event
+	 */
+	void domainCollectionChange(ObservableCollectionChangeEvent<List<DomainModel>, DomainModel> event);
+	
+	/**
+	 * {@link RootModel}が保持する{@link org.jiemamy.core.model.presentation.DiagramPresentationModel}のCollectionに対する変更を処理する。
+	 * 
+	 * @param event
+	 */
+	void diagramPresentationCollectionChange(
+			ObservableCollectionChangeEvent<List<DiagramPresentationModel>, DiagramPresentationModel> event);
+	
+	/**
+	 * {@link RootModel}が保持する{@link org.jiemamy.core.model.dataset.InsertDataSetModel}のCollectionに対する変更を処理する。
+	 * 
+	 * @param event
+	 */
+	void insertDataSetCollectionChange(
+			ObservableCollectionChangeEvent<List<InsertDataSetModel>, InsertDataSetModel> event);
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/RootModelChangeListener.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/RootModelChangeSupport.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/RootModelChangeSupport.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/RootModelChangeSupport.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,189 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/07/02
+ * 
+ * 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.core.event.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jiemamy.core.event.ModelChangeEvent;
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.event.ObservableCollectionChangeEvent;
+import org.jiemamy.core.event.ObservableCollectionChangeListener;
+import org.jiemamy.core.model.RootModel;
+import org.jiemamy.core.model.dataset.InsertDataSetModel;
+import org.jiemamy.core.model.presentation.DiagramPresentationModel;
+import org.jiemamy.core.model.typedef.DomainModel;
+import org.jiemamy.core.utils.collectionimpl.ObservableList;
+
+/**
+ * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、RootModelからそれらを引き受ける。
+ * 
+ * @author shin1ogawa
+ */
+public class RootModelChangeSupport {
+	
+	/** RootModel自身のEventを監視するListenerのリスト */
+	private List<RootModelChangeListener> listeners = new ArrayList<RootModelChangeListener>();
+	
+	/** 
+	 * domainsのリストを監視するListener 
+	 * 
+	 * @see ObservableCollectionChangeListener
+	 * @see #fireDomainsCollectionChangeEvent(ObservableCollectionChangeEvent)
+	 */
+	private ObservableCollectionChangeListener<List<DomainModel>, DomainModel> domainsCollectionChangeListener =
+			new ObservableCollectionChangeListener<List<DomainModel>, DomainModel>() {
+				
+				/**
+				 * {@inheritDoc}
+				 */
+				public void collectionChanged(ObservableCollectionChangeEvent<List<DomainModel>, DomainModel> event) {
+					fireDomainsCollectionChangeEvent(event);
+				}
+			};
+	
+	/** 
+	 * diagramPresentationsのリストを監視するListener 
+	 * 
+	 * @see ObservableCollectionChangeListener
+	 * @see #fireDiagramPresentationsCollectionChangeEvent(ObservableCollectionChangeEvent)
+	 */
+	private ObservableCollectionChangeListener<List<DiagramPresentationModel>, DiagramPresentationModel> diagramPresentationsCollectionChangeListener =
+			new ObservableCollectionChangeListener<List<DiagramPresentationModel>, DiagramPresentationModel>() {
+				
+				/**
+				 * {@inheritDoc}
+				 */
+				public void collectionChanged(
+						ObservableCollectionChangeEvent<List<DiagramPresentationModel>, DiagramPresentationModel> event) {
+					fireDiagramPresentationsCollectionChangeEvent(event);
+				}
+			};
+	
+	/** 
+	 * insertDataSetsのリストを監視するListener 
+	 * 
+	 * @see ObservableCollectionChangeListener
+	 * @see #fireInsertDataSetsCollectionChangeEvent(ObservableCollectionChangeEvent)
+	 */
+	private ObservableCollectionChangeListener<List<InsertDataSetModel>, InsertDataSetModel> insertDataSetsCollectionChangeListener =
+			new ObservableCollectionChangeListener<List<InsertDataSetModel>, InsertDataSetModel>() {
+				
+				/**
+				 * {@inheritDoc}
+				 */
+				public void collectionChanged(
+						ObservableCollectionChangeEvent<List<InsertDataSetModel>, InsertDataSetModel> event) {
+					fireInsertDataSetsCollectionChangeEvent(event);
+				}
+			};
+	
+	/**
+	 * RootModelの属性の変更Eventを処理するListener
+	 * 
+	 * @see #fireModelChange(ModelChangeEvent)
+	 */
+	private ModelChangeListener rootModelChangeListener = new ModelChangeListener() {
+		
+		/**
+		 * {@inheritDoc}
+		 */
+		public void modelChanged(ModelChangeEvent event) {
+			fireModelChange(event);
+		}
+	};
+	
+
+	/**
+	 * コンストラクタ。
+	 * 
+	 * @param source {@link RootModel}
+	 * @category instance creation
+	 */
+	public RootModelChangeSupport(RootModel source) {
+		source.addModelChangeListener(rootModelChangeListener);
+		((ObservableList<DomainModel>) source.getDomains()).addListener(domainsCollectionChangeListener);
+		((ObservableList<DiagramPresentationModel>) source.getDiagramPresentations())
+			.addListener(diagramPresentationsCollectionChangeListener);
+		((ObservableList<InsertDataSetModel>) source.getInsertDataSets())
+			.addListener(insertDataSetsCollectionChangeListener);
+	}
+	
+	/**
+	 * RootModel自身のEventを監視するListenerを追加する。
+	 * 
+	 * @param l {@link RootModelChangeListener}
+	 * @see #removeRootModelChangeListener(RootModelChangeListener)
+	 */
+	public void addRootModelChangeListener(RootModelChangeListener l) {
+		listeners.add(l);
+	}
+	
+	/**
+	 * domainsのcollectionを監視するListenerに通知されたEventをRootModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ObservableCollectionChangeEvent}
+	 */
+	public void fireDomainsCollectionChangeEvent(ObservableCollectionChangeEvent<List<DomainModel>, DomainModel> event) {
+		for (RootModelChangeListener l : listeners) {
+			l.domainCollectionChange(event);
+		}
+	}
+	
+	/**
+	 * diagramPresentationsのcollectionを監視するListenerに通知されたEventをRootModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ObservableCollectionChangeEvent}
+	 */
+	public void fireDiagramPresentationsCollectionChangeEvent(
+			ObservableCollectionChangeEvent<List<DiagramPresentationModel>, DiagramPresentationModel> event) {
+		for (RootModelChangeListener l : listeners) {
+			l.diagramPresentationCollectionChange(event);
+		}
+	}
+	
+	/**
+	 * insertDataSetsのcollectionを監視するListenerに通知されたEventをRootModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ObservableCollectionChangeEvent}
+	 */
+	public void fireInsertDataSetsCollectionChangeEvent(
+			ObservableCollectionChangeEvent<List<InsertDataSetModel>, InsertDataSetModel> event) {
+		for (RootModelChangeListener l : listeners) {
+			l.insertDataSetCollectionChange(event);
+		}
+	}
+	
+	/**
+	 * RootModel自身を監視するListenerに通知されたEventをRootModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ModelChangeEvent}
+	 */
+	public void fireModelChange(ModelChangeEvent event) {
+		for (RootModelChangeListener l : listeners) {
+			l.modelChanged(event);
+		}
+	}
+	
+	/**
+	 * RootModel自身のEventを監視するListenerを削除する。
+	 * 
+	 * @param l {@link RootModelChangeListener}
+	 * @see #addRootModelChangeListener(RootModelChangeListener)
+	 */
+	public void removeRootModelChangeListener(RootModelChangeListener l) {
+		listeners.remove(l);
+	}
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/RootModelChangeSupport.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/TableModelChangeListener.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/TableModelChangeListener.java	2008-09-15 10:38:22 UTC (rev 1919)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/TableModelChangeListener.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -1,20 +1,16 @@
 /*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
- * Created on 2008/06/29
- *
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/06/29
+ * 
  * 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.
+ * 
+ * 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.core.event.model;
 

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/TableModelChangeSupport.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/TableModelChangeSupport.java	2008-09-15 10:38:22 UTC (rev 1919)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/TableModelChangeSupport.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -1,20 +1,16 @@
 /*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
- * Created on 2008/07/02
- *
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/07/02
+ * 
  * 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.
+ * 
+ * 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.core.event.model;
 

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/connection/ForeignKeyMappingChangeListener.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/connection/ForeignKeyMappingChangeListener.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/connection/ForeignKeyMappingChangeListener.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/06/29
+ * 
+ * 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.core.event.model.connection;
+
+import org.jiemamy.core.event.ModelChangeListener;
+
+/**
+ * ForeignKeyMapping用のListener
+ * 
+ * @author shin1ogawa
+ */
+public interface ForeignKeyMappingChangeListener extends ModelChangeListener {
+	
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/connection/ForeignKeyMappingChangeListener.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/connection/ForeignKeyMappingChangeSupport.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/connection/ForeignKeyMappingChangeSupport.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/connection/ForeignKeyMappingChangeSupport.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,90 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/07/02
+ * 
+ * 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.core.event.model.connection;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jiemamy.core.event.ModelChangeEvent;
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.model.connection.ForeignKeyMapping;
+
+/**
+ * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、ForeignKeyMappingからそれらを引き受ける。
+ * 
+ * @author shin1ogawa
+ */
+public class ForeignKeyMappingChangeSupport {
+	
+	/** ForeignKeyMapping自身のEventを監視するListenerのリスト */
+	private List<ForeignKeyMappingChangeListener> listeners = new ArrayList<ForeignKeyMappingChangeListener>();
+	
+	/**
+	 * ForeignKeyMappingの属性の変更Eventを処理するListener
+	 * 
+	 * @see #fireModelChange(ModelChangeEvent)
+	 */
+	private ModelChangeListener foreignKeyMappingChangeListener = new ModelChangeListener() {
+		
+		/**
+		 * {@inheritDoc}
+		 */
+		public void modelChanged(ModelChangeEvent event) {
+			fireModelChange(event);
+		}
+	};
+	
+
+	/**
+	 * コンストラクタ。
+	 * 
+	 * @param source {@link ForeignKeyMapping}
+	 * @category instance creation
+	 */
+	public ForeignKeyMappingChangeSupport(ForeignKeyMapping source) {
+		source.addModelChangeListener(foreignKeyMappingChangeListener);
+	}
+	
+	/**
+	 * ForeignKeyMapping自身のEventを監視するListenerを追加する。
+	 * 
+	 * @param l {@link ForeignKeyMappingChangeListener}
+	 * @see #removeForeignKeyMappingChangeListener(ForeignKeyMappingChangeListener)
+	 */
+	public void addForeignKeyMappingChangeListener(ForeignKeyMappingChangeListener l) {
+		listeners.add(l);
+	}
+	
+	/**
+	 * ForeignKeyMapping自身を監視するListenerに通知されたEventをForeignKeyMappingの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ModelChangeEvent}
+	 */
+	public void fireModelChange(ModelChangeEvent event) {
+		for (ForeignKeyMappingChangeListener l : listeners) {
+			l.modelChanged(event);
+		}
+	}
+	
+	/**
+	 * ForeignKeyMapping自身のEventを監視するListenerを削除する。
+	 * 
+	 * @param l {@link ForeignKeyMappingChangeListener}
+	 * @see #addForeignKeyMappingChangeListener(ForeignKeyMappingChangeListener)
+	 */
+	public void removeForeignKeyMappingChangeListener(ForeignKeyMappingChangeListener l) {
+		listeners.remove(l);
+	}
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/connection/ForeignKeyMappingChangeSupport.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/connection/InheritanceModelChangeListener.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/connection/InheritanceModelChangeListener.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/connection/InheritanceModelChangeListener.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/06/29
+ * 
+ * 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.core.event.model.connection;
+
+import org.jiemamy.core.event.ModelChangeListener;
+
+/**
+ * InheritanceModel用のListener
+ * 
+ * @author shin1ogawa
+ */
+public interface InheritanceModelChangeListener extends ModelChangeListener {
+	
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/connection/InheritanceModelChangeListener.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/connection/InheritanceModelChangeSupport.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/connection/InheritanceModelChangeSupport.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/connection/InheritanceModelChangeSupport.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,90 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/07/02
+ * 
+ * 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.core.event.model.connection;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jiemamy.core.event.ModelChangeEvent;
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.model.connection.InheritanceModel;
+
+/**
+ * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、InheritanceModelからそれらを引き受ける。
+ * 
+ * @author shin1ogawa
+ */
+public class InheritanceModelChangeSupport {
+	
+	/** InheritanceModel自身のEventを監視するListenerのリスト */
+	private List<InheritanceModelChangeListener> listeners = new ArrayList<InheritanceModelChangeListener>();
+	
+	/**
+	 * InheritanceModelの属性の変更Eventを処理するListener
+	 * 
+	 * @see #fireModelChange(ModelChangeEvent)
+	 */
+	private ModelChangeListener inheritanceModelChangeListener = new ModelChangeListener() {
+		
+		/**
+		 * {@inheritDoc}
+		 */
+		public void modelChanged(ModelChangeEvent event) {
+			fireModelChange(event);
+		}
+	};
+	
+
+	/**
+	 * コンストラクタ。
+	 * 
+	 * @param source {@link InheritanceModel}
+	 * @category instance creation
+	 */
+	public InheritanceModelChangeSupport(InheritanceModel source) {
+		source.addModelChangeListener(inheritanceModelChangeListener);
+	}
+	
+	/**
+	 * InheritanceModel自身のEventを監視するListenerを追加する。
+	 * 
+	 * @param l {@link InheritanceModelChangeListener}
+	 * @see #removeInheritanceModelChangeListener(InheritanceModelChangeListener)
+	 */
+	public void addInheritanceModelChangeListener(InheritanceModelChangeListener l) {
+		listeners.add(l);
+	}
+	
+	/**
+	 * InheritanceModel自身を監視するListenerに通知されたEventをInheritanceModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ModelChangeEvent}
+	 */
+	public void fireModelChange(ModelChangeEvent event) {
+		for (InheritanceModelChangeListener l : listeners) {
+			l.modelChanged(event);
+		}
+	}
+	
+	/**
+	 * InheritanceModel自身のEventを監視するListenerを削除する。
+	 * 
+	 * @param l {@link InheritanceModelChangeListener}
+	 * @see #addInheritanceModelChangeListener(InheritanceModelChangeListener)
+	 */
+	public void removeInheritanceModelChangeListener(InheritanceModelChangeListener l) {
+		listeners.remove(l);
+	}
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/connection/InheritanceModelChangeSupport.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/dataset/InsertDataSetModelChangeListener.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/dataset/InsertDataSetModelChangeListener.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/dataset/InsertDataSetModelChangeListener.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/06/29
+ * 
+ * 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.core.event.model.dataset;
+
+import java.util.Map;
+
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.event.ObservableCollectionChangeEvent;
+import org.jiemamy.core.model.dataset.InsertDataSetModel;
+import org.jiemamy.core.model.node.AbstractEntityModel;
+
+/**
+ * InsertDataSetModel用のListener
+ * 
+ * @author shin1ogawa
+ */
+public interface InsertDataSetModelChangeListener extends ModelChangeListener {
+	
+	/**
+	 * {@link InsertDataSetModel}が保持する{@link  java.util.List<org.jiemamy.core.model.dataset.RecordModel>}のCollectionに対する変更を処理する。
+	 * 
+	 * @param event
+	 */
+	void recordCollectionChange(
+			ObservableCollectionChangeEvent<Map<AbstractEntityModel, java.util.List<org.jiemamy.core.model.dataset.RecordModel>>, java.util.List<org.jiemamy.core.model.dataset.RecordModel>> event);
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/dataset/InsertDataSetModelChangeListener.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/dataset/InsertDataSetModelChangeSupport.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/dataset/InsertDataSetModelChangeSupport.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/dataset/InsertDataSetModelChangeSupport.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,127 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/07/02
+ * 
+ * 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.core.event.model.dataset;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.jiemamy.core.event.ModelChangeEvent;
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.event.ObservableCollectionChangeEvent;
+import org.jiemamy.core.event.ObservableCollectionChangeListener;
+import org.jiemamy.core.model.dataset.InsertDataSetModel;
+import org.jiemamy.core.model.node.AbstractEntityModel;
+import org.jiemamy.core.utils.collectionimpl.ObservableMap;
+
+/**
+ * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、InsertDataSetModelからそれらを引き受ける。
+ * 
+ * @author shin1ogawa
+ */
+public class InsertDataSetModelChangeSupport {
+	
+	/** InsertDataSetModel自身のEventを監視するListenerのリスト */
+	private List<InsertDataSetModelChangeListener> listeners = new ArrayList<InsertDataSetModelChangeListener>();
+	
+	/** 
+	 * recordsのリストを監視するListener 
+	 * 
+	 * @see ObservableCollectionChangeListener
+	 * @see #fireRecordsCollectionChangeEvent(ObservableCollectionChangeEvent)
+	 */
+	private ObservableCollectionChangeListener<Map<AbstractEntityModel, java.util.List<org.jiemamy.core.model.dataset.RecordModel>>, java.util.List<org.jiemamy.core.model.dataset.RecordModel>> recordsCollectionChangeListener =
+			new ObservableCollectionChangeListener<Map<AbstractEntityModel, java.util.List<org.jiemamy.core.model.dataset.RecordModel>>, java.util.List<org.jiemamy.core.model.dataset.RecordModel>>() {
+				
+				/**
+				 * {@inheritDoc}
+				 */
+				public void collectionChanged(
+						ObservableCollectionChangeEvent<Map<AbstractEntityModel, java.util.List<org.jiemamy.core.model.dataset.RecordModel>>, java.util.List<org.jiemamy.core.model.dataset.RecordModel>> event) {
+					fireRecordsCollectionChangeEvent(event);
+				}
+			};
+	
+	/**
+	 * InsertDataSetModelの属性の変更Eventを処理するListener
+	 * 
+	 * @see #fireModelChange(ModelChangeEvent)
+	 */
+	private ModelChangeListener insertDataSetModelChangeListener = new ModelChangeListener() {
+		
+		/**
+		 * {@inheritDoc}
+		 */
+		public void modelChanged(ModelChangeEvent event) {
+			fireModelChange(event);
+		}
+	};
+	
+
+	/**
+	 * コンストラクタ。
+	 * 
+	 * @param source {@link InsertDataSetModel}
+	 * @category instance creation
+	 */
+	public InsertDataSetModelChangeSupport(InsertDataSetModel source) {
+		source.addModelChangeListener(insertDataSetModelChangeListener);
+		((ObservableMap<AbstractEntityModel, java.util.List<org.jiemamy.core.model.dataset.RecordModel>>) source
+			.getRecords()).addListener(recordsCollectionChangeListener);
+	}
+	
+	/**
+	 * InsertDataSetModel自身のEventを監視するListenerを追加する。
+	 * 
+	 * @param l {@link InsertDataSetModelChangeListener}
+	 * @see #removeInsertDataSetModelChangeListener(InsertDataSetModelChangeListener)
+	 */
+	public void addInsertDataSetModelChangeListener(InsertDataSetModelChangeListener l) {
+		listeners.add(l);
+	}
+	
+	/**
+	 * recordsのcollectionを監視するListenerに通知されたEventをInsertDataSetModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ObservableCollectionChangeEvent}
+	 */
+	public void fireRecordsCollectionChangeEvent(
+			ObservableCollectionChangeEvent<Map<AbstractEntityModel, java.util.List<org.jiemamy.core.model.dataset.RecordModel>>, java.util.List<org.jiemamy.core.model.dataset.RecordModel>> event) {
+		for (InsertDataSetModelChangeListener l : listeners) {
+			l.recordCollectionChange(event);
+		}
+	}
+	
+	/**
+	 * InsertDataSetModel自身を監視するListenerに通知されたEventをInsertDataSetModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ModelChangeEvent}
+	 */
+	public void fireModelChange(ModelChangeEvent event) {
+		for (InsertDataSetModelChangeListener l : listeners) {
+			l.modelChanged(event);
+		}
+	}
+	
+	/**
+	 * InsertDataSetModel自身のEventを監視するListenerを削除する。
+	 * 
+	 * @param l {@link InsertDataSetModelChangeListener}
+	 * @see #addInsertDataSetModelChangeListener(InsertDataSetModelChangeListener)
+	 */
+	public void removeInsertDataSetModelChangeListener(InsertDataSetModelChangeListener l) {
+		listeners.remove(l);
+	}
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/dataset/InsertDataSetModelChangeSupport.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/dataset/RecordModelChangeListener.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/dataset/RecordModelChangeListener.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/dataset/RecordModelChangeListener.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/06/29
+ * 
+ * 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.core.event.model.dataset;
+
+import java.util.Map;
+
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.event.ObservableCollectionChangeEvent;
+import org.jiemamy.core.model.dataset.RecordModel;
+import org.jiemamy.core.model.typedef.ColumnModel;
+
+/**
+ * RecordModel用のListener
+ * 
+ * @author shin1ogawa
+ */
+public interface RecordModelChangeListener extends ModelChangeListener {
+	
+	/**
+	 * {@link RecordModel}が保持する{@link  java.lang.String}のCollectionに対する変更を処理する。
+	 * 
+	 * @param event
+	 */
+	void valuCollectionChange(ObservableCollectionChangeEvent<Map<ColumnModel, String>, String> event);
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/dataset/RecordModelChangeListener.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/dataset/RecordModelChangeSupport.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/dataset/RecordModelChangeSupport.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/dataset/RecordModelChangeSupport.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,124 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/07/02
+ * 
+ * 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.core.event.model.dataset;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.jiemamy.core.event.ModelChangeEvent;
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.event.ObservableCollectionChangeEvent;
+import org.jiemamy.core.event.ObservableCollectionChangeListener;
+import org.jiemamy.core.model.dataset.RecordModel;
+import org.jiemamy.core.model.typedef.ColumnModel;
+import org.jiemamy.core.utils.collectionimpl.ObservableMap;
+
+/**
+ * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、RecordModelからそれらを引き受ける。
+ * 
+ * @author shin1ogawa
+ */
+public class RecordModelChangeSupport {
+	
+	/** RecordModel自身のEventを監視するListenerのリスト */
+	private List<RecordModelChangeListener> listeners = new ArrayList<RecordModelChangeListener>();
+	
+	/** 
+	 * valuesのリストを監視するListener 
+	 * 
+	 * @see ObservableCollectionChangeListener
+	 * @see #fireValuesCollectionChangeEvent(ObservableCollectionChangeEvent)
+	 */
+	private ObservableCollectionChangeListener<Map<ColumnModel, String>, String> valuesCollectionChangeListener =
+			new ObservableCollectionChangeListener<Map<ColumnModel, String>, String>() {
+				
+				/**
+				 * {@inheritDoc}
+				 */
+				public void collectionChanged(ObservableCollectionChangeEvent<Map<ColumnModel, String>, String> event) {
+					fireValuesCollectionChangeEvent(event);
+				}
+			};
+	
+	/**
+	 * RecordModelの属性の変更Eventを処理するListener
+	 * 
+	 * @see #fireModelChange(ModelChangeEvent)
+	 */
+	private ModelChangeListener recordModelChangeListener = new ModelChangeListener() {
+		
+		/**
+		 * {@inheritDoc}
+		 */
+		public void modelChanged(ModelChangeEvent event) {
+			fireModelChange(event);
+		}
+	};
+	
+
+	/**
+	 * コンストラクタ。
+	 * 
+	 * @param source {@link RecordModel}
+	 * @category instance creation
+	 */
+	public RecordModelChangeSupport(RecordModel source) {
+		source.addModelChangeListener(recordModelChangeListener);
+		((ObservableMap<ColumnModel, String>) source.getValues()).addListener(valuesCollectionChangeListener);
+	}
+	
+	/**
+	 * RecordModel自身のEventを監視するListenerを追加する。
+	 * 
+	 * @param l {@link RecordModelChangeListener}
+	 * @see #removeRecordModelChangeListener(RecordModelChangeListener)
+	 */
+	public void addRecordModelChangeListener(RecordModelChangeListener l) {
+		listeners.add(l);
+	}
+	
+	/**
+	 * valuesのcollectionを監視するListenerに通知されたEventをRecordModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ObservableCollectionChangeEvent}
+	 */
+	public void fireValuesCollectionChangeEvent(ObservableCollectionChangeEvent<Map<ColumnModel, String>, String> event) {
+		for (RecordModelChangeListener l : listeners) {
+			l.valuCollectionChange(event);
+		}
+	}
+	
+	/**
+	 * RecordModel自身を監視するListenerに通知されたEventをRecordModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ModelChangeEvent}
+	 */
+	public void fireModelChange(ModelChangeEvent event) {
+		for (RecordModelChangeListener l : listeners) {
+			l.modelChanged(event);
+		}
+	}
+	
+	/**
+	 * RecordModel自身のEventを監視するListenerを削除する。
+	 * 
+	 * @param l {@link RecordModelChangeListener}
+	 * @see #addRecordModelChangeListener(RecordModelChangeListener)
+	 */
+	public void removeRecordModelChangeListener(RecordModelChangeListener l) {
+		listeners.remove(l);
+	}
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/dataset/RecordModelChangeSupport.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/AbstractNodeModelChangeListener.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/AbstractNodeModelChangeListener.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/AbstractNodeModelChangeListener.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/06/29
+ * 
+ * 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.core.event.model.node;
+
+import java.util.List;
+
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.event.ObservableCollectionChangeEvent;
+import org.jiemamy.core.model.connection.AbstractConnectionModel;
+import org.jiemamy.core.model.node.AbstractNodeModel;
+
+/**
+ * AbstractNodeModel用のListener
+ * 
+ * @author shin1ogawa
+ */
+public interface AbstractNodeModelChangeListener extends ModelChangeListener {
+	
+	/**
+	 * {@link AbstractNodeModel}が保持する{@link org.jiemamy.core.model.connection.AbstractConnectionModel}のCollectionに対する変更を処理する。
+	 * 
+	 * @param event
+	 */
+	void sourceConnectionCollectionChange(
+			ObservableCollectionChangeEvent<List<AbstractConnectionModel>, AbstractConnectionModel> event);
+	
+	/**
+	 * {@link AbstractNodeModel}が保持する{@link org.jiemamy.core.model.connection.AbstractConnectionModel}のCollectionに対する変更を処理する。
+	 * 
+	 * @param event
+	 */
+	void targetConnectionCollectionChange(
+			ObservableCollectionChangeEvent<List<AbstractConnectionModel>, AbstractConnectionModel> event);
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/AbstractNodeModelChangeListener.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/AbstractNodeModelChangeSupport.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/AbstractNodeModelChangeSupport.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/AbstractNodeModelChangeSupport.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,158 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/07/02
+ * 
+ * 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.core.event.model.node;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jiemamy.core.event.ModelChangeEvent;
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.event.ObservableCollectionChangeEvent;
+import org.jiemamy.core.event.ObservableCollectionChangeListener;
+import org.jiemamy.core.model.connection.AbstractConnectionModel;
+import org.jiemamy.core.model.node.AbstractNodeModel;
+import org.jiemamy.core.utils.collectionimpl.ObservableList;
+
+/**
+ * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、AbstractNodeModelからそれらを引き受ける。
+ * 
+ * @author shin1ogawa
+ */
+public class AbstractNodeModelChangeSupport {
+	
+	/** AbstractNodeModel自身のEventを監視するListenerのリスト */
+	private List<AbstractNodeModelChangeListener> listeners = new ArrayList<AbstractNodeModelChangeListener>();
+	
+	/** 
+	 * sourceConnectionsのリストを監視するListener 
+	 * 
+	 * @see ObservableCollectionChangeListener
+	 * @see #fireSourceConnectionsCollectionChangeEvent(ObservableCollectionChangeEvent)
+	 */
+	private ObservableCollectionChangeListener<List<AbstractConnectionModel>, AbstractConnectionModel> sourceConnectionsCollectionChangeListener =
+			new ObservableCollectionChangeListener<List<AbstractConnectionModel>, AbstractConnectionModel>() {
+				
+				/**
+				 * {@inheritDoc}
+				 */
+				public void collectionChanged(
+						ObservableCollectionChangeEvent<List<AbstractConnectionModel>, AbstractConnectionModel> event) {
+					fireSourceConnectionsCollectionChangeEvent(event);
+				}
+			};
+	
+	/** 
+	 * targetConnectionsのリストを監視するListener 
+	 * 
+	 * @see ObservableCollectionChangeListener
+	 * @see #fireTargetConnectionsCollectionChangeEvent(ObservableCollectionChangeEvent)
+	 */
+	private ObservableCollectionChangeListener<List<AbstractConnectionModel>, AbstractConnectionModel> targetConnectionsCollectionChangeListener =
+			new ObservableCollectionChangeListener<List<AbstractConnectionModel>, AbstractConnectionModel>() {
+				
+				/**
+				 * {@inheritDoc}
+				 */
+				public void collectionChanged(
+						ObservableCollectionChangeEvent<List<AbstractConnectionModel>, AbstractConnectionModel> event) {
+					fireTargetConnectionsCollectionChangeEvent(event);
+				}
+			};
+	
+	/**
+	 * AbstractNodeModelの属性の変更Eventを処理するListener
+	 * 
+	 * @see #fireModelChange(ModelChangeEvent)
+	 */
+	private ModelChangeListener abstractNodeModelChangeListener = new ModelChangeListener() {
+		
+		/**
+		 * {@inheritDoc}
+		 */
+		public void modelChanged(ModelChangeEvent event) {
+			fireModelChange(event);
+		}
+	};
+	
+
+	/**
+	 * コンストラクタ。
+	 * 
+	 * @param source {@link AbstractNodeModel}
+	 * @category instance creation
+	 */
+	public AbstractNodeModelChangeSupport(AbstractNodeModel source) {
+		source.addModelChangeListener(abstractNodeModelChangeListener);
+		((ObservableList<AbstractConnectionModel>) source.getSourceConnections())
+			.addListener(sourceConnectionsCollectionChangeListener);
+		((ObservableList<AbstractConnectionModel>) source.getTargetConnections())
+			.addListener(targetConnectionsCollectionChangeListener);
+	}
+	
+	/**
+	 * AbstractNodeModel自身のEventを監視するListenerを追加する。
+	 * 
+	 * @param l {@link AbstractNodeModelChangeListener}
+	 * @see #removeAbstractNodeModelChangeListener(AbstractNodeModelChangeListener)
+	 */
+	public void addAbstractNodeModelChangeListener(AbstractNodeModelChangeListener l) {
+		listeners.add(l);
+	}
+	
+	/**
+	 * sourceConnectionsのcollectionを監視するListenerに通知されたEventをAbstractNodeModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ObservableCollectionChangeEvent}
+	 */
+	public void fireSourceConnectionsCollectionChangeEvent(
+			ObservableCollectionChangeEvent<List<AbstractConnectionModel>, AbstractConnectionModel> event) {
+		for (AbstractNodeModelChangeListener l : listeners) {
+			l.sourceConnectionCollectionChange(event);
+		}
+	}
+	
+	/**
+	 * targetConnectionsのcollectionを監視するListenerに通知されたEventをAbstractNodeModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ObservableCollectionChangeEvent}
+	 */
+	public void fireTargetConnectionsCollectionChangeEvent(
+			ObservableCollectionChangeEvent<List<AbstractConnectionModel>, AbstractConnectionModel> event) {
+		for (AbstractNodeModelChangeListener l : listeners) {
+			l.targetConnectionCollectionChange(event);
+		}
+	}
+	
+	/**
+	 * AbstractNodeModel自身を監視するListenerに通知されたEventをAbstractNodeModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ModelChangeEvent}
+	 */
+	public void fireModelChange(ModelChangeEvent event) {
+		for (AbstractNodeModelChangeListener l : listeners) {
+			l.modelChanged(event);
+		}
+	}
+	
+	/**
+	 * AbstractNodeModel自身のEventを監視するListenerを削除する。
+	 * 
+	 * @param l {@link AbstractNodeModelChangeListener}
+	 * @see #addAbstractNodeModelChangeListener(AbstractNodeModelChangeListener)
+	 */
+	public void removeAbstractNodeModelChangeListener(AbstractNodeModelChangeListener l) {
+		listeners.remove(l);
+	}
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/AbstractNodeModelChangeSupport.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/StickyModelChangeListener.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/StickyModelChangeListener.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/StickyModelChangeListener.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/06/29
+ * 
+ * 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.core.event.model.node;
+
+import org.jiemamy.core.event.ModelChangeListener;
+
+/**
+ * StickyModel用のListener
+ * 
+ * @author shin1ogawa
+ */
+public interface StickyModelChangeListener extends ModelChangeListener {
+	
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/StickyModelChangeListener.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/StickyModelChangeSupport.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/StickyModelChangeSupport.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/StickyModelChangeSupport.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,90 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/07/02
+ * 
+ * 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.core.event.model.node;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jiemamy.core.event.ModelChangeEvent;
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.model.node.StickyModel;
+
+/**
+ * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、StickyModelからそれらを引き受ける。
+ * 
+ * @author shin1ogawa
+ */
+public class StickyModelChangeSupport {
+	
+	/** StickyModel自身のEventを監視するListenerのリスト */
+	private List<StickyModelChangeListener> listeners = new ArrayList<StickyModelChangeListener>();
+	
+	/**
+	 * StickyModelの属性の変更Eventを処理するListener
+	 * 
+	 * @see #fireModelChange(ModelChangeEvent)
+	 */
+	private ModelChangeListener stickyModelChangeListener = new ModelChangeListener() {
+		
+		/**
+		 * {@inheritDoc}
+		 */
+		public void modelChanged(ModelChangeEvent event) {
+			fireModelChange(event);
+		}
+	};
+	
+
+	/**
+	 * コンストラクタ。
+	 * 
+	 * @param source {@link StickyModel}
+	 * @category instance creation
+	 */
+	public StickyModelChangeSupport(StickyModel source) {
+		source.addModelChangeListener(stickyModelChangeListener);
+	}
+	
+	/**
+	 * StickyModel自身のEventを監視するListenerを追加する。
+	 * 
+	 * @param l {@link StickyModelChangeListener}
+	 * @see #removeStickyModelChangeListener(StickyModelChangeListener)
+	 */
+	public void addStickyModelChangeListener(StickyModelChangeListener l) {
+		listeners.add(l);
+	}
+	
+	/**
+	 * StickyModel自身を監視するListenerに通知されたEventをStickyModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ModelChangeEvent}
+	 */
+	public void fireModelChange(ModelChangeEvent event) {
+		for (StickyModelChangeListener l : listeners) {
+			l.modelChanged(event);
+		}
+	}
+	
+	/**
+	 * StickyModel自身のEventを監視するListenerを削除する。
+	 * 
+	 * @param l {@link StickyModelChangeListener}
+	 * @see #addStickyModelChangeListener(StickyModelChangeListener)
+	 */
+	public void removeStickyModelChangeListener(StickyModelChangeListener l) {
+		listeners.remove(l);
+	}
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/StickyModelChangeSupport.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/TableModelChangeListener.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/TableModelChangeListener.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/TableModelChangeListener.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/06/29
+ * 
+ * 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.core.event.model.node;
+
+import java.util.List;
+
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.event.ObservableCollectionChangeEvent;
+import org.jiemamy.core.model.node.TableModel;
+import org.jiemamy.core.model.node.index.IndexModel;
+import org.jiemamy.core.model.typedef.ColumnModel;
+import org.jiemamy.core.model.typedef.constraint.CheckConstraintModel;
+
+/**
+ * TableModel用のListener
+ * 
+ * @author shin1ogawa
+ */
+public interface TableModelChangeListener extends ModelChangeListener {
+	
+	/**
+	 * {@link TableModel}が保持する{@link org.jiemamy.core.model.typedef.ColumnModel}のCollectionに対する変更を処理する。
+	 * 
+	 * @param event
+	 */
+	void columnCollectionChange(ObservableCollectionChangeEvent<List<ColumnModel>, ColumnModel> event);
+	
+	/**
+	 * {@link TableModel}が保持する{@link org.jiemamy.core.model.node.index.IndexModel}のCollectionに対する変更を処理する。
+	 * 
+	 * @param event
+	 */
+	void indexCollectionChange(ObservableCollectionChangeEvent<List<IndexModel>, IndexModel> event);
+	
+	/**
+	 * {@link TableModel}が保持する{@link org.jiemamy.core.model.typedef.constraint.CheckConstraintModel}のCollectionに対する変更を処理する。
+	 * 
+	 * @param event
+	 */
+	void checkCollectionChange(ObservableCollectionChangeEvent<List<CheckConstraintModel>, CheckConstraintModel> event);
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/TableModelChangeListener.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/TableModelChangeSupport.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/TableModelChangeSupport.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/TableModelChangeSupport.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,185 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/07/02
+ * 
+ * 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.core.event.model.node;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jiemamy.core.event.ModelChangeEvent;
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.event.ObservableCollectionChangeEvent;
+import org.jiemamy.core.event.ObservableCollectionChangeListener;
+import org.jiemamy.core.model.node.TableModel;
+import org.jiemamy.core.model.node.index.IndexModel;
+import org.jiemamy.core.model.typedef.ColumnModel;
+import org.jiemamy.core.model.typedef.constraint.CheckConstraintModel;
+import org.jiemamy.core.utils.collectionimpl.ObservableList;
+
+/**
+ * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、TableModelからそれらを引き受ける。
+ * 
+ * @author shin1ogawa
+ */
+public class TableModelChangeSupport {
+	
+	/** TableModel自身のEventを監視するListenerのリスト */
+	private List<TableModelChangeListener> listeners = new ArrayList<TableModelChangeListener>();
+	
+	/** 
+	 * columnsのリストを監視するListener 
+	 * 
+	 * @see ObservableCollectionChangeListener
+	 * @see #fireColumnsCollectionChangeEvent(ObservableCollectionChangeEvent)
+	 */
+	private ObservableCollectionChangeListener<List<ColumnModel>, ColumnModel> columnsCollectionChangeListener =
+			new ObservableCollectionChangeListener<List<ColumnModel>, ColumnModel>() {
+				
+				/**
+				 * {@inheritDoc}
+				 */
+				public void collectionChanged(ObservableCollectionChangeEvent<List<ColumnModel>, ColumnModel> event) {
+					fireColumnsCollectionChangeEvent(event);
+				}
+			};
+	
+	/** 
+	 * indexesのリストを監視するListener 
+	 * 
+	 * @see ObservableCollectionChangeListener
+	 * @see #fireIndexesCollectionChangeEvent(ObservableCollectionChangeEvent)
+	 */
+	private ObservableCollectionChangeListener<List<IndexModel>, IndexModel> indexesCollectionChangeListener =
+			new ObservableCollectionChangeListener<List<IndexModel>, IndexModel>() {
+				
+				/**
+				 * {@inheritDoc}
+				 */
+				public void collectionChanged(ObservableCollectionChangeEvent<List<IndexModel>, IndexModel> event) {
+					fireIndexesCollectionChangeEvent(event);
+				}
+			};
+	
+	/** 
+	 * checksのリストを監視するListener 
+	 * 
+	 * @see ObservableCollectionChangeListener
+	 * @see #fireChecksCollectionChangeEvent(ObservableCollectionChangeEvent)
+	 */
+	private ObservableCollectionChangeListener<List<CheckConstraintModel>, CheckConstraintModel> checksCollectionChangeListener =
+			new ObservableCollectionChangeListener<List<CheckConstraintModel>, CheckConstraintModel>() {
+				
+				/**
+				 * {@inheritDoc}
+				 */
+				public void collectionChanged(
+						ObservableCollectionChangeEvent<List<CheckConstraintModel>, CheckConstraintModel> event) {
+					fireChecksCollectionChangeEvent(event);
+				}
+			};
+	
+	/**
+	 * TableModelの属性の変更Eventを処理するListener
+	 * 
+	 * @see #fireModelChange(ModelChangeEvent)
+	 */
+	private ModelChangeListener tableModelChangeListener = new ModelChangeListener() {
+		
+		/**
+		 * {@inheritDoc}
+		 */
+		public void modelChanged(ModelChangeEvent event) {
+			fireModelChange(event);
+		}
+	};
+	
+
+	/**
+	 * コンストラクタ。
+	 * 
+	 * @param source {@link TableModel}
+	 * @category instance creation
+	 */
+	public TableModelChangeSupport(TableModel source) {
+		source.addModelChangeListener(tableModelChangeListener);
+		((ObservableList<ColumnModel>) source.getColumns()).addListener(columnsCollectionChangeListener);
+		((ObservableList<IndexModel>) source.getIndexes()).addListener(indexesCollectionChangeListener);
+		((ObservableList<CheckConstraintModel>) source.getChecks()).addListener(checksCollectionChangeListener);
+	}
+	
+	/**
+	 * TableModel自身のEventを監視するListenerを追加する。
+	 * 
+	 * @param l {@link TableModelChangeListener}
+	 * @see #removeTableModelChangeListener(TableModelChangeListener)
+	 */
+	public void addTableModelChangeListener(TableModelChangeListener l) {
+		listeners.add(l);
+	}
+	
+	/**
+	 * columnsのcollectionを監視するListenerに通知されたEventをTableModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ObservableCollectionChangeEvent}
+	 */
+	public void fireColumnsCollectionChangeEvent(ObservableCollectionChangeEvent<List<ColumnModel>, ColumnModel> event) {
+		for (TableModelChangeListener l : listeners) {
+			l.columnCollectionChange(event);
+		}
+	}
+	
+	/**
+	 * indexesのcollectionを監視するListenerに通知されたEventをTableModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ObservableCollectionChangeEvent}
+	 */
+	public void fireIndexesCollectionChangeEvent(ObservableCollectionChangeEvent<List<IndexModel>, IndexModel> event) {
+		for (TableModelChangeListener l : listeners) {
+			l.indexCollectionChange(event);
+		}
+	}
+	
+	/**
+	 * checksのcollectionを監視するListenerに通知されたEventをTableModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ObservableCollectionChangeEvent}
+	 */
+	public void fireChecksCollectionChangeEvent(
+			ObservableCollectionChangeEvent<List<CheckConstraintModel>, CheckConstraintModel> event) {
+		for (TableModelChangeListener l : listeners) {
+			l.checkCollectionChange(event);
+		}
+	}
+	
+	/**
+	 * TableModel自身を監視するListenerに通知されたEventをTableModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ModelChangeEvent}
+	 */
+	public void fireModelChange(ModelChangeEvent event) {
+		for (TableModelChangeListener l : listeners) {
+			l.modelChanged(event);
+		}
+	}
+	
+	/**
+	 * TableModel自身のEventを監視するListenerを削除する。
+	 * 
+	 * @param l {@link TableModelChangeListener}
+	 * @see #addTableModelChangeListener(TableModelChangeListener)
+	 */
+	public void removeTableModelChangeListener(TableModelChangeListener l) {
+		listeners.remove(l);
+	}
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/TableModelChangeSupport.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/ViewModelChangeListener.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/ViewModelChangeListener.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/ViewModelChangeListener.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/06/29
+ * 
+ * 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.core.event.model.node;
+
+import org.jiemamy.core.event.ModelChangeListener;
+
+/**
+ * ViewModel用のListener
+ * 
+ * @author shin1ogawa
+ */
+public interface ViewModelChangeListener extends ModelChangeListener {
+	
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/ViewModelChangeListener.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/ViewModelChangeSupport.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/ViewModelChangeSupport.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/ViewModelChangeSupport.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,90 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/07/02
+ * 
+ * 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.core.event.model.node;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jiemamy.core.event.ModelChangeEvent;
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.model.node.ViewModel;
+
+/**
+ * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、ViewModelからそれらを引き受ける。
+ * 
+ * @author shin1ogawa
+ */
+public class ViewModelChangeSupport {
+	
+	/** ViewModel自身のEventを監視するListenerのリスト */
+	private List<ViewModelChangeListener> listeners = new ArrayList<ViewModelChangeListener>();
+	
+	/**
+	 * ViewModelの属性の変更Eventを処理するListener
+	 * 
+	 * @see #fireModelChange(ModelChangeEvent)
+	 */
+	private ModelChangeListener viewModelChangeListener = new ModelChangeListener() {
+		
+		/**
+		 * {@inheritDoc}
+		 */
+		public void modelChanged(ModelChangeEvent event) {
+			fireModelChange(event);
+		}
+	};
+	
+
+	/**
+	 * コンストラクタ。
+	 * 
+	 * @param source {@link ViewModel}
+	 * @category instance creation
+	 */
+	public ViewModelChangeSupport(ViewModel source) {
+		source.addModelChangeListener(viewModelChangeListener);
+	}
+	
+	/**
+	 * ViewModel自身のEventを監視するListenerを追加する。
+	 * 
+	 * @param l {@link ViewModelChangeListener}
+	 * @see #removeViewModelChangeListener(ViewModelChangeListener)
+	 */
+	public void addViewModelChangeListener(ViewModelChangeListener l) {
+		listeners.add(l);
+	}
+	
+	/**
+	 * ViewModel自身を監視するListenerに通知されたEventをViewModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ModelChangeEvent}
+	 */
+	public void fireModelChange(ModelChangeEvent event) {
+		for (ViewModelChangeListener l : listeners) {
+			l.modelChanged(event);
+		}
+	}
+	
+	/**
+	 * ViewModel自身のEventを監視するListenerを削除する。
+	 * 
+	 * @param l {@link ViewModelChangeListener}
+	 * @see #addViewModelChangeListener(ViewModelChangeListener)
+	 */
+	public void removeViewModelChangeListener(ViewModelChangeListener l) {
+		listeners.remove(l);
+	}
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/node/ViewModelChangeSupport.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/presentation/DiagramPresentationModelChangeListener.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/presentation/DiagramPresentationModelChangeListener.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/presentation/DiagramPresentationModelChangeListener.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/06/29
+ * 
+ * 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.core.event.model.presentation;
+
+import java.util.Map;
+
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.event.ObservableCollectionChangeEvent;
+import org.jiemamy.core.model.connection.AbstractConnectionModel;
+import org.jiemamy.core.model.node.AbstractNodeModel;
+import org.jiemamy.core.model.presentation.DiagramPresentationModel;
+
+/**
+ * DiagramPresentationModel用のListener
+ * 
+ * @author shin1ogawa
+ */
+public interface DiagramPresentationModelChangeListener extends ModelChangeListener {
+	
+	/**
+	 * {@link DiagramPresentationModel}が保持する{@link  org.jiemamy.core.model.presentation.JmRectangle}のCollectionに対する変更を処理する。
+	 * 
+	 * @param event
+	 */
+	void nodeLayoutCollectionChange(
+			ObservableCollectionChangeEvent<Map<AbstractNodeModel, org.jiemamy.core.model.presentation.JmRectangle>, org.jiemamy.core.model.presentation.JmRectangle> event);
+	
+	/**
+	 * {@link DiagramPresentationModel}が保持する{@link  org.jiemamy.core.model.presentation.JmColor}のCollectionに対する変更を処理する。
+	 * 
+	 * @param event
+	 */
+	void nodeColorCollectionChange(
+			ObservableCollectionChangeEvent<Map<AbstractNodeModel, org.jiemamy.core.model.presentation.JmColor>, org.jiemamy.core.model.presentation.JmColor> event);
+	
+	/**
+	 * {@link DiagramPresentationModel}が保持する{@link  java.util.List<org.jiemamy.core.model.presentation.JmPoint>}のCollectionに対する変更を処理する。
+	 * 
+	 * @param event
+	 */
+	void connectionLayoutCollectionChange(
+			ObservableCollectionChangeEvent<Map<AbstractConnectionModel, java.util.List<org.jiemamy.core.model.presentation.JmPoint>>, java.util.List<org.jiemamy.core.model.presentation.JmPoint>> event);
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/presentation/DiagramPresentationModelChangeListener.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/presentation/DiagramPresentationModelChangeSupport.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/presentation/DiagramPresentationModelChangeSupport.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/presentation/DiagramPresentationModelChangeSupport.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,193 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/07/02
+ * 
+ * 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.core.event.model.presentation;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.jiemamy.core.event.ModelChangeEvent;
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.event.ObservableCollectionChangeEvent;
+import org.jiemamy.core.event.ObservableCollectionChangeListener;
+import org.jiemamy.core.model.connection.AbstractConnectionModel;
+import org.jiemamy.core.model.node.AbstractNodeModel;
+import org.jiemamy.core.model.presentation.DiagramPresentationModel;
+import org.jiemamy.core.utils.collectionimpl.ObservableMap;
+
+/**
+ * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、DiagramPresentationModelからそれらを引き受ける。
+ * 
+ * @author shin1ogawa
+ */
+public class DiagramPresentationModelChangeSupport {
+	
+	/** DiagramPresentationModel自身のEventを監視するListenerのリスト */
+	private List<DiagramPresentationModelChangeListener> listeners =
+			new ArrayList<DiagramPresentationModelChangeListener>();
+	
+	/** 
+	 * nodeLayoutsのリストを監視するListener 
+	 * 
+	 * @see ObservableCollectionChangeListener
+	 * @see #fireNodeLayoutsCollectionChangeEvent(ObservableCollectionChangeEvent)
+	 */
+	private ObservableCollectionChangeListener<Map<AbstractNodeModel, org.jiemamy.core.model.presentation.JmRectangle>, org.jiemamy.core.model.presentation.JmRectangle> nodeLayoutsCollectionChangeListener =
+			new ObservableCollectionChangeListener<Map<AbstractNodeModel, org.jiemamy.core.model.presentation.JmRectangle>, org.jiemamy.core.model.presentation.JmRectangle>() {
+				
+				/**
+				 * {@inheritDoc}
+				 */
+				public void collectionChanged(
+						ObservableCollectionChangeEvent<Map<AbstractNodeModel, org.jiemamy.core.model.presentation.JmRectangle>, org.jiemamy.core.model.presentation.JmRectangle> event) {
+					fireNodeLayoutsCollectionChangeEvent(event);
+				}
+			};
+	
+	/** 
+	 * nodeColorsのリストを監視するListener 
+	 * 
+	 * @see ObservableCollectionChangeListener
+	 * @see #fireNodeColorsCollectionChangeEvent(ObservableCollectionChangeEvent)
+	 */
+	private ObservableCollectionChangeListener<Map<AbstractNodeModel, org.jiemamy.core.model.presentation.JmColor>, org.jiemamy.core.model.presentation.JmColor> nodeColorsCollectionChangeListener =
+			new ObservableCollectionChangeListener<Map<AbstractNodeModel, org.jiemamy.core.model.presentation.JmColor>, org.jiemamy.core.model.presentation.JmColor>() {
+				
+				/**
+				 * {@inheritDoc}
+				 */
+				public void collectionChanged(
+						ObservableCollectionChangeEvent<Map<AbstractNodeModel, org.jiemamy.core.model.presentation.JmColor>, org.jiemamy.core.model.presentation.JmColor> event) {
+					fireNodeColorsCollectionChangeEvent(event);
+				}
+			};
+	
+	/** 
+	 * connectionLayoutsのリストを監視するListener 
+	 * 
+	 * @see ObservableCollectionChangeListener
+	 * @see #fireConnectionLayoutsCollectionChangeEvent(ObservableCollectionChangeEvent)
+	 */
+	private ObservableCollectionChangeListener<Map<AbstractConnectionModel, java.util.List<org.jiemamy.core.model.presentation.JmPoint>>, java.util.List<org.jiemamy.core.model.presentation.JmPoint>> connectionLayoutsCollectionChangeListener =
+			new ObservableCollectionChangeListener<Map<AbstractConnectionModel, java.util.List<org.jiemamy.core.model.presentation.JmPoint>>, java.util.List<org.jiemamy.core.model.presentation.JmPoint>>() {
+				
+				/**
+				 * {@inheritDoc}
+				 */
+				public void collectionChanged(
+						ObservableCollectionChangeEvent<Map<AbstractConnectionModel, java.util.List<org.jiemamy.core.model.presentation.JmPoint>>, java.util.List<org.jiemamy.core.model.presentation.JmPoint>> event) {
+					fireConnectionLayoutsCollectionChangeEvent(event);
+				}
+			};
+	
+	/**
+	 * DiagramPresentationModelの属性の変更Eventを処理するListener
+	 * 
+	 * @see #fireModelChange(ModelChangeEvent)
+	 */
+	private ModelChangeListener diagramPresentationModelChangeListener = new ModelChangeListener() {
+		
+		/**
+		 * {@inheritDoc}
+		 */
+		public void modelChanged(ModelChangeEvent event) {
+			fireModelChange(event);
+		}
+	};
+	
+
+	/**
+	 * コンストラクタ。
+	 * 
+	 * @param source {@link DiagramPresentationModel}
+	 * @category instance creation
+	 */
+	public DiagramPresentationModelChangeSupport(DiagramPresentationModel source) {
+		source.addModelChangeListener(diagramPresentationModelChangeListener);
+		((ObservableMap<AbstractNodeModel, org.jiemamy.core.model.presentation.JmRectangle>) source.getNodeLayouts())
+			.addListener(nodeLayoutsCollectionChangeListener);
+		((ObservableMap<AbstractNodeModel, org.jiemamy.core.model.presentation.JmColor>) source.getNodeColors())
+			.addListener(nodeColorsCollectionChangeListener);
+		((ObservableMap<AbstractConnectionModel, java.util.List<org.jiemamy.core.model.presentation.JmPoint>>) source
+			.getConnectionLayouts()).addListener(connectionLayoutsCollectionChangeListener);
+	}
+	
+	/**
+	 * DiagramPresentationModel自身のEventを監視するListenerを追加する。
+	 * 
+	 * @param l {@link DiagramPresentationModelChangeListener}
+	 * @see #removeDiagramPresentationModelChangeListener(DiagramPresentationModelChangeListener)
+	 */
+	public void addDiagramPresentationModelChangeListener(DiagramPresentationModelChangeListener l) {
+		listeners.add(l);
+	}
+	
+	/**
+	 * nodeLayoutsのcollectionを監視するListenerに通知されたEventをDiagramPresentationModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ObservableCollectionChangeEvent}
+	 */
+	public void fireNodeLayoutsCollectionChangeEvent(
+			ObservableCollectionChangeEvent<Map<AbstractNodeModel, org.jiemamy.core.model.presentation.JmRectangle>, org.jiemamy.core.model.presentation.JmRectangle> event) {
+		for (DiagramPresentationModelChangeListener l : listeners) {
+			l.nodeLayoutCollectionChange(event);
+		}
+	}
+	
+	/**
+	 * nodeColorsのcollectionを監視するListenerに通知されたEventをDiagramPresentationModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ObservableCollectionChangeEvent}
+	 */
+	public void fireNodeColorsCollectionChangeEvent(
+			ObservableCollectionChangeEvent<Map<AbstractNodeModel, org.jiemamy.core.model.presentation.JmColor>, org.jiemamy.core.model.presentation.JmColor> event) {
+		for (DiagramPresentationModelChangeListener l : listeners) {
+			l.nodeColorCollectionChange(event);
+		}
+	}
+	
+	/**
+	 * connectionLayoutsのcollectionを監視するListenerに通知されたEventをDiagramPresentationModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ObservableCollectionChangeEvent}
+	 */
+	public void fireConnectionLayoutsCollectionChangeEvent(
+			ObservableCollectionChangeEvent<Map<AbstractConnectionModel, java.util.List<org.jiemamy.core.model.presentation.JmPoint>>, java.util.List<org.jiemamy.core.model.presentation.JmPoint>> event) {
+		for (DiagramPresentationModelChangeListener l : listeners) {
+			l.connectionLayoutCollectionChange(event);
+		}
+	}
+	
+	/**
+	 * DiagramPresentationModel自身を監視するListenerに通知されたEventをDiagramPresentationModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ModelChangeEvent}
+	 */
+	public void fireModelChange(ModelChangeEvent event) {
+		for (DiagramPresentationModelChangeListener l : listeners) {
+			l.modelChanged(event);
+		}
+	}
+	
+	/**
+	 * DiagramPresentationModel自身のEventを監視するListenerを削除する。
+	 * 
+	 * @param l {@link DiagramPresentationModelChangeListener}
+	 * @see #addDiagramPresentationModelChangeListener(DiagramPresentationModelChangeListener)
+	 */
+	public void removeDiagramPresentationModelChangeListener(DiagramPresentationModelChangeListener l) {
+		listeners.remove(l);
+	}
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/presentation/DiagramPresentationModelChangeSupport.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/InheritanceColumnModelChangeListener.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/InheritanceColumnModelChangeListener.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/InheritanceColumnModelChangeListener.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/06/29
+ * 
+ * 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.core.event.model.typedef;
+
+import org.jiemamy.core.event.ModelChangeListener;
+
+/**
+ * InheritanceColumnModel用のListener
+ * 
+ * @author shin1ogawa
+ */
+public interface InheritanceColumnModelChangeListener extends ModelChangeListener {
+	
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/InheritanceColumnModelChangeListener.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/InheritanceColumnModelChangeSupport.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/InheritanceColumnModelChangeSupport.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/InheritanceColumnModelChangeSupport.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,91 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/07/02
+ * 
+ * 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.core.event.model.typedef;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jiemamy.core.event.ModelChangeEvent;
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.model.typedef.InheritanceColumnModel;
+
+/**
+ * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、InheritanceColumnModelからそれらを引き受ける。
+ * 
+ * @author shin1ogawa
+ */
+public class InheritanceColumnModelChangeSupport {
+	
+	/** InheritanceColumnModel自身のEventを監視するListenerのリスト */
+	private List<InheritanceColumnModelChangeListener> listeners =
+			new ArrayList<InheritanceColumnModelChangeListener>();
+	
+	/**
+	 * InheritanceColumnModelの属性の変更Eventを処理するListener
+	 * 
+	 * @see #fireModelChange(ModelChangeEvent)
+	 */
+	private ModelChangeListener inheritanceColumnModelChangeListener = new ModelChangeListener() {
+		
+		/**
+		 * {@inheritDoc}
+		 */
+		public void modelChanged(ModelChangeEvent event) {
+			fireModelChange(event);
+		}
+	};
+	
+
+	/**
+	 * コンストラクタ。
+	 * 
+	 * @param source {@link InheritanceColumnModel}
+	 * @category instance creation
+	 */
+	public InheritanceColumnModelChangeSupport(InheritanceColumnModel source) {
+		source.addModelChangeListener(inheritanceColumnModelChangeListener);
+	}
+	
+	/**
+	 * InheritanceColumnModel自身のEventを監視するListenerを追加する。
+	 * 
+	 * @param l {@link InheritanceColumnModelChangeListener}
+	 * @see #removeInheritanceColumnModelChangeListener(InheritanceColumnModelChangeListener)
+	 */
+	public void addInheritanceColumnModelChangeListener(InheritanceColumnModelChangeListener l) {
+		listeners.add(l);
+	}
+	
+	/**
+	 * InheritanceColumnModel自身を監視するListenerに通知されたEventをInheritanceColumnModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ModelChangeEvent}
+	 */
+	public void fireModelChange(ModelChangeEvent event) {
+		for (InheritanceColumnModelChangeListener l : listeners) {
+			l.modelChanged(event);
+		}
+	}
+	
+	/**
+	 * InheritanceColumnModel自身のEventを監視するListenerを削除する。
+	 * 
+	 * @param l {@link InheritanceColumnModelChangeListener}
+	 * @see #addInheritanceColumnModelChangeListener(InheritanceColumnModelChangeListener)
+	 */
+	public void removeInheritanceColumnModelChangeListener(InheritanceColumnModelChangeListener l) {
+		listeners.remove(l);
+	}
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/InheritanceColumnModelChangeSupport.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/CheckConstraintModelChangeListener.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/CheckConstraintModelChangeListener.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/CheckConstraintModelChangeListener.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
+ * Created on 2008/06/29
+ *
+ * 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.core.event.model.typedef.constraint;
+
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.event.ObservableCollectionChangeEvent;
+import org.jiemamy.core.model.typedef.constraint.CheckConstraintModel;
+
+/**
+ * CheckConstraintModel用のListener
+ * 
+ * @author shin1ogawa
+ */
+public interface CheckConstraintModelChangeListener extends ModelChangeListener {
+
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/CheckConstraintModelChangeListener.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/CheckConstraintModelChangeSupport.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/CheckConstraintModelChangeSupport.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/CheckConstraintModelChangeSupport.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,95 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
+ * Created on 2008/07/02
+ *
+ * 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.core.event.model.typedef.constraint;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.jiemamy.core.event.ModelChangeEvent;
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.event.ObservableCollectionChangeEvent;
+import org.jiemamy.core.model.typedef.constraint.CheckConstraintModel;
+
+/**
+ * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、CheckConstraintModelからそれらを引き受ける。
+ * 
+ * @author shin1ogawa
+ */
+public class CheckConstraintModelChangeSupport {
+	
+	/** CheckConstraintModel自身のEventを監視するListenerのリスト */
+	private List<CheckConstraintModelChangeListener> listeners = new ArrayList<CheckConstraintModelChangeListener>();
+	
+	
+	/**
+	 * CheckConstraintModelの属性の変更Eventを処理するListener
+	 * 
+	 * @see #fireModelChange(ModelChangeEvent)
+	 */
+	private ModelChangeListener checkConstraintModelChangeListener = new ModelChangeListener() {
+		
+		/**
+		 * {@inheritDoc}
+		 */
+		public void modelChanged(ModelChangeEvent event) {
+			fireModelChange(event);
+		}
+	};
+
+	/**
+	 * コンストラクタ。
+	 * 
+	 * @param source {@link CheckConstraintModel}
+	 * @category instance creation
+	 */
+	public CheckConstraintModelChangeSupport(CheckConstraintModel source) {
+		source.addModelChangeListener(checkConstraintModelChangeListener);
+	}
+	
+	/**
+	 * CheckConstraintModel自身のEventを監視するListenerを追加する。
+	 * 
+	 * @param l {@link CheckConstraintModelChangeListener}
+	 * @see #removeCheckConstraintModelChangeListener(CheckConstraintModelChangeListener)
+	 */
+	public void addCheckConstraintModelChangeListener(CheckConstraintModelChangeListener l) {
+		listeners.add(l);
+	}
+	
+	
+	/**
+	 * CheckConstraintModel自身を監視するListenerに通知されたEventをCheckConstraintModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ModelChangeEvent}
+	 */
+	public void fireModelChange(ModelChangeEvent event) {
+		for (CheckConstraintModelChangeListener l : listeners) {
+			l.modelChanged(event);
+		}
+	}
+	
+	/**
+	 * CheckConstraintModel自身のEventを監視するListenerを削除する。
+	 * 
+	 * @param l {@link CheckConstraintModelChangeListener}
+	 * @see #addCheckConstraintModelChangeListener(CheckConstraintModelChangeListener)
+	 */
+	public void removeCheckConstraintModelChangeListener(CheckConstraintModelChangeListener l) {
+		listeners.remove(l);
+	}
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/CheckConstraintModelChangeSupport.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/ConstraintSetModelChangeListener.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/ConstraintSetModelChangeListener.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/ConstraintSetModelChangeListener.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
+ * Created on 2008/06/29
+ *
+ * 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.core.event.model.typedef.constraint;
+
+import  org.jiemamy.core.model.typedef.constraint.Constraint;
+import java.util.Map;
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.event.ObservableCollectionChangeEvent;
+import org.jiemamy.core.model.typedef.constraint.ConstraintSetModel;
+
+/**
+ * ConstraintSetModel用のListener
+ * 
+ * @author shin1ogawa
+ */
+public interface ConstraintSetModelChangeListener extends ModelChangeListener {
+
+	
+	/**
+	 * {@link ConstraintSetModel}が保持する{@link  org.jiemamy.core.model.typedef.constraint.Constraint}のCollectionに対する変更を処理する。
+	 * 
+	 * @param event
+	 */
+	void constraintMaCollectionChange(ObservableCollectionChangeEvent<Map<Class<? extends org.jiemamy.core.model.typedef.constraint.Constraint>,  org.jiemamy.core.model.typedef.constraint.Constraint>,  org.jiemamy.core.model.typedef.constraint.Constraint> event);
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/ConstraintSetModelChangeListener.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/ConstraintSetModelChangeSupport.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/ConstraintSetModelChangeSupport.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/ConstraintSetModelChangeSupport.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,128 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
+ * Created on 2008/07/02
+ *
+ * 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.core.event.model.typedef.constraint;
+
+import  org.jiemamy.core.model.typedef.constraint.Constraint;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import org.jiemamy.core.event.ModelChangeEvent;
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.event.ObservableCollectionChangeEvent;
+import org.jiemamy.core.event.ObservableCollectionChangeListener;
+import org.jiemamy.core.model.typedef.constraint.ConstraintSetModel;
+import org.jiemamy.core.utils.collectionimpl.ObservableMap;
+
+/**
+ * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、ConstraintSetModelからそれらを引き受ける。
+ * 
+ * @author shin1ogawa
+ */
+public class ConstraintSetModelChangeSupport {
+	
+	/** ConstraintSetModel自身のEventを監視するListenerのリスト */
+	private List<ConstraintSetModelChangeListener> listeners = new ArrayList<ConstraintSetModelChangeListener>();
+	
+	
+	/** 
+	 * constraintMapのリストを監視するListener 
+	 * 
+	 * @see ObservableCollectionChangeListener
+	 * @see #fireConstraintMapCollectionChangeEvent(ObservableCollectionChangeEvent)
+	 */
+	private ObservableCollectionChangeListener<Map<Class<? extends org.jiemamy.core.model.typedef.constraint.Constraint>,  org.jiemamy.core.model.typedef.constraint.Constraint>,  org.jiemamy.core.model.typedef.constraint.Constraint> constraintMapCollectionChangeListener =
+			new ObservableCollectionChangeListener<Map<Class<? extends org.jiemamy.core.model.typedef.constraint.Constraint>,  org.jiemamy.core.model.typedef.constraint.Constraint>,  org.jiemamy.core.model.typedef.constraint.Constraint>() {
+				
+				/**
+				 * {@inheritDoc}
+				 */
+				public void collectionChanged(ObservableCollectionChangeEvent<Map<Class<? extends org.jiemamy.core.model.typedef.constraint.Constraint>,  org.jiemamy.core.model.typedef.constraint.Constraint>,  org.jiemamy.core.model.typedef.constraint.Constraint> event) {
+					fireConstraintMapCollectionChangeEvent(event);
+				}
+			};
+	
+	/**
+	 * ConstraintSetModelの属性の変更Eventを処理するListener
+	 * 
+	 * @see #fireModelChange(ModelChangeEvent)
+	 */
+	private ModelChangeListener constraintSetModelChangeListener = new ModelChangeListener() {
+		
+		/**
+		 * {@inheritDoc}
+		 */
+		public void modelChanged(ModelChangeEvent event) {
+			fireModelChange(event);
+		}
+	};
+
+	/**
+	 * コンストラクタ。
+	 * 
+	 * @param source {@link ConstraintSetModel}
+	 * @category instance creation
+	 */
+	public ConstraintSetModelChangeSupport(ConstraintSetModel source) {
+		source.addModelChangeListener(constraintSetModelChangeListener);
+		((ObservableMap<Class<? extends org.jiemamy.core.model.typedef.constraint.Constraint>,  org.jiemamy.core.model.typedef.constraint.Constraint>) source.getConstraintMap()).addListener(constraintMapCollectionChangeListener);
+	}
+	
+	/**
+	 * ConstraintSetModel自身のEventを監視するListenerを追加する。
+	 * 
+	 * @param l {@link ConstraintSetModelChangeListener}
+	 * @see #removeConstraintSetModelChangeListener(ConstraintSetModelChangeListener)
+	 */
+	public void addConstraintSetModelChangeListener(ConstraintSetModelChangeListener l) {
+		listeners.add(l);
+	}
+	
+	/**
+	 * constraintMapのcollectionを監視するListenerに通知されたEventをConstraintSetModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ObservableCollectionChangeEvent}
+	 */
+	public void fireConstraintMapCollectionChangeEvent(
+			ObservableCollectionChangeEvent<Map<Class<? extends org.jiemamy.core.model.typedef.constraint.Constraint>,  org.jiemamy.core.model.typedef.constraint.Constraint>,  org.jiemamy.core.model.typedef.constraint.Constraint> event) {
+		for (ConstraintSetModelChangeListener l : listeners) {
+			l.constraintMaCollectionChange(event);
+		}
+	}
+	
+	/**
+	 * ConstraintSetModel自身を監視するListenerに通知されたEventをConstraintSetModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ModelChangeEvent}
+	 */
+	public void fireModelChange(ModelChangeEvent event) {
+		for (ConstraintSetModelChangeListener l : listeners) {
+			l.modelChanged(event);
+		}
+	}
+	
+	/**
+	 * ConstraintSetModel自身のEventを監視するListenerを削除する。
+	 * 
+	 * @param l {@link ConstraintSetModelChangeListener}
+	 * @see #addConstraintSetModelChangeListener(ConstraintSetModelChangeListener)
+	 */
+	public void removeConstraintSetModelChangeListener(ConstraintSetModelChangeListener l) {
+		listeners.remove(l);
+	}
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/ConstraintSetModelChangeSupport.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/NotNullConstraintModelChangeListener.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/NotNullConstraintModelChangeListener.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/NotNullConstraintModelChangeListener.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
+ * Created on 2008/06/29
+ *
+ * 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.core.event.model.typedef.constraint;
+
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.event.ObservableCollectionChangeEvent;
+import org.jiemamy.core.model.typedef.constraint.NotNullConstraintModel;
+
+/**
+ * NotNullConstraintModel用のListener
+ * 
+ * @author shin1ogawa
+ */
+public interface NotNullConstraintModelChangeListener extends ModelChangeListener {
+
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/NotNullConstraintModelChangeListener.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/NotNullConstraintModelChangeSupport.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/NotNullConstraintModelChangeSupport.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/NotNullConstraintModelChangeSupport.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,95 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
+ * Created on 2008/07/02
+ *
+ * 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.core.event.model.typedef.constraint;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.jiemamy.core.event.ModelChangeEvent;
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.event.ObservableCollectionChangeEvent;
+import org.jiemamy.core.model.typedef.constraint.NotNullConstraintModel;
+
+/**
+ * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、NotNullConstraintModelからそれらを引き受ける。
+ * 
+ * @author shin1ogawa
+ */
+public class NotNullConstraintModelChangeSupport {
+	
+	/** NotNullConstraintModel自身のEventを監視するListenerのリスト */
+	private List<NotNullConstraintModelChangeListener> listeners = new ArrayList<NotNullConstraintModelChangeListener>();
+	
+	
+	/**
+	 * NotNullConstraintModelの属性の変更Eventを処理するListener
+	 * 
+	 * @see #fireModelChange(ModelChangeEvent)
+	 */
+	private ModelChangeListener notNullConstraintModelChangeListener = new ModelChangeListener() {
+		
+		/**
+		 * {@inheritDoc}
+		 */
+		public void modelChanged(ModelChangeEvent event) {
+			fireModelChange(event);
+		}
+	};
+
+	/**
+	 * コンストラクタ。
+	 * 
+	 * @param source {@link NotNullConstraintModel}
+	 * @category instance creation
+	 */
+	public NotNullConstraintModelChangeSupport(NotNullConstraintModel source) {
+		source.addModelChangeListener(notNullConstraintModelChangeListener);
+	}
+	
+	/**
+	 * NotNullConstraintModel自身のEventを監視するListenerを追加する。
+	 * 
+	 * @param l {@link NotNullConstraintModelChangeListener}
+	 * @see #removeNotNullConstraintModelChangeListener(NotNullConstraintModelChangeListener)
+	 */
+	public void addNotNullConstraintModelChangeListener(NotNullConstraintModelChangeListener l) {
+		listeners.add(l);
+	}
+	
+	
+	/**
+	 * NotNullConstraintModel自身を監視するListenerに通知されたEventをNotNullConstraintModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ModelChangeEvent}
+	 */
+	public void fireModelChange(ModelChangeEvent event) {
+		for (NotNullConstraintModelChangeListener l : listeners) {
+			l.modelChanged(event);
+		}
+	}
+	
+	/**
+	 * NotNullConstraintModel自身のEventを監視するListenerを削除する。
+	 * 
+	 * @param l {@link NotNullConstraintModelChangeListener}
+	 * @see #addNotNullConstraintModelChangeListener(NotNullConstraintModelChangeListener)
+	 */
+	public void removeNotNullConstraintModelChangeListener(NotNullConstraintModelChangeListener l) {
+		listeners.remove(l);
+	}
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/NotNullConstraintModelChangeSupport.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/PrimaryKeyConstraintModelChangeListener.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/PrimaryKeyConstraintModelChangeListener.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/PrimaryKeyConstraintModelChangeListener.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
+ * Created on 2008/06/29
+ *
+ * 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.core.event.model.typedef.constraint;
+
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.event.ObservableCollectionChangeEvent;
+import org.jiemamy.core.model.typedef.constraint.PrimaryKeyConstraintModel;
+
+/**
+ * PrimaryKeyConstraintModel用のListener
+ * 
+ * @author shin1ogawa
+ */
+public interface PrimaryKeyConstraintModelChangeListener extends ModelChangeListener {
+
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/PrimaryKeyConstraintModelChangeListener.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/PrimaryKeyConstraintModelChangeSupport.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/PrimaryKeyConstraintModelChangeSupport.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/PrimaryKeyConstraintModelChangeSupport.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,95 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
+ * Created on 2008/07/02
+ *
+ * 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.core.event.model.typedef.constraint;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.jiemamy.core.event.ModelChangeEvent;
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.event.ObservableCollectionChangeEvent;
+import org.jiemamy.core.model.typedef.constraint.PrimaryKeyConstraintModel;
+
+/**
+ * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、PrimaryKeyConstraintModelからそれらを引き受ける。
+ * 
+ * @author shin1ogawa
+ */
+public class PrimaryKeyConstraintModelChangeSupport {
+	
+	/** PrimaryKeyConstraintModel自身のEventを監視するListenerのリスト */
+	private List<PrimaryKeyConstraintModelChangeListener> listeners = new ArrayList<PrimaryKeyConstraintModelChangeListener>();
+	
+	
+	/**
+	 * PrimaryKeyConstraintModelの属性の変更Eventを処理するListener
+	 * 
+	 * @see #fireModelChange(ModelChangeEvent)
+	 */
+	private ModelChangeListener primaryKeyConstraintModelChangeListener = new ModelChangeListener() {
+		
+		/**
+		 * {@inheritDoc}
+		 */
+		public void modelChanged(ModelChangeEvent event) {
+			fireModelChange(event);
+		}
+	};
+
+	/**
+	 * コンストラクタ。
+	 * 
+	 * @param source {@link PrimaryKeyConstraintModel}
+	 * @category instance creation
+	 */
+	public PrimaryKeyConstraintModelChangeSupport(PrimaryKeyConstraintModel source) {
+		source.addModelChangeListener(primaryKeyConstraintModelChangeListener);
+	}
+	
+	/**
+	 * PrimaryKeyConstraintModel自身のEventを監視するListenerを追加する。
+	 * 
+	 * @param l {@link PrimaryKeyConstraintModelChangeListener}
+	 * @see #removePrimaryKeyConstraintModelChangeListener(PrimaryKeyConstraintModelChangeListener)
+	 */
+	public void addPrimaryKeyConstraintModelChangeListener(PrimaryKeyConstraintModelChangeListener l) {
+		listeners.add(l);
+	}
+	
+	
+	/**
+	 * PrimaryKeyConstraintModel自身を監視するListenerに通知されたEventをPrimaryKeyConstraintModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ModelChangeEvent}
+	 */
+	public void fireModelChange(ModelChangeEvent event) {
+		for (PrimaryKeyConstraintModelChangeListener l : listeners) {
+			l.modelChanged(event);
+		}
+	}
+	
+	/**
+	 * PrimaryKeyConstraintModel自身のEventを監視するListenerを削除する。
+	 * 
+	 * @param l {@link PrimaryKeyConstraintModelChangeListener}
+	 * @see #addPrimaryKeyConstraintModelChangeListener(PrimaryKeyConstraintModelChangeListener)
+	 */
+	public void removePrimaryKeyConstraintModelChangeListener(PrimaryKeyConstraintModelChangeListener l) {
+		listeners.remove(l);
+	}
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/PrimaryKeyConstraintModelChangeSupport.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/UniqueConstraintModelChangeListener.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/UniqueConstraintModelChangeListener.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/UniqueConstraintModelChangeListener.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
+ * Created on 2008/06/29
+ *
+ * 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.core.event.model.typedef.constraint;
+
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.event.ObservableCollectionChangeEvent;
+import org.jiemamy.core.model.typedef.constraint.UniqueConstraintModel;
+
+/**
+ * UniqueConstraintModel用のListener
+ * 
+ * @author shin1ogawa
+ */
+public interface UniqueConstraintModelChangeListener extends ModelChangeListener {
+
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/UniqueConstraintModelChangeListener.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/UniqueConstraintModelChangeSupport.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/UniqueConstraintModelChangeSupport.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/UniqueConstraintModelChangeSupport.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,95 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
+ * Created on 2008/07/02
+ *
+ * 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.core.event.model.typedef.constraint;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.jiemamy.core.event.ModelChangeEvent;
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.event.ObservableCollectionChangeEvent;
+import org.jiemamy.core.model.typedef.constraint.UniqueConstraintModel;
+
+/**
+ * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、UniqueConstraintModelからそれらを引き受ける。
+ * 
+ * @author shin1ogawa
+ */
+public class UniqueConstraintModelChangeSupport {
+	
+	/** UniqueConstraintModel自身のEventを監視するListenerのリスト */
+	private List<UniqueConstraintModelChangeListener> listeners = new ArrayList<UniqueConstraintModelChangeListener>();
+	
+	
+	/**
+	 * UniqueConstraintModelの属性の変更Eventを処理するListener
+	 * 
+	 * @see #fireModelChange(ModelChangeEvent)
+	 */
+	private ModelChangeListener uniqueConstraintModelChangeListener = new ModelChangeListener() {
+		
+		/**
+		 * {@inheritDoc}
+		 */
+		public void modelChanged(ModelChangeEvent event) {
+			fireModelChange(event);
+		}
+	};
+
+	/**
+	 * コンストラクタ。
+	 * 
+	 * @param source {@link UniqueConstraintModel}
+	 * @category instance creation
+	 */
+	public UniqueConstraintModelChangeSupport(UniqueConstraintModel source) {
+		source.addModelChangeListener(uniqueConstraintModelChangeListener);
+	}
+	
+	/**
+	 * UniqueConstraintModel自身のEventを監視するListenerを追加する。
+	 * 
+	 * @param l {@link UniqueConstraintModelChangeListener}
+	 * @see #removeUniqueConstraintModelChangeListener(UniqueConstraintModelChangeListener)
+	 */
+	public void addUniqueConstraintModelChangeListener(UniqueConstraintModelChangeListener l) {
+		listeners.add(l);
+	}
+	
+	
+	/**
+	 * UniqueConstraintModel自身を監視するListenerに通知されたEventをUniqueConstraintModelの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ModelChangeEvent}
+	 */
+	public void fireModelChange(ModelChangeEvent event) {
+		for (UniqueConstraintModelChangeListener l : listeners) {
+			l.modelChanged(event);
+		}
+	}
+	
+	/**
+	 * UniqueConstraintModel自身のEventを監視するListenerを削除する。
+	 * 
+	 * @param l {@link UniqueConstraintModelChangeListener}
+	 * @see #addUniqueConstraintModelChangeListener(UniqueConstraintModelChangeListener)
+	 */
+	public void removeUniqueConstraintModelChangeListener(UniqueConstraintModelChangeListener l) {
+		listeners.remove(l);
+	}
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/constraint/UniqueConstraintModelChangeSupport.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/datatype/adapter/PrecisionedDataTypeAdapterChangeListener.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/datatype/adapter/PrecisionedDataTypeAdapterChangeListener.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/datatype/adapter/PrecisionedDataTypeAdapterChangeListener.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
+ * Created on 2008/06/29
+ *
+ * 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.core.event.model.typedef.datatype.adapter;
+
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.event.ObservableCollectionChangeEvent;
+import org.jiemamy.core.model.typedef.datatype.adapter.PrecisionedDataTypeAdapter;
+
+/**
+ * PrecisionedDataTypeAdapter用のListener
+ * 
+ * @author shin1ogawa
+ */
+public interface PrecisionedDataTypeAdapterChangeListener extends ModelChangeListener {
+
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/datatype/adapter/PrecisionedDataTypeAdapterChangeListener.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/datatype/adapter/PrecisionedDataTypeAdapterChangeSupport.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/datatype/adapter/PrecisionedDataTypeAdapterChangeSupport.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/datatype/adapter/PrecisionedDataTypeAdapterChangeSupport.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -0,0 +1,95 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
+ * Created on 2008/07/02
+ *
+ * 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.core.event.model.typedef.datatype.adapter;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.jiemamy.core.event.ModelChangeEvent;
+import org.jiemamy.core.event.ModelChangeListener;
+import org.jiemamy.core.event.ObservableCollectionChangeEvent;
+import org.jiemamy.core.model.typedef.datatype.adapter.PrecisionedDataTypeAdapter;
+
+/**
+ * Event関連の処理をModel内に直接記述するとModelのSourceの可読性が低くなるため、PrecisionedDataTypeAdapterからそれらを引き受ける。
+ * 
+ * @author shin1ogawa
+ */
+public class PrecisionedDataTypeAdapterChangeSupport {
+	
+	/** PrecisionedDataTypeAdapter自身のEventを監視するListenerのリスト */
+	private List<PrecisionedDataTypeAdapterChangeListener> listeners = new ArrayList<PrecisionedDataTypeAdapterChangeListener>();
+	
+	
+	/**
+	 * PrecisionedDataTypeAdapterの属性の変更Eventを処理するListener
+	 * 
+	 * @see #fireModelChange(ModelChangeEvent)
+	 */
+	private ModelChangeListener precisionedDataTypeAdapterChangeListener = new ModelChangeListener() {
+		
+		/**
+		 * {@inheritDoc}
+		 */
+		public void modelChanged(ModelChangeEvent event) {
+			fireModelChange(event);
+		}
+	};
+
+	/**
+	 * コンストラクタ。
+	 * 
+	 * @param source {@link PrecisionedDataTypeAdapter}
+	 * @category instance creation
+	 */
+	public PrecisionedDataTypeAdapterChangeSupport(PrecisionedDataTypeAdapter source) {
+		source.addModelChangeListener(precisionedDataTypeAdapterChangeListener);
+	}
+	
+	/**
+	 * PrecisionedDataTypeAdapter自身のEventを監視するListenerを追加する。
+	 * 
+	 * @param l {@link PrecisionedDataTypeAdapterChangeListener}
+	 * @see #removePrecisionedDataTypeAdapterChangeListener(PrecisionedDataTypeAdapterChangeListener)
+	 */
+	public void addPrecisionedDataTypeAdapterChangeListener(PrecisionedDataTypeAdapterChangeListener l) {
+		listeners.add(l);
+	}
+	
+	
+	/**
+	 * PrecisionedDataTypeAdapter自身を監視するListenerに通知されたEventをPrecisionedDataTypeAdapterの監視Listenerへ通知する。
+	 * 
+	 * @param event {@link ModelChangeEvent}
+	 */
+	public void fireModelChange(ModelChangeEvent event) {
+		for (PrecisionedDataTypeAdapterChangeListener l : listeners) {
+			l.modelChanged(event);
+		}
+	}
+	
+	/**
+	 * PrecisionedDataTypeAdapter自身のEventを監視するListenerを削除する。
+	 * 
+	 * @param l {@link PrecisionedDataTypeAdapterChangeListener}
+	 * @see #addPrecisionedDataTypeAdapterChangeListener(PrecisionedDataTypeAdapterChangeListener)
+	 */
+	public void removePrecisionedDataTypeAdapterChangeListener(PrecisionedDataTypeAdapterChangeListener l) {
+		listeners.remove(l);
+	}
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/model/typedef/datatype/adapter/PrecisionedDataTypeAdapterChangeSupport.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/package-info.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/package-info.java	2008-09-15 10:38:22 UTC (rev 1919)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/event/package-info.java	2008-09-15 10:39:57 UTC (rev 1920)
@@ -1,8 +1,7 @@
 /**
  * Jiemamyのイベント関係クラスを提供するパッケージ。
  * 
- * このパッケージは、モデルに変更があった際にオブザーバに通知する為のイベントオブジェクト・
- * イベントリスナインターフェイスを含む。
+ * このパッケージは、モデルに変更があった際にオブザーバに通知する為のイベントオブジェクト・ イベントリスナインターフェイスを含む。
  * 
  * @author daisuke
  */


Jiemamy-notify メーリングリストの案内
Zurück zum Archiv-Index