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