[Jiemamy-notify] commit [2254] AbstractAttributeModel追加。 /

アーカイブの一覧に戻る

svnno****@sourc***** svnno****@sourc*****
2008年 12月 12日 (金) 13:16:26 JST


Revision: 2254
          http://svn.sourceforge.jp/view?root=jiemamy&view=rev&rev=2254
Author:   daisuke_m
Date:     2008-12-12 13:16:26 +0900 (Fri, 12 Dec 2008)

Log Message:
-----------
AbstractAttributeModel追加。 /
Disablable追加。

Modified Paths:
--------------
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/model/attribute/ColumnModelImpl.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/model/datatype/DomainModelImpl.java
    zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/attribute/ColumnModel.java
    zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/connection/AbstractConnectionModel.java
    zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/connection/AbstractRelationModel.java
    zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/connection/ForeignKeyModel.java
    zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/node/AbstractEntityModel.java
    zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/node/AbstractNodeModel.java
    zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/node/StickyModel.java
    zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/node/TableModel.java
    zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/node/ViewModel.java

Added Paths:
-----------
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/accessor/attribute/
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/accessor/attribute/AttributeModelAccessor.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/accessor/attribute/ColumnModelAccessor.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/accessor/datatype/
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/accessor/datatype/DomainModelAccessor.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/model/attribute/AbstractAttributeModelImpl.java
    zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/attribute/AbstractAttributeModel.java
    zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/utils/Disablable.java

Removed Paths:
-------------
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/accessor/ColumnModelAccessor.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/accessor/DomainModelAccessor.java


-------------- next part --------------
Deleted: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/accessor/ColumnModelAccessor.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/accessor/ColumnModelAccessor.java	2008-12-11 18:36:40 UTC (rev 2253)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/accessor/ColumnModelAccessor.java	2008-12-12 04:16:26 UTC (rev 2254)
@@ -1,143 +0,0 @@
-/*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
- * Created on 2008/10/25
- *
- * This file is part of Jiemamy.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
- * either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
- */
-package org.jiemamy.internal.accessor;
-
-import org.jiemamy.model.attribute.ColumnModel;
-import org.jiemamy.model.constraint.ConstraintsModel;
-import org.jiemamy.model.datatype.DataTypeDescriptor;
-
-/**
- * {@link ColumnModel}の全フィールドにアクセスするための内部インターフェイス。
- * 
- * <p>
- * 
- * @author daisuke
- */
-public interface ColumnModelAccessor {
-	
-	/**
-	 * 制約を取得する。
-	 * @return 制約
-	 */
-	ConstraintsModel getConstraints();
-	
-	/**
-	 * 型記述子を取得する。
-	 * @return 型記述子
-	 */
-	DataTypeDescriptor getDataTypeDescriptor();
-	
-	/**
-	 * デフォルト値を取得する。
-	 * @return デフォルト値
-	 */
-	String getDefaultValue();
-	
-	/**
-	 * 説明文を取得する。
-	 * @return 説明文
-	 */
-	String getDescription();
-	
-	/**
-	 * 自由文字列を取得する。
-	 * @return 自由文字列
-	 */
-	String getFreeString();
-	
-	/**
-	 * 論理名を取得する。
-	 * @return 論理名
-	 */
-	String getLogicalName();
-	
-	/**
-	 * 物理名を取得する。
-	 * @return 物理名
-	 */
-	String getName();
-	
-	/**
-	 * 代表カラムかどうかを取得する。
-	 * @return 代表カラムかどうか
-	 */
-	boolean isRepresentation();
-	
-	/**
-	 * 単純インデックスの有無を取得する。
-	 * @return 単純インデックスの有無
-	 */
-	boolean isSimpleIndex();
-	
-	/**
-	 * 制約を設定する。
-	 * @param constraints 制約
-	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
-	 */
-	void setConstraints(ConstraintsModel constraints);
-	
-	/**
-	 * 型記述子を設定する。
-	 * @param dataTypeDescriptor 型記述子
-	 */
-	void setDataTypeDescriptor(DataTypeDescriptor dataTypeDescriptor);
-	
-	/**
-	 * デフォルト値を設定する。
-	 * @param defaultValue デフォルト値
-	 */
-	void setDefaultValue(String defaultValue);
-	
-	/**
-	 * 説明文を設定する。
-	 * @param description 説明文
-	 */
-	void setDescription(String description);
-	
-	/**
-	 * 自由文字列を設定する。
-	 * @param freeString 自由文字列
-	 */
-	void setFreeString(String freeString);
-	
-	/**
-	 * 論理名を設定する。
-	 * @param logicalName 論理名
-	 */
-	void setLogicalName(String logicalName);
-	
-	/**
-	 * 物理名を設定する。
-	 * @param name 物理名
-	 */
-	void setName(String name);
-	
-	/**
-	 * 代表カラムかどうかを設定する。
-	 * @param representation 代表カラムかどうか
-	 */
-	void setRepresentation(boolean representation);
-	
-	/**
-	 * 単純インデックスの有無を設定する。
-	 * @param simpleIndex 単純インデックスの有無
-	 */
-	void setSimpleIndex(boolean simpleIndex);
-	
-}

Deleted: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/accessor/DomainModelAccessor.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/accessor/DomainModelAccessor.java	2008-12-11 18:36:40 UTC (rev 2253)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/accessor/DomainModelAccessor.java	2008-12-12 04:16:26 UTC (rev 2254)
@@ -1,128 +0,0 @@
-/*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
- * Created on 2008/10/25
- *
- * This file is part of Jiemamy.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
- * either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
- */
-package org.jiemamy.internal.accessor;
-
-import org.jiemamy.model.constraint.ConstraintsModel;
-import org.jiemamy.model.datatype.DataTypeDescriptor;
-import org.jiemamy.model.datatype.DomainModel;
-
-/**
- * {@link DomainModel}の全フィールドにアクセスするための内部インターフェイス。
- * @author daisuke
- */
-public interface DomainModelAccessor {
-	
-	/**
-	 * 制約を取得する。
-	 * @return 制約
-	 */
-	ConstraintsModel getConstraints();
-	
-	/**
-	 * ドメインとして定義された型記述子を取得する。
-	 * @return ドメインとして定義された型記述子
-	 */
-	DataTypeDescriptor getDataTypeDescriptor();
-	
-	/**
-	 * デフォルト値を取得する。
-	 * @return デフォルト値
-	 */
-	String getDefaultValue();
-	
-	/**
-	 * 説明文を取得する。
-	 * @return 説明文
-	 */
-	String getDescription();
-	
-	/**
-	 * 自由文字列を取得する。
-	 * @return 自由文字列
-	 */
-	String getFreeString();
-	
-	/**
-	 * 論理名を取得する。
-	 * @return 論理名
-	 */
-	String getLogicalName();
-	
-	/**
-	 * ドメイン名を取得する。
-	 * @return ドメイン名
-	 */
-	String getName();
-	
-	/**
-	 * 単純インデックスの有無を取得する。
-	 * @return 単純インデックスの有無
-	 */
-	boolean isSimpleIndex();
-	
-	/**
-	 * 制約を設定する。
-	 * @param constraints 制約
-	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
-	 */
-	void setConstraints(ConstraintsModel constraints);
-	
-	/**
-	 * ドメインとして定義された型記述子を設定する。
-	 * @param dataTypeDescriptor ドメインとして定義された型記述子
-	 */
-	void setDataTypeDescriptor(DataTypeDescriptor dataTypeDescriptor);
-	
-	/**
-	 * デフォルト値を設定する。
-	 * @param defaultValue デフォルト値
-	 */
-	void setDefaultValue(String defaultValue);
-	
-	/**
-	 * 説明文を設定する。
-	 * @param description 説明文
-	 */
-	void setDescription(String description);
-	
-	/**
-	 * 自由文字列を設定する。
-	 * @param freeString 自由文字列
-	 */
-	void setFreeString(String freeString);
-	
-	/**
-	 * 論理名を設定する。
-	 * @param logicalName 論理名
-	 */
-	void setLogicalName(String logicalName);
-	
-	/**
-	 * ドメイン名を設定する。
-	 * @param name ドメイン名
-	 */
-	void setName(String name);
-	
-	/**
-	 * 単純インデックスの有無を設定する。
-	 * @param simpleIndex 単純インデックスの有無
-	 */
-	void setSimpleIndex(boolean simpleIndex);
-	
-}

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/accessor/attribute/AttributeModelAccessor.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/accessor/attribute/AttributeModelAccessor.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/accessor/attribute/AttributeModelAccessor.java	2008-12-12 04:16:26 UTC (rev 2254)
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
+ * Created on 2008/12/12
+ *
+ * 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.internal.accessor.attribute;
+
+/**
+ * TODO for dmiyamoto
+ * @author dmiyamoto
+ */
+public interface AttributeModelAccessor {
+	
+	/**
+	 * TODO for dmiyamoto
+	 * @return
+	 */
+	boolean isDisabled();
+	
+	/**
+	 * TODO for dmiyamoto
+	 * @param disabled
+	 */
+	void setDisabled(boolean disabled);
+	
+}


Property changes on: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/accessor/attribute/AttributeModelAccessor.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Copied: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/accessor/attribute/ColumnModelAccessor.java (from rev 2253, artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/accessor/ColumnModelAccessor.java)
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/accessor/attribute/ColumnModelAccessor.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/accessor/attribute/ColumnModelAccessor.java	2008-12-12 04:16:26 UTC (rev 2254)
@@ -0,0 +1,143 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
+ * Created on 2008/10/25
+ *
+ * This file is part of Jiemamy.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+ * either express or implied. See the License for the specific language
+ * governing permissions and limitations under the License.
+ */
+package org.jiemamy.internal.accessor.attribute;
+
+import org.jiemamy.model.attribute.ColumnModel;
+import org.jiemamy.model.constraint.ConstraintsModel;
+import org.jiemamy.model.datatype.DataTypeDescriptor;
+
+/**
+ * {@link ColumnModel}の全フィールドにアクセスするための内部インターフェイス。
+ * 
+ * <p>
+ * 
+ * @author daisuke
+ */
+public interface ColumnModelAccessor {
+	
+	/**
+	 * 制約を取得する。
+	 * @return 制約
+	 */
+	ConstraintsModel getConstraints();
+	
+	/**
+	 * 型記述子を取得する。
+	 * @return 型記述子
+	 */
+	DataTypeDescriptor getDataTypeDescriptor();
+	
+	/**
+	 * デフォルト値を取得する。
+	 * @return デフォルト値
+	 */
+	String getDefaultValue();
+	
+	/**
+	 * 説明文を取得する。
+	 * @return 説明文
+	 */
+	String getDescription();
+	
+	/**
+	 * 自由文字列を取得する。
+	 * @return 自由文字列
+	 */
+	String getFreeString();
+	
+	/**
+	 * 論理名を取得する。
+	 * @return 論理名
+	 */
+	String getLogicalName();
+	
+	/**
+	 * 物理名を取得する。
+	 * @return 物理名
+	 */
+	String getName();
+	
+	/**
+	 * 代表カラムかどうかを取得する。
+	 * @return 代表カラムかどうか
+	 */
+	boolean isRepresentation();
+	
+	/**
+	 * 単純インデックスの有無を取得する。
+	 * @return 単純インデックスの有無
+	 */
+	boolean isSimpleIndex();
+	
+	/**
+	 * 制約を設定する。
+	 * @param constraints 制約
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
+	 */
+	void setConstraints(ConstraintsModel constraints);
+	
+	/**
+	 * 型記述子を設定する。
+	 * @param dataTypeDescriptor 型記述子
+	 */
+	void setDataTypeDescriptor(DataTypeDescriptor dataTypeDescriptor);
+	
+	/**
+	 * デフォルト値を設定する。
+	 * @param defaultValue デフォルト値
+	 */
+	void setDefaultValue(String defaultValue);
+	
+	/**
+	 * 説明文を設定する。
+	 * @param description 説明文
+	 */
+	void setDescription(String description);
+	
+	/**
+	 * 自由文字列を設定する。
+	 * @param freeString 自由文字列
+	 */
+	void setFreeString(String freeString);
+	
+	/**
+	 * 論理名を設定する。
+	 * @param logicalName 論理名
+	 */
+	void setLogicalName(String logicalName);
+	
+	/**
+	 * 物理名を設定する。
+	 * @param name 物理名
+	 */
+	void setName(String name);
+	
+	/**
+	 * 代表カラムかどうかを設定する。
+	 * @param representation 代表カラムかどうか
+	 */
+	void setRepresentation(boolean representation);
+	
+	/**
+	 * 単純インデックスの有無を設定する。
+	 * @param simpleIndex 単純インデックスの有無
+	 */
+	void setSimpleIndex(boolean simpleIndex);
+	
+}

Copied: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/accessor/datatype/DomainModelAccessor.java (from rev 2253, artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/accessor/DomainModelAccessor.java)
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/accessor/datatype/DomainModelAccessor.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/internal/accessor/datatype/DomainModelAccessor.java	2008-12-12 04:16:26 UTC (rev 2254)
@@ -0,0 +1,128 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
+ * Created on 2008/10/25
+ *
+ * This file is part of Jiemamy.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+ * either express or implied. See the License for the specific language
+ * governing permissions and limitations under the License.
+ */
+package org.jiemamy.internal.accessor.datatype;
+
+import org.jiemamy.model.constraint.ConstraintsModel;
+import org.jiemamy.model.datatype.DataTypeDescriptor;
+import org.jiemamy.model.datatype.DomainModel;
+
+/**
+ * {@link DomainModel}の全フィールドにアクセスするための内部インターフェイス。
+ * @author daisuke
+ */
+public interface DomainModelAccessor {
+	
+	/**
+	 * 制約を取得する。
+	 * @return 制約
+	 */
+	ConstraintsModel getConstraints();
+	
+	/**
+	 * ドメインとして定義された型記述子を取得する。
+	 * @return ドメインとして定義された型記述子
+	 */
+	DataTypeDescriptor getDataTypeDescriptor();
+	
+	/**
+	 * デフォルト値を取得する。
+	 * @return デフォルト値
+	 */
+	String getDefaultValue();
+	
+	/**
+	 * 説明文を取得する。
+	 * @return 説明文
+	 */
+	String getDescription();
+	
+	/**
+	 * 自由文字列を取得する。
+	 * @return 自由文字列
+	 */
+	String getFreeString();
+	
+	/**
+	 * 論理名を取得する。
+	 * @return 論理名
+	 */
+	String getLogicalName();
+	
+	/**
+	 * ドメイン名を取得する。
+	 * @return ドメイン名
+	 */
+	String getName();
+	
+	/**
+	 * 単純インデックスの有無を取得する。
+	 * @return 単純インデックスの有無
+	 */
+	boolean isSimpleIndex();
+	
+	/**
+	 * 制約を設定する。
+	 * @param constraints 制約
+	 * @throws IllegalArgumentException 引数に{@code null}を与えた場合
+	 */
+	void setConstraints(ConstraintsModel constraints);
+	
+	/**
+	 * ドメインとして定義された型記述子を設定する。
+	 * @param dataTypeDescriptor ドメインとして定義された型記述子
+	 */
+	void setDataTypeDescriptor(DataTypeDescriptor dataTypeDescriptor);
+	
+	/**
+	 * デフォルト値を設定する。
+	 * @param defaultValue デフォルト値
+	 */
+	void setDefaultValue(String defaultValue);
+	
+	/**
+	 * 説明文を設定する。
+	 * @param description 説明文
+	 */
+	void setDescription(String description);
+	
+	/**
+	 * 自由文字列を設定する。
+	 * @param freeString 自由文字列
+	 */
+	void setFreeString(String freeString);
+	
+	/**
+	 * 論理名を設定する。
+	 * @param logicalName 論理名
+	 */
+	void setLogicalName(String logicalName);
+	
+	/**
+	 * ドメイン名を設定する。
+	 * @param name ドメイン名
+	 */
+	void setName(String name);
+	
+	/**
+	 * 単純インデックスの有無を設定する。
+	 * @param simpleIndex 単純インデックスの有無
+	 */
+	void setSimpleIndex(boolean simpleIndex);
+	
+}

Added: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/model/attribute/AbstractAttributeModelImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/model/attribute/AbstractAttributeModelImpl.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/model/attribute/AbstractAttributeModelImpl.java	2008-12-12 04:16:26 UTC (rev 2254)
@@ -0,0 +1,103 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
+ * Created on 2008/12/12
+ *
+ * This file is part of Jiemamy.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+ * either express or implied. See the License for the specific language
+ * governing permissions and limitations under the License.
+ */
+package org.jiemamy.model.attribute;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.apache.commons.lang.Validate;
+
+import org.jiemamy.internal.AdapterManager;
+import org.jiemamy.internal.accessor.attribute.AttributeModelAccessor;
+
+/**
+ * TODO for dmiyamoto
+ * @author dmiyamoto
+ */
+public abstract class AbstractAttributeModelImpl implements AbstractAttributeModel, AttributeModelAccessor {
+	
+	private boolean disabled;
+	
+	/** モデルID */
+	private final UUID id;
+	
+	private final AdapterManager adapterManager = new AdapterManager();
+	
+
+	/**
+	 * コンストラクタ。
+	 * @param id
+	 * @category instance creation
+	 */
+	public AbstractAttributeModelImpl(UUID id) {
+		Validate.notNull(id);
+		this.id = id;
+	}
+	
+	/**
+	 * {@inheritDoc}
+	 */
+	public <T>T getAdapter(Class<T> adapter) {
+		return adapterManager.getAdapter(adapter);
+	}
+	
+	/**
+	 * {@inheritDoc}
+	 */
+	public List<Object> getAdapters() {
+		return adapterManager.getAdapters();
+	}
+	
+	/**
+	 * {@inheritDoc}
+	 */
+	public UUID getId() {
+		assert id != null;
+		return id;
+	}
+	
+	/**
+	 * {@inheritDoc}
+	 */
+	public boolean hasAdapter(Class<?> adapter) {
+		return adapterManager.hasAdapter(adapter);
+	}
+	
+	/**
+	 * {@inheritDoc}
+	 */
+	public boolean isDisabled() {
+		return disabled;
+	}
+	
+	/**
+	 * {@inheritDoc}
+	 */
+	public void registerAdapter(Object adapter) {
+		adapterManager.registerAdapter(adapter);
+	}
+	
+	/**
+	 * {@inheritDoc}
+	 */
+	public void setDisabled(boolean disabled) {
+		this.disabled = disabled;
+	}
+	
+}


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

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/model/attribute/ColumnModelImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/model/attribute/ColumnModelImpl.java	2008-12-11 18:36:40 UTC (rev 2253)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/model/attribute/ColumnModelImpl.java	2008-12-12 04:16:26 UTC (rev 2254)
@@ -18,15 +18,13 @@
  */
 package org.jiemamy.model.attribute;
 
-import java.util.List;
 import java.util.UUID;
 
 import org.apache.commons.lang.Validate;
 import org.apache.commons.lang.builder.ToStringBuilder;
 import org.apache.commons.lang.builder.ToStringStyle;
 
-import org.jiemamy.internal.AdapterManager;
-import org.jiemamy.internal.accessor.ColumnModelAccessor;
+import org.jiemamy.internal.accessor.attribute.ColumnModelAccessor;
 import org.jiemamy.model.constraint.Constraint;
 import org.jiemamy.model.constraint.ConstraintsModel;
 import org.jiemamy.model.constraint.ConstraintsModelImpl;
@@ -40,7 +38,7 @@
  * @author daisuke
  */
 @SuppressWarnings("serial")
-public class ColumnModelImpl implements ColumnModel, ColumnModelAccessor {
+public class ColumnModelImpl extends AbstractAttributeModelImpl implements ColumnModel, ColumnModelAccessor {
 	
 	/** 物理名 */
 	private String name;
@@ -77,11 +75,6 @@
 	 */
 	private boolean representation;
 	
-	/** モデルID */
-	private final UUID id;
-	
-	private final AdapterManager adapterManager = new AdapterManager();
-	
 
 	/**
 	 * コンストラクタ。
@@ -90,8 +83,7 @@
 	 * @category instance creation
 	 */
 	public ColumnModelImpl(UUID id) {
-		Validate.notNull(id);
-		this.id = id;
+		super(id);
 	}
 	
 	/**
@@ -106,20 +98,6 @@
 	/**
 	 * {@inheritDoc}
 	 */
-	public <T>T getAdapter(Class<T> adapter) {
-		return adapterManager.getAdapter(adapter);
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public List<Object> getAdapters() {
-		return adapterManager.getAdapters();
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
 	public ConstraintsModel getConstraints() {
 		if (dataTypeDescriptor instanceof DomainModel) {
 			DomainModel domainModel = (DomainModel) dataTypeDescriptor;
@@ -167,14 +145,6 @@
 	/**
 	 * {@inheritDoc}
 	 */
-	public UUID getId() {
-		assert id != null;
-		return id;
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
 	public String getLogicalName() {
 		return logicalName;
 	}
@@ -189,13 +159,6 @@
 	/**
 	 * {@inheritDoc}
 	 */
-	public boolean hasAdapter(Class<?> adapter) {
-		return adapterManager.hasAdapter(adapter);
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
 	public boolean hasConstraint(Class<? extends Constraint> constraintClass) {
 		Validate.notNull(constraintClass);
 		if (dataTypeDescriptor instanceof DomainModel) {
@@ -226,13 +189,6 @@
 	/**
 	 * {@inheritDoc}
 	 */
-	public void registerAdapter(Object adapter) {
-		adapterManager.registerAdapter(adapter);
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
 	public void removeConstraint(Class<? extends Constraint> constraintClass) {
 		assert constraints != null;
 		Validate.notNull(constraintClass);

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/model/datatype/DomainModelImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/model/datatype/DomainModelImpl.java	2008-12-11 18:36:40 UTC (rev 2253)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/model/datatype/DomainModelImpl.java	2008-12-12 04:16:26 UTC (rev 2254)
@@ -24,7 +24,7 @@
 import org.apache.commons.lang.ObjectUtils;
 import org.apache.commons.lang.Validate;
 
-import org.jiemamy.internal.accessor.DomainModelAccessor;
+import org.jiemamy.internal.accessor.datatype.DomainModelAccessor;
 import org.jiemamy.model.constraint.Constraint;
 import org.jiemamy.model.constraint.ConstraintsModel;
 import org.jiemamy.model.constraint.ConstraintsModelImpl;

Added: zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/attribute/AbstractAttributeModel.java
===================================================================
--- zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/attribute/AbstractAttributeModel.java	                        (rev 0)
+++ zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/attribute/AbstractAttributeModel.java	2008-12-12 04:16:26 UTC (rev 2254)
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
+ * Created on 2008/12/12
+ *
+ * This file is part of Jiemamy.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+ * either express or implied. See the License for the specific language
+ * governing permissions and limitations under the License.
+ */
+package org.jiemamy.model.attribute;
+
+import org.jiemamy.model.Identifiable;
+import org.jiemamy.utils.Adaptable;
+import org.jiemamy.utils.Disablable;
+
+/**
+ * リレーショナルデータベースモデルにおける「属性」を表すモデルインターフェイス。
+ * @author dmiyamoto
+ */
+public interface AbstractAttributeModel extends Adaptable, Identifiable, Disablable {
+	
+}


Property changes on: zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/attribute/AbstractAttributeModel.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/attribute/ColumnModel.java
===================================================================
--- zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/attribute/ColumnModel.java	2008-12-11 18:36:40 UTC (rev 2253)
+++ zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/attribute/ColumnModel.java	2008-12-12 04:16:26 UTC (rev 2254)
@@ -18,17 +18,15 @@
  */
 package org.jiemamy.model.attribute;
 
-import org.jiemamy.model.Identifiable;
 import org.jiemamy.model.constraint.Constraint;
 import org.jiemamy.model.constraint.ConstraintsModel;
 import org.jiemamy.model.datatype.DataTypeDescriptor;
-import org.jiemamy.utils.Adaptable;
 
 /**
- * カラムを表すモデルインターフェイス。
+ * リレーショナルデータベースにおける「カラム」を表すモデルインターフェイス。
  * @author daisuke
  */
-public interface ColumnModel extends Identifiable, Adaptable {
+public interface ColumnModel extends AbstractAttributeModel {
 	
 	/**
 	 * 制約を追加する。

Modified: zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/connection/AbstractConnectionModel.java
===================================================================
--- zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/connection/AbstractConnectionModel.java	2008-12-11 18:36:40 UTC (rev 2253)
+++ zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/connection/AbstractConnectionModel.java	2008-12-12 04:16:26 UTC (rev 2254)
@@ -22,7 +22,7 @@
 import org.jiemamy.utils.Adaptable;
 
 /**
- * コネクションを表すモデル抽象クラス。
+ * ダイアグラムにおける「結合」を表すモデルインターフェイス。
  * @author daisuke
  */
 public interface AbstractConnectionModel extends Adaptable {

Modified: zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/connection/AbstractRelationModel.java
===================================================================
--- zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/connection/AbstractRelationModel.java	2008-12-11 18:36:40 UTC (rev 2253)
+++ zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/connection/AbstractRelationModel.java	2008-12-12 04:16:26 UTC (rev 2254)
@@ -19,33 +19,12 @@
 package org.jiemamy.model.connection;
 
 import org.jiemamy.model.Identifiable;
-import org.jiemamy.model.RootModel;
+import org.jiemamy.utils.Disablable;
 
 /**
- * リレーションを表すモデルインターフェイス。
+ * リレーショナルデータベースモデルにおける「関連」を表すモデルインターフェイス。
  * @author daisuke
  */
-public interface AbstractRelationModel extends AbstractConnectionModel, Identifiable {
+public interface AbstractRelationModel extends AbstractConnectionModel, Identifiable, Disablable {
 	
-	/**
-	 * リレーション名を自動生成し、設定する。
-	 * 
-	 * <p>生成するリレーション名は、他のリレーション名と重複していてはいけない。</p>
-	 * 
-	 * @param rootModel
-	 */
-	void autoDenominate(RootModel rootModel);
-	
-	/**
-	 * エクスポート対象として無効かどうかを取得する。
-	 * @return エクスポート対象として無効かどうか
-	 */
-	boolean isDisabled();
-	
-	/**
-	 * エクスポート対象として無効かどうかを設定する。
-	 * @param disabled エクスポート対象として無効かどうか
-	 */
-	void setDisabled(boolean disabled);
-	
 }

Modified: zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/connection/ForeignKeyModel.java
===================================================================
--- zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/connection/ForeignKeyModel.java	2008-12-11 18:36:40 UTC (rev 2253)
+++ zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/connection/ForeignKeyModel.java	2008-12-12 04:16:26 UTC (rev 2254)
@@ -24,17 +24,25 @@
 import org.jiemamy.model.attribute.ColumnModel;
 
 /**
- * 外部キーモデル。
+ * リレーショナルデータベースにおける「外部キー」を表すモデルインターフェイス。
  * 
- * テーブル同士の関係を表すモデルクラス。
- * ForeignKeyModelImpl#getSource() で「参照元テーブル」、
- * ForeignKeyModelImpl#getTarget() で「参照先テーブル」を得ることができる。
+ * <p>{@link #getSource()}で「参照元テーブル」、
+ * {@link #getTarget()}で「参照先テーブル」を得ることができる。</p>
  * 
  * @author daisuke
  */
 public interface ForeignKeyModel extends AbstractRelationModel {
 	
 	/**
+	 * リレーション名を自動生成し、設定する。
+	 * 
+	 * <p>生成するリレーション名は、他のリレーション名と重複していてはいけない。</p>
+	 * 
+	 * @param rootModel
+	 */
+	void autoDenominate(RootModel rootModel);
+	
+	/**
 	 * target情報を元に、マッピングを生成する。
 	 * @param rootModel ルートモデル
 	 * @param createColumn 参照先カラムと同名のカラムを生成して、そのカラムにマッピングする場合は<tt>true</tt>

Modified: zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/node/AbstractEntityModel.java
===================================================================
--- zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/node/AbstractEntityModel.java	2008-12-11 18:36:40 UTC (rev 2253)
+++ zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/node/AbstractEntityModel.java	2008-12-12 04:16:26 UTC (rev 2254)
@@ -22,12 +22,13 @@
 
 import org.jiemamy.model.Identifiable;
 import org.jiemamy.model.RootModel;
+import org.jiemamy.utils.Disablable;
 
 /**
- * エンティティを表すモデルインターフェイス。
+ * リレーショナルデータベースモデルにおける「実体」を表すモデルインターフェイス。
  * @author daisuke
  */
-public interface AbstractEntityModel extends AbstractNodeModel, Identifiable {
+public interface AbstractEntityModel extends AbstractNodeModel, Identifiable, Disablable {
 	
 	/**
 	 * エンティティ名を自動生成し、設定する。
@@ -83,12 +84,6 @@
 	List<AbstractEntityModel> getReferenceEntities(boolean recursive);
 	
 	/**
-	 * エクスポート対象として無効かどうかを取得する。
-	 * @return エクスポート対象として無効かどうか
-	 */
-	boolean isDisabled();
-	
-	/**
 	 * 開始スクリプトを設定する。
 	 * @param beginScript 開始スクリプト
 	 */
@@ -101,12 +96,6 @@
 	void setDescription(String description);
 	
 	/**
-	 * エクスポート対象として無効かどうかを設定する。
-	 * @param disabled エクスポート対象として無効かどうか
-	 */
-	void setDisabled(boolean disabled);
-	
-	/**
 	 * 終了スクリプトを設定する。
 	 * @param endScript 終了スクリプト
 	 */

Modified: zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/node/AbstractNodeModel.java
===================================================================
--- zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/node/AbstractNodeModel.java	2008-12-11 18:36:40 UTC (rev 2253)
+++ zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/node/AbstractNodeModel.java	2008-12-12 04:16:26 UTC (rev 2254)
@@ -24,7 +24,7 @@
 import org.jiemamy.utils.Adaptable;
 
 /**
- * ノードを表すモデルインターフェイス。
+ * ダイアグラムにおける「節点」を表すモデルインターフェイス。
  * @author daisuke
  */
 public interface AbstractNodeModel extends Adaptable {

Modified: zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/node/StickyModel.java
===================================================================
--- zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/node/StickyModel.java	2008-12-11 18:36:40 UTC (rev 2253)
+++ zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/node/StickyModel.java	2008-12-12 04:16:26 UTC (rev 2254)
@@ -19,7 +19,7 @@
 package org.jiemamy.model.node;
 
 /**
- * 付箋(注釈)を表すモデルインターフェイス。
+ * ダイアグラムにおける「付箋(注釈)」を表すモデルインターフェイス。
  * @author daisuke
  */
 public interface StickyModel extends AbstractNodeModel {

Modified: zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/node/TableModel.java
===================================================================
--- zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/node/TableModel.java	2008-12-11 18:36:40 UTC (rev 2253)
+++ zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/node/TableModel.java	2008-12-12 04:16:26 UTC (rev 2254)
@@ -27,7 +27,7 @@
 import org.jiemamy.model.index.IndexModel;
 
 /**
- * テーブルを表すモデルインターフェイス。
+ * リレーショナルデータベースにおける「テーブル」を表すモデルインターフェイス。
  * @author daisuke
  */
 public interface TableModel extends AbstractEntityModel {

Modified: zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/node/ViewModel.java
===================================================================
--- zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/node/ViewModel.java	2008-12-11 18:36:40 UTC (rev 2253)
+++ zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/model/node/ViewModel.java	2008-12-12 04:16:26 UTC (rev 2254)
@@ -18,9 +18,8 @@
  */
 package org.jiemamy.model.node;
 
-
 /**
- * ビューを表すモデルインターフェイス。
+ * リレーショナルデータベースにおける「ビュー」を表すモデルインターフェイス。
  * @author daisuke
  */
 public interface ViewModel extends AbstractEntityModel {

Added: zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/utils/Disablable.java
===================================================================
--- zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/utils/Disablable.java	                        (rev 0)
+++ zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/utils/Disablable.java	2008-12-12 04:16:26 UTC (rev 2254)
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
+ * Created on 2008/12/12
+ *
+ * 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.utils;
+
+/**
+ * TODO for dmiyamoto
+ * @author dmiyamoto
+ */
+public interface Disablable {
+	
+	/**
+	 * エクスポート対象として無効かどうかを取得する。
+	 * @return エクスポート対象として無効かどうか
+	 */
+	boolean isDisabled();
+	
+	/**
+	 * エクスポート対象として無効かどうかを設定する。
+	 * @param disabled エクスポート対象として無効かどうか
+	 */
+	void setDisabled(boolean disabled);
+	
+}


Property changes on: zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/utils/Disablable.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain


Jiemamy-notify メーリングリストの案内
アーカイブの一覧に戻る