svnno****@sourc*****
svnno****@sourc*****
2009年 9月 21日 (月) 02:35:30 JST
Revision: 3646 http://sourceforge.jp/projects/jiemamy/svn/view?view=rev&revision=3646 Author: yamkazu Date: 2009-09-21 02:35:30 +0900 (Mon, 21 Sep 2009) Log Message: ----------- [GEN-96] 既存のコミット済みファイルに適切なsvnプロパティを設定 Modified Paths: -------------- zeus/trunk/jiemamy-spec-core/LICENSE.txt zeus/trunk/jiemamy-spec-core/license/LICENSE.hamcrest.txt zeus/trunk/jiemamy-spec-core/license/list.txt zeus/trunk/jiemamy-spec-core/pom.xml zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/DispatchStrategy.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/EventBroker.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/InstanceProvider.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/Jiemamy.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/JiemamyFactory.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/JiemamyImplementation.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/JiemamyProperty.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/OfficialSpecs.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/OptionalSpec.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/ReferenceResolveException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/ReferenceResolver.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/ServiceLocator.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/Version.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/ExportConfig.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/ExportException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/Exporter.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/FileExportConfig.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/ImportConfig.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/ImportException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/Importer.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/BuiltinDataTypeMold.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/ConnectionAdvisor.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/DataTypeResolver.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/Dialect.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/EmitConfig.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/ImportMetadataConfig.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/MoldManager.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/editcommand/Command.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/editcommand/CommandListener.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/DriverNotFoundException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/ElementNotFoundException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/GenericModelingModeException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/IllegalDialectImplementationException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/IllegalImplementationException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/JiemamyException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/JiemamyImplementationNotFoundException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/JiemamyRuntimeException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/ModelConsistenceException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/TooManyElementsException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/UnexpectedConditionError.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/ColumnBuilder.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/DataTypeBuilder.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/ForeignKeyBuilder.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/JiemamyBuilder.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/TableBuilder.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/ViewBuilder.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/facade/JiemamyFacade.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/facade/SavePoint.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/formatter/SqlFormatter.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/Adapter.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/AdapterType.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/ElementReference.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/JiemamyElement.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/RootModel.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/AttributeModel.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/ColumnModel.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/ColumnRef.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/RepresentationAdapter.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/CheckConstraint.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ColumnCheckConstraint.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ColumnConstraint.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ConstraintModel.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/Deferrability.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ForeignKey.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/KeyConstraint.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/LocalKeyConstraint.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/NotNullConstraint.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/PrimaryKey.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/TableCheckConstraint.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/TableConstraint.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/UniqueKey.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ValueConstraint.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/dataset/DataSetModel.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/dataset/RecordModel.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/dataset/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/BuiltinDataType.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataType.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataTypeAdapter.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataTypeCategory.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataTypeHolder.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataTypeMold.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DomainModel.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DomainRef.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/LiteralType.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/PrecisionedDataTypeAdapter.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/SerialDataTypeAdapter.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/SizedDataTypeAdapter.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/TimezonedDataTypeAdapter.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/EntityModel.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/TableModel.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/TableRef.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/ViewModel.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/index/IndexColumnModel.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/index/IndexModel.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/index/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/script/AroundScript.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/script/Position.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/script/ScriptEngine.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/sql/SqlStatement.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/sql/Token.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/sql/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/serializer/JiemamySerializer.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/serializer/SerializationException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/serializer/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/Adaptable.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/AdapterNotFoundException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/Advisable.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/DatabaseConnectionConfig.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/Disablable.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/validator/CannotFixException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/validator/Problem.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/validator/Validator.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/CoreNamespace.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/CoreQName.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/JiemamyNamespace.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/JiemamyQName.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/package-info.java zeus/trunk/jiemamy-spec-core/src/main/javadoc/overview.html zeus/trunk/jiemamy-spec-core/src/main/resources/jiemamy-core.xsd zeus/trunk/jiemamy-spec-core/src/main/resources/sample.xml zeus/trunk/jiemamy-spec-core/src/site/docbook/reference/index.xml zeus/trunk/jiemamy-spec-core/src/site/site.xml zeus/trunk/jiemamy-spec-core/src/test/java/org/jiemamy/test/SampleXmlCoreTest.java zeus/trunk/jiemamy-spec-core/src/test/resources/logback.xml zeus/trunk/jiemamy-spec-diff/LICENSE.txt zeus/trunk/jiemamy-spec-diff/build.properties zeus/trunk/jiemamy-spec-diff/license/list.txt zeus/trunk/jiemamy-spec-diff/pom.xml zeus/trunk/jiemamy-spec-diff/src/main/java/org/jiemamy/diff/Diff.java zeus/trunk/jiemamy-spec-view/LICENSE.txt zeus/trunk/jiemamy-spec-view/license/LICENSE.hamcrest.txt zeus/trunk/jiemamy-spec-view/license/list.txt zeus/trunk/jiemamy-spec-view/pom.xml zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/JiemamyViewProperty.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/Migration.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/facade/JiemamyViewFacade.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/ConnectionProfile.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/DiagramPresentationModel.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/DiagramPresentations.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/Level.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/Mode.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/NodeProfile.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/connection/ConnectionAdapter.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/geometory/JmColor.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/geometory/JmPoint.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/geometory/JmRectangle.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/geometory/package-info.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/node/NodeAdapter.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/node/StickyModel.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/package-info.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/xml/ViewNamespace.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/xml/ViewQName.java zeus/trunk/jiemamy-spec-view/src/main/resources/jiemamy-view.xsd zeus/trunk/jiemamy-spec-view/src/test/java/org/jiemamy/model/geometory/JmColorTest.java zeus/trunk/jiemamy-zeus/LICENSE.txt zeus/trunk/jiemamy-zeus/checkstyle.xml zeus/trunk/jiemamy-zeus/findbugs.xml zeus/trunk/jiemamy-zeus/pom.xml Property Changed: ---------------- zeus/trunk/jiemamy-spec-core/LICENSE.txt zeus/trunk/jiemamy-spec-core/license/LICENSE.commons.txt zeus/trunk/jiemamy-spec-core/license/LICENSE.hamcrest.txt zeus/trunk/jiemamy-spec-core/license/LICENSE.junit.html zeus/trunk/jiemamy-spec-core/license/list.txt zeus/trunk/jiemamy-spec-core/pom.xml zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/DispatchStrategy.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/EventBroker.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/InstanceProvider.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/Jiemamy.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/JiemamyFactory.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/JiemamyImplementation.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/JiemamyProperty.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/OfficialSpecs.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/OptionalSpec.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/ReferenceResolveException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/ReferenceResolver.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/ServiceLocator.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/Version.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/ExportConfig.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/ExportException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/Exporter.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/FileExportConfig.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/ImportConfig.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/ImportException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/Importer.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/BuiltinDataTypeMold.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/ConnectionAdvisor.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/DataTypeResolver.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/Dialect.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/EmitConfig.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/ImportMetadataConfig.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/MoldManager.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/editcommand/Command.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/editcommand/CommandListener.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/DriverNotFoundException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/ElementNotFoundException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/GenericModelingModeException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/IllegalDialectImplementationException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/IllegalImplementationException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/JiemamyException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/JiemamyImplementationNotFoundException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/JiemamyRuntimeException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/ModelConsistenceException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/TooManyElementsException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/UnexpectedConditionError.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/ColumnBuilder.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/DataTypeBuilder.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/ForeignKeyBuilder.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/JiemamyBuilder.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/TableBuilder.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/ViewBuilder.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/facade/JiemamyFacade.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/facade/SavePoint.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/formatter/SqlFormatter.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/Adapter.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/AdapterType.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/ElementReference.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/JiemamyElement.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/RootModel.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/AttributeModel.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/ColumnModel.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/ColumnRef.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/RepresentationAdapter.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/CheckConstraint.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ColumnCheckConstraint.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ColumnConstraint.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ConstraintModel.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/Deferrability.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ForeignKey.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/KeyConstraint.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/LocalKeyConstraint.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/NotNullConstraint.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/PrimaryKey.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/TableCheckConstraint.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/TableConstraint.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/UniqueKey.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ValueConstraint.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/dataset/DataSetModel.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/dataset/RecordModel.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/dataset/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/BuiltinDataType.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataType.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataTypeAdapter.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataTypeCategory.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataTypeHolder.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataTypeMold.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DomainModel.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DomainRef.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/LiteralType.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/PrecisionedDataTypeAdapter.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/SerialDataTypeAdapter.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/SizedDataTypeAdapter.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/TimezonedDataTypeAdapter.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/EntityModel.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/TableModel.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/TableRef.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/ViewModel.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/index/IndexColumnModel.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/index/IndexModel.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/index/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/script/AroundScript.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/script/Position.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/script/ScriptEngine.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/sql/SqlStatement.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/sql/Token.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/sql/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/serializer/JiemamySerializer.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/serializer/SerializationException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/serializer/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/Adaptable.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/AdapterNotFoundException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/Advisable.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/DatabaseConnectionConfig.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/Disablable.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/package-info.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/validator/CannotFixException.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/validator/Problem.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/validator/Validator.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/CoreNamespace.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/CoreQName.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/JiemamyNamespace.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/JiemamyQName.java zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/package-info.java zeus/trunk/jiemamy-spec-core/src/main/javadoc/overview.html zeus/trunk/jiemamy-spec-core/src/main/resources/jiemamy-core.xsd zeus/trunk/jiemamy-spec-core/src/main/resources/sample.xml zeus/trunk/jiemamy-spec-core/src/site/docbook/reference/index.xml zeus/trunk/jiemamy-spec-core/src/site/site.xml zeus/trunk/jiemamy-spec-core/src/test/java/org/jiemamy/test/SampleXmlCoreTest.java zeus/trunk/jiemamy-spec-core/src/test/resources/logback.xml zeus/trunk/jiemamy-spec-diff/LICENSE.txt zeus/trunk/jiemamy-spec-diff/build.properties zeus/trunk/jiemamy-spec-diff/license/list.txt zeus/trunk/jiemamy-spec-diff/pom.xml zeus/trunk/jiemamy-spec-diff/src/main/java/org/jiemamy/diff/Diff.java zeus/trunk/jiemamy-spec-view/LICENSE.txt zeus/trunk/jiemamy-spec-view/license/LICENSE.hamcrest.txt zeus/trunk/jiemamy-spec-view/license/LICENSE.junit.html zeus/trunk/jiemamy-spec-view/license/list.txt zeus/trunk/jiemamy-spec-view/pom.xml zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/JiemamyViewProperty.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/Migration.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/facade/JiemamyViewFacade.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/ConnectionProfile.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/DiagramPresentationModel.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/DiagramPresentations.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/Level.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/Mode.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/NodeProfile.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/connection/ConnectionAdapter.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/geometory/JmColor.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/geometory/JmPoint.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/geometory/JmRectangle.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/geometory/package-info.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/node/NodeAdapter.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/node/StickyModel.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/package-info.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/xml/ViewNamespace.java zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/xml/ViewQName.java zeus/trunk/jiemamy-spec-view/src/main/resources/jiemamy-view.xsd zeus/trunk/jiemamy-spec-view/src/test/java/org/jiemamy/model/geometory/JmColorTest.java zeus/trunk/jiemamy-spec-view/src/test/java/org/jiemamy/test/SampleXmlViewTest.java zeus/trunk/jiemamy-zeus/LICENSE.txt zeus/trunk/jiemamy-zeus/checkstyle.xml zeus/trunk/jiemamy-zeus/findbugs.xml zeus/trunk/jiemamy-zeus/pom.xml Modified: zeus/trunk/jiemamy-spec-core/LICENSE.txt =================================================================== --- zeus/trunk/jiemamy-spec-core/LICENSE.txt 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/LICENSE.txt 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,202 +1,202 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. Property changes on: zeus/trunk/jiemamy-spec-core/LICENSE.txt ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Property changes on: zeus/trunk/jiemamy-spec-core/license/LICENSE.commons.txt ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/license/LICENSE.hamcrest.txt =================================================================== --- zeus/trunk/jiemamy-spec-core/license/LICENSE.hamcrest.txt 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/license/LICENSE.hamcrest.txt 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,27 +1,27 @@ -BSD License - -Copyright (c) 2000-2006, www.hamcrest.org -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list of -conditions and the following disclaimer. Redistributions in binary form must reproduce -the above copyright notice, this list of conditions and the following disclaimer in -the documentation and/or other materials provided with the distribution. - -Neither the name of Hamcrest nor the names of its contributors may be used to endorse -or promote products derived from this software without specific prior written -permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT -SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY -WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +BSD License + +Copyright (c) 2000-2006, www.hamcrest.org +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of +conditions and the following disclaimer. Redistributions in binary form must reproduce +the above copyright notice, this list of conditions and the following disclaimer in +the documentation and/or other materials provided with the distribution. + +Neither the name of Hamcrest nor the names of its contributors may be used to endorse +or promote products derived from this software without specific prior written +permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY +WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. Property changes on: zeus/trunk/jiemamy-spec-core/license/LICENSE.hamcrest.txt ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Property changes on: zeus/trunk/jiemamy-spec-core/license/LICENSE.junit.html ___________________________________________________________________ Modified: svn:mime-type - text/plain + text/html Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/license/list.txt =================================================================== --- zeus/trunk/jiemamy-spec-core/license/list.txt 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/license/list.txt 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,10 +1,10 @@ -BSD style: - Hamcrest Core, - Hamcrest Library - -Common Public License Version 1.0: - JUnit - -The Apache Software License, Version 2.0: - Commons Lang, - Jiemamy Core Specifications +BSD style: + Hamcrest Core, + Hamcrest Library + +Common Public License Version 1.0: + JUnit + +The Apache Software License, Version 2.0: + Commons Lang, + Jiemamy Core Specifications Property changes on: zeus/trunk/jiemamy-spec-core/license/list.txt ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/pom.xml =================================================================== --- zeus/trunk/jiemamy-spec-core/pom.xml 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/pom.xml 2009-09-20 17:35:30 UTC (rev 3646) @@ -2,15 +2,15 @@ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> + <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.jiemamy</groupId> - <artifactId>jiemamy-zeus</artifactId> + <artifactId>jiemamy-zeus</artifactId> <version>0.3-SNAPSHOT</version> <relativePath>../jiemamy-zeus</relativePath> </parent> <groupId>org.jiemamy</groupId> - <artifactId>jiemamy-spec-core</artifactId> + <artifactId>jiemamy-spec-core</artifactId> <name>Jiemamy Core Specifications</name> <version>${project.parent.version}</version> <description><![CDATA[Jiemamyのコア仕様を提供するコンポーネント]]></description> @@ -30,24 +30,24 @@ <developerConnection>scm:svn:svn+ssh://svn.sourceforge.jp/svnroot/jiemamy/artemis/trunk/org.jiemamy.spec.core</developerConnection> <url>http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi/artemis/trunk/org.jiemamy.spec.core/?root=jiemamy</url> </scm> - <dependencies> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.5</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.hamcrest</groupId> - <artifactId>hamcrest-library</artifactId> - <version>1.1</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>commons-lang</groupId> - <artifactId>commons-lang</artifactId> - <version>2.4</version> - <scope>test</scope> - </dependency> + <dependencies> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.5</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.hamcrest</groupId> + <artifactId>hamcrest-library</artifactId> + <version>1.1</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>commons-lang</groupId> + <artifactId>commons-lang</artifactId> + <version>2.4</version> + <scope>test</scope> + </dependency> </dependencies> </project> \ No newline at end of file Property changes on: zeus/trunk/jiemamy-spec-core/pom.xml ___________________________________________________________________ Modified: svn:mime-type - text/plain + text/xml Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/DispatchStrategy.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/DispatchStrategy.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/DispatchStrategy.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,42 +1,42 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/02/15 - * - * 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; - -import org.jiemamy.editcommand.Command; -import org.jiemamy.editcommand.CommandListener; - -/** - * リスナに対してEDITコマンドの通知を行うかどうかを判断するための戦略 - * - * @since 0.2 - * @author daisuke - */ -public interface DispatchStrategy { - - /** - * 指定されたリスナに対して、EDITコマンドの実行の通知が必要かどうかを判断する。 - * - * @param listener EDITコマンドリスナ - * @param command EDITコマンド - * @return dispatchが必要な場合は{@code true}、そうでない場合は{@code false} - * @since 0.2 - */ - boolean needToDispatch(CommandListener listener, Command command); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/02/15 + * + * 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; + +import org.jiemamy.editcommand.Command; +import org.jiemamy.editcommand.CommandListener; + +/** + * リスナに対してEDITコマンドの通知を行うかどうかを判断するための戦略 + * + * @since 0.2 + * @author daisuke + */ +public interface DispatchStrategy { + + /** + * 指定されたリスナに対して、EDITコマンドの実行の通知が必要かどうかを判断する。 + * + * @param listener EDITコマンドリスナ + * @param command EDITコマンド + * @return dispatchが必要な場合は{@code true}、そうでない場合は{@code false} + * @since 0.2 + */ + boolean needToDispatch(CommandListener listener, Command command); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/DispatchStrategy.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/EventBroker.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/EventBroker.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/EventBroker.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,81 +1,81 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/02/09 - * - * 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; - -import org.jiemamy.editcommand.Command; -import org.jiemamy.editcommand.CommandListener; - -/** - * EDITコマンドの実行を監視し、登録されている{@link CommandListener}にイベントを通知する。 - * - * @since 0.2 - * @author shin1ogawa - */ -public interface EventBroker { - - /** - * 指定されたリスナを登録する。 - * - * @param listener 登録するリスナ - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void addListener(CommandListener listener); - - /** - * 指定されたリスナを、通知の判断を行う戦略と共に登録する。 - * - * @param listener 登録するリスナ - * @param strategy リスナに対してEDITコマンドの通知を行うかどうかを判断する戦略 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void addListener(CommandListener listener, DispatchStrategy strategy); - - /** - * EDITコマンドをイベントとして登録されたリスナに通知する。 - * - * <p>引数として与えるEDITコマンドは、既に実行済みであることが通例である。</p> - * - * @param command 実行されたEDITコマンド - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void fireCommandProcessed(Command command); - - /** - * 指定されたリスナを削除する。 - * - * @param listener 削除するリスナ - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void removeListener(CommandListener listener); - - /** - * リスナに対する通知が必要かどうかを判断するための戦略を設定する。 - * THINK setDefaultStrategy() という名称の方が良くないかな? - * - * @param strategy デフォルトで適用される{@link DispatchStrategy}の実装インスタンス - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void setStrategy(DispatchStrategy strategy); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/02/09 + * + * 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; + +import org.jiemamy.editcommand.Command; +import org.jiemamy.editcommand.CommandListener; + +/** + * EDITコマンドの実行を監視し、登録されている{@link CommandListener}にイベントを通知する。 + * + * @since 0.2 + * @author shin1ogawa + */ +public interface EventBroker { + + /** + * 指定されたリスナを登録する。 + * + * @param listener 登録するリスナ + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void addListener(CommandListener listener); + + /** + * 指定されたリスナを、通知の判断を行う戦略と共に登録する。 + * + * @param listener 登録するリスナ + * @param strategy リスナに対してEDITコマンドの通知を行うかどうかを判断する戦略 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void addListener(CommandListener listener, DispatchStrategy strategy); + + /** + * EDITコマンドをイベントとして登録されたリスナに通知する。 + * + * <p>引数として与えるEDITコマンドは、既に実行済みであることが通例である。</p> + * + * @param command 実行されたEDITコマンド + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void fireCommandProcessed(Command command); + + /** + * 指定されたリスナを削除する。 + * + * @param listener 削除するリスナ + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void removeListener(CommandListener listener); + + /** + * リスナに対する通知が必要かどうかを判断するための戦略を設定する。 + * THINK setDefaultStrategy() という名称の方が良くないかな? + * + * @param strategy デフォルトで適用される{@link DispatchStrategy}の実装インスタンス + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void setStrategy(DispatchStrategy strategy); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/EventBroker.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/InstanceProvider.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/InstanceProvider.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/InstanceProvider.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,60 +1,60 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/12/10 - * - * 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; - -import java.lang.reflect.Constructor; - -import org.jiemamy.exception.IllegalImplementationException; - -/** - * Jiemamyが特定のインスタンスにアクセスする方法を示す戦略インターフェイス。 - * - * <p>{@link Jiemamy}がインスタンスをどのようにして取得するかは、下記の例のように利用環境に依存する。 - * このストラテジは、ファクトリ({@link Jiemamy})に対してインスタンスの取得する方法を与えるためのインターフェイスである。</p> - * - * <ul> - * <li>普通に new (もしくは{@link Class#newInstance()}や {@link Constructor#newInstance(Object...)})</li> - * <li>インスタンス管理を行い、キャッシュされたインスタンスを再利用するケース</li> - * <li>DI Containerや、その他フレームワークがインスタンスを生成し、管理するケース等</li> - * </ul> - * - * @param <T> 対象インスタンスの型 - * @since 0.2 - * @author daisuke - */ - @ Deprecated -public interface InstanceProvider<T> { - - /** - * インスタンスを取得する。 - * - * <p>Jiemamyがインスタンスを取得する為のメソッドであり、APIユーザがコールすることは意図していない。</p> - * - * @param fqcn 完全修飾クラス名 - * @return インスタンス - * @throws ClassNotFoundException 指定した型が見つからなかった場合 - * @throws IllegalArgumentException 指定した型がT型ではなかった場合 - * @throws IllegalImplementationException 指定した型がインスタンスできない型(abstract, interface)だった場合 - * @throws IllegalImplementationException 指定した型の可視性がpublicではなかった場合 - * @since 0.2 - */ - @Deprecated - T getInstance(String fqcn) throws ClassNotFoundException; - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/12/10 + * + * 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; + +import java.lang.reflect.Constructor; + +import org.jiemamy.exception.IllegalImplementationException; + +/** + * Jiemamyが特定のインスタンスにアクセスする方法を示す戦略インターフェイス。 + * + * <p>{@link Jiemamy}がインスタンスをどのようにして取得するかは、下記の例のように利用環境に依存する。 + * このストラテジは、ファクトリ({@link Jiemamy})に対してインスタンスの取得する方法を与えるためのインターフェイスである。</p> + * + * <ul> + * <li>普通に new (もしくは{@link Class#newInstance()}や {@link Constructor#newInstance(Object...)})</li> + * <li>インスタンス管理を行い、キャッシュされたインスタンスを再利用するケース</li> + * <li>DI Containerや、その他フレームワークがインスタンスを生成し、管理するケース等</li> + * </ul> + * + * @param <T> 対象インスタンスの型 + * @since 0.2 + * @author daisuke + */ + @ Deprecated +public interface InstanceProvider<T> { + + /** + * インスタンスを取得する。 + * + * <p>Jiemamyがインスタンスを取得する為のメソッドであり、APIユーザがコールすることは意図していない。</p> + * + * @param fqcn 完全修飾クラス名 + * @return インスタンス + * @throws ClassNotFoundException 指定した型が見つからなかった場合 + * @throws IllegalArgumentException 指定した型がT型ではなかった場合 + * @throws IllegalImplementationException 指定した型がインスタンスできない型(abstract, interface)だった場合 + * @throws IllegalImplementationException 指定した型の可視性がpublicではなかった場合 + * @since 0.2 + */ + @Deprecated + T getInstance(String fqcn) throws ClassNotFoundException; + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/InstanceProvider.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/Jiemamy.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/Jiemamy.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/Jiemamy.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,517 +1,517 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/09/25 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy; - -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import javax.imageio.spi.ServiceRegistry; - -import org.jiemamy.dialect.Dialect; -import org.jiemamy.dialect.EmitConfig; -import org.jiemamy.exception.IllegalImplementationException; -import org.jiemamy.exception.JiemamyImplementationNotFoundException; -import org.jiemamy.exception.JiemamyRuntimeException; -import org.jiemamy.facade.JiemamyFacade; -import org.jiemamy.model.RootModel; -import org.jiemamy.model.sql.SqlStatement; -import org.jiemamy.serializer.JiemamySerializer; -import org.jiemamy.xml.JiemamyNamespace; - -/** - * Jiemamyのコントロール中枢クラス。 - * - * <p>Jiemamyは、このクラスのインスタンス毎に、モデル群のコンテキストを定めており、それを「インスタンス空間」と呼ぶ。 - * 複数のインスタンス空間をまたがるモデルが関係を持ってはならない。(子モデルとなる等)</p> - * - * <p>また、Jiemamy関連クラスのインスタンスを生成・取得するためのファクトリ({@link JiemamyFactory})のプロバイダとして機能する。<p> - * - * <p>newInstanceの引数には、使用する実装が提供する {@link JiemamyImplementation} のインスタンスを与えることができる。 - * この引数により、実装の種類及び、その実装が提供する仕様の範囲が決定される。</p> - * - * @since 0.2 - * @author daisuke - */ -public final class Jiemamy { - - /** - * Jiemamyインスタンスを生成する。 - * - * <p>このメソッドで初期化を行った場合、各動作のデフォルトは下記の通りとなる。</p> - * - * <table style="border:1px solid black; border-collapse: collapse;"> - * <tr> - * <td style="border:1px solid black">{@link JiemamyFactory}で使用されるデフォルトのJiemamy実装</td> - * <td style="border:1px solid black">Artemis</td> - * </tr> - * <tr> - * <td style="border:1px solid black">インスタンスプロバイダ</td> - * <td style="border:1px solid black">全て{@link DefaultInstanceProvider}</td> - * </tr> - * </table> - * - * @return Jiemamyインスタンス - * @throws JiemamyRuntimeException Artemis実装が見つからない、もしくは不正である場合 - * @since 0.2 - */ - public static Jiemamy newInstance() { - return newInstance(findDefaultImplementation(), findServiceLocator()); - } - - /** - * Jiemamyインスタンスを生成する。 - * - * <p>このメソッドで初期化を行った場合、各動作のデフォルトは下記の通りとなる。</p> - * - * <table style="border:1px solid black; border-collapse: collapse;"> - * <tr> - * <td style="border:1px solid black">{@link JiemamyFactory}で使用されるデフォルトのJiemamy実装</td> - * <td style="border:1px solid black">Artemis</td> - * </tr> - * <tr> - * <td style="border:1px solid black">デフォルトの{@link Dialect}プロバイダ</td> - * <td style="border:1px solid black">引数に指定したもの</td> - * </tr> - * </table> - * - * @param defaultDialectProvider {@link JiemamyFactory}で使用されるデフォルトの{@link Dialect}インスタンス取得戦略 - * @return Jiemamyインスタンス - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - @Deprecated - public static Jiemamy newInstance(InstanceProvider<Dialect> defaultDialectProvider) { - return new Jiemamy(findDefaultImplementation(), defaultDialectProvider); - } - - /** - * Jiemamyインスタンスを生成する。 - * - * <p>このメソッドで初期化を行った場合、各動作のデフォルトは下記の通りとなる。</p> - * - * <table style="border:1px solid black; border-collapse: collapse;"> - * <tr> - * <td style="border:1px solid black">{@link JiemamyFactory}で使用されるデフォルトのJiemamy実装</td> - * <td style="border:1px solid black">引数に指定したもの</td> - * </tr> - * <tr> - * <td style="border:1px solid black">インスタンスプロバイダ</td> - * <td style="border:1px solid black">全て{@link DefaultInstanceProvider}</td> - * </tr> - * </table> - * - * @param defaultImplementation {@link JiemamyFactory}で使用されるデフォルトのJiemamy実装 - * @return Jiemamyインスタンス - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - public static Jiemamy newInstance(JiemamyImplementation defaultImplementation) { - return newInstance(defaultImplementation, findServiceLocator()); - } - - /** - * Jiemamyインスタンスを生成する。 - * - * <p>このメソッドで初期化を行った場合、各動作のデフォルトは下記の通りとなる。</p> - * - * <table style="border:1px solid black; border-collapse: collapse;"> - * <tr> - * <td style="border:1px solid black">{@link JiemamyFactory}で使用されるデフォルトのJiemamy実装</td> - * <td style="border:1px solid black">引数に指定したもの</td> - * </tr> - * <tr> - * <td style="border:1px solid black">デフォルトの{@link Dialect}プロバイダ</td> - * <td style="border:1px solid black">引数に指定したもの</td> - * </tr> - * </table> - * - * @param implementation {@link JiemamyFactory}で使用されるデフォルトのJiemamy実装 - * @param defaultDialectProvider {@link JiemamyFactory}で使用されるデフォルトの{@link Dialect}インスタンス取得戦略 - * @return Jiemamyインスタンス - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - @Deprecated - public static Jiemamy newInstance(JiemamyImplementation implementation, - InstanceProvider<Dialect> defaultDialectProvider) { - return new Jiemamy(implementation, defaultDialectProvider); - } - - /** - * Jiemamyインスタンスを生成する。 - * - * <p>このメソッドで初期化を行った場合、各動作のデフォルトは下記の通りとなる。</p> - * - * <table style="border:1px solid black; border-collapse: collapse;"> - * <tr> - * <td style="border:1px solid black">{@link JiemamyFactory}で使用されるデフォルトのJiemamy実装</td> - * <td style="border:1px solid black">引数に指定したもの</td> - * </tr> - * <tr> - * <td style="border:1px solid black">インスタンスプロバイダ</td> - * <td style="border:1px solid black">引数に指定したもの</td> - * </tr> - * </table> - * - * @param implementation {@link JiemamyFactory}で使用されるデフォルトのJiemamy実装 - * @param serviceLocator Jiemamyが使用するサービスロケータ - * @return Jiemamyインスタンス - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.3 - */ - public static Jiemamy newInstance(JiemamyImplementation implementation, ServiceLocator serviceLocator) { - return new Jiemamy(implementation, serviceLocator); - } - - /** - * Jiemamyインスタンスを生成する。 - * - * <p>このメソッドで初期化を行った場合、各動作のデフォルトは下記の通りとなる。</p> - * - * <table style="border:1px solid black; border-collapse: collapse;"> - * <tr> - * <td style="border:1px solid black">{@link JiemamyFactory}で使用されるデフォルトのJiemamy実装</td> - * <td style="border:1px solid black">Artemis</td> - * </tr> - * <tr> - * <td style="border:1px solid black">インスタンスプロバイダ</td> - * <td style="border:1px solid black">引数に指定したもの</td> - * </tr> - * </table> - * - * @param serviceLocator Jiemamyが使用するサービスロケータ - * @return Jiemamyインスタンス - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.3 - */ - public static Jiemamy newInstance(ServiceLocator serviceLocator) { - return new Jiemamy(findDefaultImplementation(), serviceLocator); - } - - /** - * デフォルトの{@link JiemamyImplementation}実装のインスタンスを取得する。 - * - * @return デフォルトのJiemamy実装 - * @throws JiemamyImplementationNotFoundException 実装がクラスパス上に見つからない・または不正な場合 - */ - private static JiemamyImplementation findDefaultImplementation() { - Iterator<JiemamyImplementation> providers = ServiceRegistry.lookupProviders(JiemamyImplementation.class); - if (providers.hasNext()) { - return providers.next(); - } - - // TODO 以下、互換性維持コード。JiemamyImplementationNotFoundExceptionを投げてしまってよい。 - String defaultImplementation = "org.jiemamy.Artemis"; - try { - Class<?> artemisClass = Class.forName(defaultImplementation); - return (JiemamyImplementation) artemisClass.newInstance(); - } catch (ClassNotFoundException e) { - throw new JiemamyImplementationNotFoundException(defaultImplementation, e); - } catch (InstantiationException e) { - throw new JiemamyImplementationNotFoundException("Illegal Jiemamy Artemis implementation.", e); - } catch (IllegalAccessException e) { - throw new JiemamyImplementationNotFoundException("Illegal Jiemamy Artemis implementation.", e); - } - } - - /** - * {@link ServiceLocator}実装のインスタンスを取得する。 - * - * @return {@link ServiceLocator}実装 - */ - private static ServiceLocator findServiceLocator() { - Iterator<ServiceLocator> providers = ServiceRegistry.lookupProviders(ServiceLocator.class); - if (providers.hasNext()) { - return providers.next(); - } - - return new DefaultServiceLocator(); - } - - - /** デフォルトで使用するJiemamy実装 */ - private final JiemamyImplementation defaultImplementation; - - private final ServiceLocator serviceLocator; - - - /** - * インスタンスを生成する。 - * - * @param defaultImplementation デフォルトで使用するJiemamy実装 - * @param dialectProvider デフォルトで使用する{@link Dialect}取得戦略 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - */ - @Deprecated - private Jiemamy(JiemamyImplementation defaultImplementation, final InstanceProvider<Dialect> dialectProvider) { - if (defaultImplementation == null || dialectProvider == null) { - throw new IllegalArgumentException(); - } - this.defaultImplementation = defaultImplementation; - serviceLocator = new ServiceLocator() { - - ServiceLocator delegate = findServiceLocator(); - - - public <T>T getService(Class<T> clazz, String fqcn) throws ClassNotFoundException { - if (Dialect.class.isAssignableFrom(clazz)) { - @SuppressWarnings("unchecked") - // reflectionでチェック済み - T result = (T) dialectProvider.getInstance(fqcn); - return result; - } - - return delegate.getService(clazz, fqcn); - } - }; - } - - /** - * インスタンスを生成する。 - * - * @param defaultImplementation デフォルトで使用するJiemamy実装 - * @param serviceLocator Jiemamyが使用するサービスロケータ - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - */ - private Jiemamy(JiemamyImplementation defaultImplementation, ServiceLocator serviceLocator) { - if (defaultImplementation == null || serviceLocator == null) { - throw new IllegalArgumentException(); - } - this.defaultImplementation = defaultImplementation; - this.serviceLocator = serviceLocator; - } - - /** - * {@link RootModel}を{@link SqlStatement}のリストに変換する。 - * - * @param rootModel 変換対象 - * @param config 設定オブジェクト - * @return {@link SqlStatement}のリスト - * @throws ClassNotFoundException {@link RootModel}に設定された{@link Dialect}の実装クラスが見つからない場合 - * @since 0.2 - */ - public List<SqlStatement> emitStatements(RootModel rootModel, EmitConfig config) throws ClassNotFoundException { - return getDialect(rootModel).emitStatements(rootModel, config); - } - - /** - * デフォルトで使用するJiemamy実装を取得する。 - * - * @return デフォルトで使用するJiemamy実装 - * @since 0.2 - */ - public JiemamyImplementation getDefaultImplementation() { - return defaultImplementation; - } - - /** - * SQL方言を取得する。 - * - * @param rootModel 適用対象{@link RootModel} - * @return SQL方言 - * @throws ClassNotFoundException SQL方言クラスがクラスパス内に見つからなかった場合 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - * @deprecated use {@link #getServiceLocator()}, {@link RootModel#getDialectClassName()} - */ - @Deprecated - public Dialect getDialect(RootModel rootModel) throws ClassNotFoundException { - if (rootModel == null) { - throw new IllegalArgumentException("The validated object is null"); - } - return getServiceLocator().getService(Dialect.class, rootModel.getDialectClassName()); - } - - /** - * イベントブローカを取得する。 - * - * @return イベントブローカ - * @see JiemamyImplementation#getEventBroker() - * @since 0.2 - */ - public EventBroker getEventBroker() { - return defaultImplementation.getEventBroker(); - } - - /** - * JiemamyFactoryを取得する。 - * - * <p>このメソッドで初期化を行った場合、Jiemamy実装及び{@link Dialect}インスタンス取得戦略は、 - * デフォルト(インスタンス生成時に決定されたもの)が使用される。</p> - * - * @return {@link JiemamyFactory} - * @since 0.2 - */ - public JiemamyFactory getFactory() { - return getFactory(defaultImplementation); - } - - /** - * コンテキストが関与するXML名前空間の配列を取得する。 - * - * @return コンテキストが関与するXML名前空間の配列 - * @since 0.2 - */ - public JiemamyNamespace[] getNamespaces() { - return defaultImplementation.getNamespaces(); - } - - /** - * 参照リゾルバを取得する。 - * - * @return 参照リゾルバ - * @see JiemamyImplementation#getReferenceResolver() - * @since 0.2 - */ - public ReferenceResolver getReferenceResolver() { - return defaultImplementation.getReferenceResolver(); - } - - /** - * シリアライザを取得する。 - * - * @return シリアライザ - * @since 0.2 - */ - public JiemamySerializer getSerializer() { - return defaultImplementation.getSerializer(this); - } - - /** - * インスタンス取得戦略を取得する。 - * - * @return インスタンス取得戦略 - * @since 0.3 - */ - public ServiceLocator getServiceLocator() { - return serviceLocator; - } - - /** - * 新しいファサードインスタンスを生成し、取得する。 - * - * @param <T> 取得するファサードの型 - * @param clazz 取得するファサードの型 - * @return 新しいファサード - * @since 0.2 - */ - public <T extends JiemamyFacade>T newFacade(Class<T> clazz) { - return defaultImplementation.<T> newFacade(this, clazz); - } - - /** - * JiemamyFactoryを取得する。 - * - * <p>与える{@link JiemamyImplementation}によって、ファクトリが生成する実装の種類及び、 - * その実装が提供する仕様のサポート範囲が決定される。</p> - * - * <p>また、与える{@link ServiceLocator}によって、ファクトリが {@link Dialect}のインスタンスを取得する戦略が - * 決定される。</p> - * - * @param implementation 使用するJiemamy実装 - * @return {@link JiemamyFactory} - * @throws IllegalStateException Jiemamyが既に初期化済みである場合 - * @since 0.2 - */ - JiemamyFactory getFactory(JiemamyImplementation implementation) { - return implementation.getFactory(this); - } - - - /** - * インスタンスにアクセスするデフォルトの方法を示す戦略クラス。 - * - * <p>リフレクションを使って、デフォルトコンストラクタでインスタンス生成を行う。 - * 一度生成されたインスタンスはキャッシングされ、二度目以降はインスタンス生成を行わない。</p> - * - * @param <T> 対象インスタンスの型 - * @since 0.2 - * @author daisuke - */ - @Deprecated - public static class DefaultInstanceProvider<T> implements InstanceProvider<T> { - - /** インスタンスキャッシュ */ - private Map<String, T> cache = new HashMap<String, T>(); - - - public T getInstance(String fqcn) throws ClassNotFoundException { - assert cache != null; - - if (fqcn == null) { - throw new ClassNotFoundException(); - } - - if (cache.get(fqcn) == null) { - Class<?> clazz = Class.forName(fqcn); - - try { - @SuppressWarnings("unchecked") - T instance = (T) clazz.newInstance(); - cache.put(fqcn, instance); - } catch (ClassCastException e) { - throw new IllegalArgumentException(fqcn); - } catch (InstantiationException e) { - throw new IllegalImplementationException(clazz, e); - } catch (IllegalAccessException e) { - throw new IllegalImplementationException(clazz, e); - } - } - - return cache.get(fqcn); - } - } - - /** - * デフォルトの {@link ServiceLocator} 実装クラス。 - * - * <p><a href="http://java.sun.com/j2se/1.3/ja/docs/ja/guide/jar/jar.html">JARファイル仕様</a>の - * サービスプロバイダの仕様に従って、サービスを読み込む。サービスが見つからなかった場合は、クラスローダからインスタンスの生成を試みる。</p> - * - * @since 0.3 - * @author daisuke - */ - public static class DefaultServiceLocator implements ServiceLocator { - - public <T>T getService(Class<T> clazz, String fqcn) throws ClassNotFoundException { - Iterator<T> providers = ServiceRegistry.lookupProviders(clazz); - while (providers.hasNext()) { - T serviceProvider = providers.next(); - if (serviceProvider.getClass().getName().equals(fqcn)) { - return serviceProvider; - } - } - - // FIXME テストクラスから実行されると、サービスロケータによってserviceを読み込めない。 - // このtryブロックがなければMySqlEmitterTestがコケる。なぜだろうか。 - try { - @SuppressWarnings("unchecked") - T result = (T) Class.forName(fqcn).newInstance(); - return result; - } catch (Exception e2) { - // ignore - } - - throw new ClassNotFoundException(fqcn); - } - - } -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/09/25 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy; + +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import javax.imageio.spi.ServiceRegistry; + +import org.jiemamy.dialect.Dialect; +import org.jiemamy.dialect.EmitConfig; +import org.jiemamy.exception.IllegalImplementationException; +import org.jiemamy.exception.JiemamyImplementationNotFoundException; +import org.jiemamy.exception.JiemamyRuntimeException; +import org.jiemamy.facade.JiemamyFacade; +import org.jiemamy.model.RootModel; +import org.jiemamy.model.sql.SqlStatement; +import org.jiemamy.serializer.JiemamySerializer; +import org.jiemamy.xml.JiemamyNamespace; + +/** + * Jiemamyのコントロール中枢クラス。 + * + * <p>Jiemamyは、このクラスのインスタンス毎に、モデル群のコンテキストを定めており、それを「インスタンス空間」と呼ぶ。 + * 複数のインスタンス空間をまたがるモデルが関係を持ってはならない。(子モデルとなる等)</p> + * + * <p>また、Jiemamy関連クラスのインスタンスを生成・取得するためのファクトリ({@link JiemamyFactory})のプロバイダとして機能する。<p> + * + * <p>newInstanceの引数には、使用する実装が提供する {@link JiemamyImplementation} のインスタンスを与えることができる。 + * この引数により、実装の種類及び、その実装が提供する仕様の範囲が決定される。</p> + * + * @since 0.2 + * @author daisuke + */ +public final class Jiemamy { + + /** + * Jiemamyインスタンスを生成する。 + * + * <p>このメソッドで初期化を行った場合、各動作のデフォルトは下記の通りとなる。</p> + * + * <table style="border:1px solid black; border-collapse: collapse;"> + * <tr> + * <td style="border:1px solid black">{@link JiemamyFactory}で使用されるデフォルトのJiemamy実装</td> + * <td style="border:1px solid black">Artemis</td> + * </tr> + * <tr> + * <td style="border:1px solid black">インスタンスプロバイダ</td> + * <td style="border:1px solid black">全て{@link DefaultInstanceProvider}</td> + * </tr> + * </table> + * + * @return Jiemamyインスタンス + * @throws JiemamyRuntimeException Artemis実装が見つからない、もしくは不正である場合 + * @since 0.2 + */ + public static Jiemamy newInstance() { + return newInstance(findDefaultImplementation(), findServiceLocator()); + } + + /** + * Jiemamyインスタンスを生成する。 + * + * <p>このメソッドで初期化を行った場合、各動作のデフォルトは下記の通りとなる。</p> + * + * <table style="border:1px solid black; border-collapse: collapse;"> + * <tr> + * <td style="border:1px solid black">{@link JiemamyFactory}で使用されるデフォルトのJiemamy実装</td> + * <td style="border:1px solid black">Artemis</td> + * </tr> + * <tr> + * <td style="border:1px solid black">デフォルトの{@link Dialect}プロバイダ</td> + * <td style="border:1px solid black">引数に指定したもの</td> + * </tr> + * </table> + * + * @param defaultDialectProvider {@link JiemamyFactory}で使用されるデフォルトの{@link Dialect}インスタンス取得戦略 + * @return Jiemamyインスタンス + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + @Deprecated + public static Jiemamy newInstance(InstanceProvider<Dialect> defaultDialectProvider) { + return new Jiemamy(findDefaultImplementation(), defaultDialectProvider); + } + + /** + * Jiemamyインスタンスを生成する。 + * + * <p>このメソッドで初期化を行った場合、各動作のデフォルトは下記の通りとなる。</p> + * + * <table style="border:1px solid black; border-collapse: collapse;"> + * <tr> + * <td style="border:1px solid black">{@link JiemamyFactory}で使用されるデフォルトのJiemamy実装</td> + * <td style="border:1px solid black">引数に指定したもの</td> + * </tr> + * <tr> + * <td style="border:1px solid black">インスタンスプロバイダ</td> + * <td style="border:1px solid black">全て{@link DefaultInstanceProvider}</td> + * </tr> + * </table> + * + * @param defaultImplementation {@link JiemamyFactory}で使用されるデフォルトのJiemamy実装 + * @return Jiemamyインスタンス + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + public static Jiemamy newInstance(JiemamyImplementation defaultImplementation) { + return newInstance(defaultImplementation, findServiceLocator()); + } + + /** + * Jiemamyインスタンスを生成する。 + * + * <p>このメソッドで初期化を行った場合、各動作のデフォルトは下記の通りとなる。</p> + * + * <table style="border:1px solid black; border-collapse: collapse;"> + * <tr> + * <td style="border:1px solid black">{@link JiemamyFactory}で使用されるデフォルトのJiemamy実装</td> + * <td style="border:1px solid black">引数に指定したもの</td> + * </tr> + * <tr> + * <td style="border:1px solid black">デフォルトの{@link Dialect}プロバイダ</td> + * <td style="border:1px solid black">引数に指定したもの</td> + * </tr> + * </table> + * + * @param implementation {@link JiemamyFactory}で使用されるデフォルトのJiemamy実装 + * @param defaultDialectProvider {@link JiemamyFactory}で使用されるデフォルトの{@link Dialect}インスタンス取得戦略 + * @return Jiemamyインスタンス + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + @Deprecated + public static Jiemamy newInstance(JiemamyImplementation implementation, + InstanceProvider<Dialect> defaultDialectProvider) { + return new Jiemamy(implementation, defaultDialectProvider); + } + + /** + * Jiemamyインスタンスを生成する。 + * + * <p>このメソッドで初期化を行った場合、各動作のデフォルトは下記の通りとなる。</p> + * + * <table style="border:1px solid black; border-collapse: collapse;"> + * <tr> + * <td style="border:1px solid black">{@link JiemamyFactory}で使用されるデフォルトのJiemamy実装</td> + * <td style="border:1px solid black">引数に指定したもの</td> + * </tr> + * <tr> + * <td style="border:1px solid black">インスタンスプロバイダ</td> + * <td style="border:1px solid black">引数に指定したもの</td> + * </tr> + * </table> + * + * @param implementation {@link JiemamyFactory}で使用されるデフォルトのJiemamy実装 + * @param serviceLocator Jiemamyが使用するサービスロケータ + * @return Jiemamyインスタンス + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.3 + */ + public static Jiemamy newInstance(JiemamyImplementation implementation, ServiceLocator serviceLocator) { + return new Jiemamy(implementation, serviceLocator); + } + + /** + * Jiemamyインスタンスを生成する。 + * + * <p>このメソッドで初期化を行った場合、各動作のデフォルトは下記の通りとなる。</p> + * + * <table style="border:1px solid black; border-collapse: collapse;"> + * <tr> + * <td style="border:1px solid black">{@link JiemamyFactory}で使用されるデフォルトのJiemamy実装</td> + * <td style="border:1px solid black">Artemis</td> + * </tr> + * <tr> + * <td style="border:1px solid black">インスタンスプロバイダ</td> + * <td style="border:1px solid black">引数に指定したもの</td> + * </tr> + * </table> + * + * @param serviceLocator Jiemamyが使用するサービスロケータ + * @return Jiemamyインスタンス + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.3 + */ + public static Jiemamy newInstance(ServiceLocator serviceLocator) { + return new Jiemamy(findDefaultImplementation(), serviceLocator); + } + + /** + * デフォルトの{@link JiemamyImplementation}実装のインスタンスを取得する。 + * + * @return デフォルトのJiemamy実装 + * @throws JiemamyImplementationNotFoundException 実装がクラスパス上に見つからない・または不正な場合 + */ + private static JiemamyImplementation findDefaultImplementation() { + Iterator<JiemamyImplementation> providers = ServiceRegistry.lookupProviders(JiemamyImplementation.class); + if (providers.hasNext()) { + return providers.next(); + } + + // TODO 以下、互換性維持コード。JiemamyImplementationNotFoundExceptionを投げてしまってよい。 + String defaultImplementation = "org.jiemamy.Artemis"; + try { + Class<?> artemisClass = Class.forName(defaultImplementation); + return (JiemamyImplementation) artemisClass.newInstance(); + } catch (ClassNotFoundException e) { + throw new JiemamyImplementationNotFoundException(defaultImplementation, e); + } catch (InstantiationException e) { + throw new JiemamyImplementationNotFoundException("Illegal Jiemamy Artemis implementation.", e); + } catch (IllegalAccessException e) { + throw new JiemamyImplementationNotFoundException("Illegal Jiemamy Artemis implementation.", e); + } + } + + /** + * {@link ServiceLocator}実装のインスタンスを取得する。 + * + * @return {@link ServiceLocator}実装 + */ + private static ServiceLocator findServiceLocator() { + Iterator<ServiceLocator> providers = ServiceRegistry.lookupProviders(ServiceLocator.class); + if (providers.hasNext()) { + return providers.next(); + } + + return new DefaultServiceLocator(); + } + + + /** デフォルトで使用するJiemamy実装 */ + private final JiemamyImplementation defaultImplementation; + + private final ServiceLocator serviceLocator; + + + /** + * インスタンスを生成する。 + * + * @param defaultImplementation デフォルトで使用するJiemamy実装 + * @param dialectProvider デフォルトで使用する{@link Dialect}取得戦略 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + */ + @Deprecated + private Jiemamy(JiemamyImplementation defaultImplementation, final InstanceProvider<Dialect> dialectProvider) { + if (defaultImplementation == null || dialectProvider == null) { + throw new IllegalArgumentException(); + } + this.defaultImplementation = defaultImplementation; + serviceLocator = new ServiceLocator() { + + ServiceLocator delegate = findServiceLocator(); + + + public <T>T getService(Class<T> clazz, String fqcn) throws ClassNotFoundException { + if (Dialect.class.isAssignableFrom(clazz)) { + @SuppressWarnings("unchecked") + // reflectionでチェック済み + T result = (T) dialectProvider.getInstance(fqcn); + return result; + } + + return delegate.getService(clazz, fqcn); + } + }; + } + + /** + * インスタンスを生成する。 + * + * @param defaultImplementation デフォルトで使用するJiemamy実装 + * @param serviceLocator Jiemamyが使用するサービスロケータ + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + */ + private Jiemamy(JiemamyImplementation defaultImplementation, ServiceLocator serviceLocator) { + if (defaultImplementation == null || serviceLocator == null) { + throw new IllegalArgumentException(); + } + this.defaultImplementation = defaultImplementation; + this.serviceLocator = serviceLocator; + } + + /** + * {@link RootModel}を{@link SqlStatement}のリストに変換する。 + * + * @param rootModel 変換対象 + * @param config 設定オブジェクト + * @return {@link SqlStatement}のリスト + * @throws ClassNotFoundException {@link RootModel}に設定された{@link Dialect}の実装クラスが見つからない場合 + * @since 0.2 + */ + public List<SqlStatement> emitStatements(RootModel rootModel, EmitConfig config) throws ClassNotFoundException { + return getDialect(rootModel).emitStatements(rootModel, config); + } + + /** + * デフォルトで使用するJiemamy実装を取得する。 + * + * @return デフォルトで使用するJiemamy実装 + * @since 0.2 + */ + public JiemamyImplementation getDefaultImplementation() { + return defaultImplementation; + } + + /** + * SQL方言を取得する。 + * + * @param rootModel 適用対象{@link RootModel} + * @return SQL方言 + * @throws ClassNotFoundException SQL方言クラスがクラスパス内に見つからなかった場合 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + * @deprecated use {@link #getServiceLocator()}, {@link RootModel#getDialectClassName()} + */ + @Deprecated + public Dialect getDialect(RootModel rootModel) throws ClassNotFoundException { + if (rootModel == null) { + throw new IllegalArgumentException("The validated object is null"); + } + return getServiceLocator().getService(Dialect.class, rootModel.getDialectClassName()); + } + + /** + * イベントブローカを取得する。 + * + * @return イベントブローカ + * @see JiemamyImplementation#getEventBroker() + * @since 0.2 + */ + public EventBroker getEventBroker() { + return defaultImplementation.getEventBroker(); + } + + /** + * JiemamyFactoryを取得する。 + * + * <p>このメソッドで初期化を行った場合、Jiemamy実装及び{@link Dialect}インスタンス取得戦略は、 + * デフォルト(インスタンス生成時に決定されたもの)が使用される。</p> + * + * @return {@link JiemamyFactory} + * @since 0.2 + */ + public JiemamyFactory getFactory() { + return getFactory(defaultImplementation); + } + + /** + * コンテキストが関与するXML名前空間の配列を取得する。 + * + * @return コンテキストが関与するXML名前空間の配列 + * @since 0.2 + */ + public JiemamyNamespace[] getNamespaces() { + return defaultImplementation.getNamespaces(); + } + + /** + * 参照リゾルバを取得する。 + * + * @return 参照リゾルバ + * @see JiemamyImplementation#getReferenceResolver() + * @since 0.2 + */ + public ReferenceResolver getReferenceResolver() { + return defaultImplementation.getReferenceResolver(); + } + + /** + * シリアライザを取得する。 + * + * @return シリアライザ + * @since 0.2 + */ + public JiemamySerializer getSerializer() { + return defaultImplementation.getSerializer(this); + } + + /** + * インスタンス取得戦略を取得する。 + * + * @return インスタンス取得戦略 + * @since 0.3 + */ + public ServiceLocator getServiceLocator() { + return serviceLocator; + } + + /** + * 新しいファサードインスタンスを生成し、取得する。 + * + * @param <T> 取得するファサードの型 + * @param clazz 取得するファサードの型 + * @return 新しいファサード + * @since 0.2 + */ + public <T extends JiemamyFacade>T newFacade(Class<T> clazz) { + return defaultImplementation.<T> newFacade(this, clazz); + } + + /** + * JiemamyFactoryを取得する。 + * + * <p>与える{@link JiemamyImplementation}によって、ファクトリが生成する実装の種類及び、 + * その実装が提供する仕様のサポート範囲が決定される。</p> + * + * <p>また、与える{@link ServiceLocator}によって、ファクトリが {@link Dialect}のインスタンスを取得する戦略が + * 決定される。</p> + * + * @param implementation 使用するJiemamy実装 + * @return {@link JiemamyFactory} + * @throws IllegalStateException Jiemamyが既に初期化済みである場合 + * @since 0.2 + */ + JiemamyFactory getFactory(JiemamyImplementation implementation) { + return implementation.getFactory(this); + } + + + /** + * インスタンスにアクセスするデフォルトの方法を示す戦略クラス。 + * + * <p>リフレクションを使って、デフォルトコンストラクタでインスタンス生成を行う。 + * 一度生成されたインスタンスはキャッシングされ、二度目以降はインスタンス生成を行わない。</p> + * + * @param <T> 対象インスタンスの型 + * @since 0.2 + * @author daisuke + */ + @Deprecated + public static class DefaultInstanceProvider<T> implements InstanceProvider<T> { + + /** インスタンスキャッシュ */ + private Map<String, T> cache = new HashMap<String, T>(); + + + public T getInstance(String fqcn) throws ClassNotFoundException { + assert cache != null; + + if (fqcn == null) { + throw new ClassNotFoundException(); + } + + if (cache.get(fqcn) == null) { + Class<?> clazz = Class.forName(fqcn); + + try { + @SuppressWarnings("unchecked") + T instance = (T) clazz.newInstance(); + cache.put(fqcn, instance); + } catch (ClassCastException e) { + throw new IllegalArgumentException(fqcn); + } catch (InstantiationException e) { + throw new IllegalImplementationException(clazz, e); + } catch (IllegalAccessException e) { + throw new IllegalImplementationException(clazz, e); + } + } + + return cache.get(fqcn); + } + } + + /** + * デフォルトの {@link ServiceLocator} 実装クラス。 + * + * <p><a href="http://java.sun.com/j2se/1.3/ja/docs/ja/guide/jar/jar.html">JARファイル仕様</a>の + * サービスプロバイダの仕様に従って、サービスを読み込む。サービスが見つからなかった場合は、クラスローダからインスタンスの生成を試みる。</p> + * + * @since 0.3 + * @author daisuke + */ + public static class DefaultServiceLocator implements ServiceLocator { + + public <T>T getService(Class<T> clazz, String fqcn) throws ClassNotFoundException { + Iterator<T> providers = ServiceRegistry.lookupProviders(clazz); + while (providers.hasNext()) { + T serviceProvider = providers.next(); + if (serviceProvider.getClass().getName().equals(fqcn)) { + return serviceProvider; + } + } + + // FIXME テストクラスから実行されると、サービスロケータによってserviceを読み込めない。 + // このtryブロックがなければMySqlEmitterTestがコケる。なぜだろうか。 + try { + @SuppressWarnings("unchecked") + T result = (T) Class.forName(fqcn).newInstance(); + return result; + } catch (Exception e2) { + // ignore + } + + throw new ClassNotFoundException(fqcn); + } + + } +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/Jiemamy.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/JiemamyFactory.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/JiemamyFactory.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/JiemamyFactory.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,270 +1,270 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/12/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; - -import java.util.Set; -import java.util.UUID; - -import org.jiemamy.exception.IllegalImplementationException; -import org.jiemamy.experimental.builder.JiemamyBuilder; -import org.jiemamy.facade.JiemamyFacade; -import org.jiemamy.model.JiemamyElement; -import org.jiemamy.model.RootModel; -import org.jiemamy.model.attribute.ColumnModel; -import org.jiemamy.model.attribute.ColumnRef; -import org.jiemamy.model.datatype.DataType; -import org.jiemamy.model.datatype.DataTypeMold; -import org.jiemamy.model.datatype.DomainModel; -import org.jiemamy.model.datatype.DomainRef; -import org.jiemamy.model.entity.TableModel; -import org.jiemamy.model.entity.TableRef; -import org.jiemamy.serializer.JiemamySerializer; - -/** - * Jiemamy関連のインスタンスを生成するファクトリインターフェイス。 - * - * <p>ユーザは、このインターフェイスを介して、各種Jiemamy関連インスタンスを取得する。</p> - * - * @since 0.2 - * @author daisuke - */ -public interface JiemamyFactory { - - /** - * Jiemamy実装を取得する。 - * - * <p>{@code null}を返してはならない。</p> - * - * @return Jiemamy実装 - * @since 0.2 - */ - JiemamyImplementation getImplementation(); - - /** - * インスタンス空間に属する唯一の{@link RootModel}を取得する。存在しない場合は生成する。 - * - * <p>{@code null}を返してはならない。</p> - * - * @return {@link RootModel} - * @since 0.2 - */ - RootModel getRootModel(); - - /** - * 指定したIDを持つ、このインスタンス空間に属する唯一の{@link RootModel}を取得する。存在しない場合は生成する。 - * - * <p>{@code null}を返してはならない。</p> - * - * @param id モデルID - * @return {@link RootModel} - * @throws IllegalStateException インスタンス空間に既に別のIDを持つ{@link RootModel}が存在した場合 - * @since 0.2 - */ - RootModel getRootModel(UUID id); - - /** - * シリアライザを取得する。 - * - * <p>{@code null}を返してはならない。</p> - * - * @return シリアライザ - * @throws UnsupportedOperationException 実装がモデルのシリアライズをサポートしない場合 - * @since 0.2 - */ - JiemamySerializer getSerializer(); - - /** - * 追加仕様のサポート状態を取得する。 - * - * <p>{@code null}を返してはならない。</p> - * - * @return サポートされている追加仕様の{@link Set} - * @see JiemamyImplementation#getSupportedSpecs() - * @since 0.2 - */ - Set<OptionalSpec> getSupportedSpecs(); - - /** - * インスタンス空間に属する唯一の{@link RootModel}が生成済みであるかどうか調べる。 - * - * @return 生成済みの場合は{@code true}、そうでない場合は{@code false} - * @since 0.2 - */ - boolean hasRootModel(); - - /** - * 新しいアダプタインスタンスを生成する。 - * - * @param <T> 生成するアダプタの種類を表す型 - * @param clazz 生成するアダプタの種類を表す型 - * @return 生成されたアダプタ - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - <T>T newAdapter(Class<T> clazz); - - /** - * 新しいモデルビルダを生成する。 - * - * @param <M> モデルの型 - * @param <B> モデルビルダの型 - * @param clazz 生成したいモデルの型 - * @return モデルビルダ - * @throws UnsupportedOperationException 実装がビルダをサポートしない場合 - * @since 0.2 - */ - <M extends JiemamyElement, B extends JiemamyBuilder<M>>B newBuilder(Class<B> clazz); - - /** - * 鋳型情報から、新しい{@link DataType}型のインスタンスを生成する。 - * - * @param <T> データ型の型 - * @param mold 鋳型情報 - * @return {@link DataType}型のインスタンス - * @throws IllegalImplementationException moldに不正なアダプタが登録されている場合 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws IllegalArgumentException 引数に実装が対応していない {@link DataTypeMold}を与えた場合 - * @since 0.2 - */ - <T extends DataType>T newDataType(DataTypeMold<T> mold); - - /** - * 新しいファサードのインスタンスを生成し、取得する。 - * - * @param <T> 取得するファサードの型 - * @param clazz 取得するファサードの型 - * @return 新しいファサード - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - <T extends JiemamyFacade>T newFacade(Class<T> clazz); - - /** - * 新しいモデルを生成する。 - * - * <p>{@code null}を返してはならない。</p> - * - * @param <T> 生成するモデルの種類を表す型 - * @param clazz 生成するモデルの種類を表す型 - * @return 生成されたモデル - * @throws IllegalStateException ファクトリが初期化されていない場合 - * @throws IllegalArgumentException 引数clazzに責務外のクラスを指定して、インスタンスを取得しようとした場合 - * @throws IllegalArgumentException 引数として{@code null}を与えた場合 - * @since 0.2 - */ - <T extends JiemamyElement>T newModel(Class<T> clazz); - - /** - * 指定したIDを持つ新しいモデルを生成する。 - * - * <p>{@code null}を返してはならない。</p> - * - * @param <T> 生成するモデルの種類を表す型 - * @param clazz 生成するモデルの種類を表す型 - * @param id モデルID - * @return 生成されたモデル - * @throws IllegalStateException ファクトリが初期化されていない場合 - * @throws IllegalArgumentException 引数clazzに責務外のクラスを指定して、インスタンスを取得しようとした場合 - * @throws IllegalArgumentException 引数として{@code null}を与えた場合 - * @since 0.2 - */ - <T extends JiemamyElement>T newModel(Class<T> clazz, UUID id); - - /** - * {@link ColumnModel}の参照オブジェクトを生成する。 - * - * <p>{@code null}を返してはならない。</p> - * - * @param columnModel 対象の{@link ColumnModel} - * @return {@link ColumnModel}の参照オブジェクト - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - ColumnRef newReference(ColumnModel columnModel); - - /** - * {@link DomainModel}の参照オブジェクトを生成する。 - * - * <p>{@code null}を返してはならない。</p> - * - * @param domainModel 対象の{@link DomainModel} - * @return {@link DomainModel}の参照オブジェクト - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - DomainRef newReference(DomainModel domainModel); - -// /** -// * 新しい{@link RootModel}を生成する。 -// * -// * <p>{@code null}を返してはならない。</p> -// * -// * @return 新しい{@link RootModel} -// */ -// RootModel newRootModel(); -// -// /** -// * 指定したIDを持つ新しい{@link RootModel}を生成する。 -// * -// * <p>{@code null}を返してはならない。</p> -// * -// * @param id モデルID -// * @return 新しい{@link RootModel} -// */ -// RootModel newRootModel(UUID id); - - /** - * {@link TableModel}の参照オブジェクトを生成する。 - * - * <p>{@code null}を返してはならない。</p> - * - * @param tableModel 対象の{@link TableModel} - * @return {@link TableModel}の参照オブジェクト - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - TableRef newReference(TableModel tableModel); - - /** - * ファクトリが使用するJiemamy実装を設定する。 - * - * <p>このメソッドは、ファクトリのインスタンス生成直後に一度だけ呼ばれるべきである。 - * APIユーザによる直接の呼び出しは意図されていない。</p> - * - * @param implementation Jiemamy実装 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws IllegalStateException 以前に既にこのメソッドが一度呼ばれている場合 - * @since 0.2 - */ - void setImplementation(JiemamyImplementation implementation); - - /** - * ファクトリが生成するモデルオブジェクトが属する「インスタンス空間」を設定する。 - * - * <p>このメソッドは、ファクトリのインスタンス生成直後に一度だけ呼ばれるべきである。 - * APIユーザによる直接の呼び出しは意図されていない。</p> - * - * @param jiemamy インスタンス空間 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws IllegalStateException 以前に既にこのメソッドが一度呼ばれている場合 - * @since 0.2 - */ - void setJiemamy(Jiemamy jiemamy); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/12/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; + +import java.util.Set; +import java.util.UUID; + +import org.jiemamy.exception.IllegalImplementationException; +import org.jiemamy.experimental.builder.JiemamyBuilder; +import org.jiemamy.facade.JiemamyFacade; +import org.jiemamy.model.JiemamyElement; +import org.jiemamy.model.RootModel; +import org.jiemamy.model.attribute.ColumnModel; +import org.jiemamy.model.attribute.ColumnRef; +import org.jiemamy.model.datatype.DataType; +import org.jiemamy.model.datatype.DataTypeMold; +import org.jiemamy.model.datatype.DomainModel; +import org.jiemamy.model.datatype.DomainRef; +import org.jiemamy.model.entity.TableModel; +import org.jiemamy.model.entity.TableRef; +import org.jiemamy.serializer.JiemamySerializer; + +/** + * Jiemamy関連のインスタンスを生成するファクトリインターフェイス。 + * + * <p>ユーザは、このインターフェイスを介して、各種Jiemamy関連インスタンスを取得する。</p> + * + * @since 0.2 + * @author daisuke + */ +public interface JiemamyFactory { + + /** + * Jiemamy実装を取得する。 + * + * <p>{@code null}を返してはならない。</p> + * + * @return Jiemamy実装 + * @since 0.2 + */ + JiemamyImplementation getImplementation(); + + /** + * インスタンス空間に属する唯一の{@link RootModel}を取得する。存在しない場合は生成する。 + * + * <p>{@code null}を返してはならない。</p> + * + * @return {@link RootModel} + * @since 0.2 + */ + RootModel getRootModel(); + + /** + * 指定したIDを持つ、このインスタンス空間に属する唯一の{@link RootModel}を取得する。存在しない場合は生成する。 + * + * <p>{@code null}を返してはならない。</p> + * + * @param id モデルID + * @return {@link RootModel} + * @throws IllegalStateException インスタンス空間に既に別のIDを持つ{@link RootModel}が存在した場合 + * @since 0.2 + */ + RootModel getRootModel(UUID id); + + /** + * シリアライザを取得する。 + * + * <p>{@code null}を返してはならない。</p> + * + * @return シリアライザ + * @throws UnsupportedOperationException 実装がモデルのシリアライズをサポートしない場合 + * @since 0.2 + */ + JiemamySerializer getSerializer(); + + /** + * 追加仕様のサポート状態を取得する。 + * + * <p>{@code null}を返してはならない。</p> + * + * @return サポートされている追加仕様の{@link Set} + * @see JiemamyImplementation#getSupportedSpecs() + * @since 0.2 + */ + Set<OptionalSpec> getSupportedSpecs(); + + /** + * インスタンス空間に属する唯一の{@link RootModel}が生成済みであるかどうか調べる。 + * + * @return 生成済みの場合は{@code true}、そうでない場合は{@code false} + * @since 0.2 + */ + boolean hasRootModel(); + + /** + * 新しいアダプタインスタンスを生成する。 + * + * @param <T> 生成するアダプタの種類を表す型 + * @param clazz 生成するアダプタの種類を表す型 + * @return 生成されたアダプタ + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + <T>T newAdapter(Class<T> clazz); + + /** + * 新しいモデルビルダを生成する。 + * + * @param <M> モデルの型 + * @param <B> モデルビルダの型 + * @param clazz 生成したいモデルの型 + * @return モデルビルダ + * @throws UnsupportedOperationException 実装がビルダをサポートしない場合 + * @since 0.2 + */ + <M extends JiemamyElement, B extends JiemamyBuilder<M>>B newBuilder(Class<B> clazz); + + /** + * 鋳型情報から、新しい{@link DataType}型のインスタンスを生成する。 + * + * @param <T> データ型の型 + * @param mold 鋳型情報 + * @return {@link DataType}型のインスタンス + * @throws IllegalImplementationException moldに不正なアダプタが登録されている場合 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws IllegalArgumentException 引数に実装が対応していない {@link DataTypeMold}を与えた場合 + * @since 0.2 + */ + <T extends DataType>T newDataType(DataTypeMold<T> mold); + + /** + * 新しいファサードのインスタンスを生成し、取得する。 + * + * @param <T> 取得するファサードの型 + * @param clazz 取得するファサードの型 + * @return 新しいファサード + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + <T extends JiemamyFacade>T newFacade(Class<T> clazz); + + /** + * 新しいモデルを生成する。 + * + * <p>{@code null}を返してはならない。</p> + * + * @param <T> 生成するモデルの種類を表す型 + * @param clazz 生成するモデルの種類を表す型 + * @return 生成されたモデル + * @throws IllegalStateException ファクトリが初期化されていない場合 + * @throws IllegalArgumentException 引数clazzに責務外のクラスを指定して、インスタンスを取得しようとした場合 + * @throws IllegalArgumentException 引数として{@code null}を与えた場合 + * @since 0.2 + */ + <T extends JiemamyElement>T newModel(Class<T> clazz); + + /** + * 指定したIDを持つ新しいモデルを生成する。 + * + * <p>{@code null}を返してはならない。</p> + * + * @param <T> 生成するモデルの種類を表す型 + * @param clazz 生成するモデルの種類を表す型 + * @param id モデルID + * @return 生成されたモデル + * @throws IllegalStateException ファクトリが初期化されていない場合 + * @throws IllegalArgumentException 引数clazzに責務外のクラスを指定して、インスタンスを取得しようとした場合 + * @throws IllegalArgumentException 引数として{@code null}を与えた場合 + * @since 0.2 + */ + <T extends JiemamyElement>T newModel(Class<T> clazz, UUID id); + + /** + * {@link ColumnModel}の参照オブジェクトを生成する。 + * + * <p>{@code null}を返してはならない。</p> + * + * @param columnModel 対象の{@link ColumnModel} + * @return {@link ColumnModel}の参照オブジェクト + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + ColumnRef newReference(ColumnModel columnModel); + + /** + * {@link DomainModel}の参照オブジェクトを生成する。 + * + * <p>{@code null}を返してはならない。</p> + * + * @param domainModel 対象の{@link DomainModel} + * @return {@link DomainModel}の参照オブジェクト + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + DomainRef newReference(DomainModel domainModel); + +// /** +// * 新しい{@link RootModel}を生成する。 +// * +// * <p>{@code null}を返してはならない。</p> +// * +// * @return 新しい{@link RootModel} +// */ +// RootModel newRootModel(); +// +// /** +// * 指定したIDを持つ新しい{@link RootModel}を生成する。 +// * +// * <p>{@code null}を返してはならない。</p> +// * +// * @param id モデルID +// * @return 新しい{@link RootModel} +// */ +// RootModel newRootModel(UUID id); + + /** + * {@link TableModel}の参照オブジェクトを生成する。 + * + * <p>{@code null}を返してはならない。</p> + * + * @param tableModel 対象の{@link TableModel} + * @return {@link TableModel}の参照オブジェクト + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + TableRef newReference(TableModel tableModel); + + /** + * ファクトリが使用するJiemamy実装を設定する。 + * + * <p>このメソッドは、ファクトリのインスタンス生成直後に一度だけ呼ばれるべきである。 + * APIユーザによる直接の呼び出しは意図されていない。</p> + * + * @param implementation Jiemamy実装 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws IllegalStateException 以前に既にこのメソッドが一度呼ばれている場合 + * @since 0.2 + */ + void setImplementation(JiemamyImplementation implementation); + + /** + * ファクトリが生成するモデルオブジェクトが属する「インスタンス空間」を設定する。 + * + * <p>このメソッドは、ファクトリのインスタンス生成直後に一度だけ呼ばれるべきである。 + * APIユーザによる直接の呼び出しは意図されていない。</p> + * + * @param jiemamy インスタンス空間 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws IllegalStateException 以前に既にこのメソッドが一度呼ばれている場合 + * @since 0.2 + */ + void setJiemamy(Jiemamy jiemamy); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/JiemamyFactory.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/JiemamyImplementation.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/JiemamyImplementation.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/JiemamyImplementation.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,123 +1,123 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/09/26 - * - * 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; - -import java.util.Set; - -import org.jiemamy.facade.JiemamyFacade; -import org.jiemamy.serializer.JiemamySerializer; -import org.jiemamy.xml.JiemamyNamespace; - -/** - * Jiemamy実装(及び仕様範囲)を表すインターフェイス。 - * - * <p>{@link Jiemamy}クラスに対して各種ストラテジを供給する役割を果たす。</p> - * - * <p>Jiemamyが内部から利用するインターフェイスであり、ユーザが直接使用することは意図していない。</p> - * - * @since 0.2 - * @author daisuke - */ -public interface JiemamyImplementation { - - /** - * イベントブローカを取得する。 - * - * <p>{@code null}を返してはならない。</p> - * - * @return イベントブローカ - * @since 0.2 - */ - EventBroker getEventBroker(); - - /** - * 指定したインスタンス空間に属するモデルを生成するファクトリを取得する。 - * - * <p>{@code null}を返してはならない。</p> - * - * @param jiemamy インスタンス空間 - * @return ファクトリ - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @see Jiemamy#getFactory() - * @since 0.2 - */ - JiemamyFactory getFactory(Jiemamy jiemamy); - - /** - * Jiemamy実装が関与するXML名前空間の配列を取得する。 - * - * @return Jiemamy実装が関与するXML名前空間の配列 - * @since 0.2 - */ - JiemamyNamespace[] getNamespaces(); - - /** - * 参照リゾルバを取得する。 - * - * <p>{@code null}を返してはならない。</p> - * - * @return 参照リゾルバ - * @since 0.2 - */ - ReferenceResolver getReferenceResolver(); - - /** - * シリアライザを取得する。 - * - * <p>{@code null}を返してはならない。</p> - * - * @param jiemamy インスタンス空間 - * @return シリアライザ - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - JiemamySerializer getSerializer(Jiemamy jiemamy); - - /** - * 追加仕様のサポート状態を取得する。 - * - * <p>{@code null}を返してはならない。</p> - * - * @return サポートされている追加仕様の{@link Set} - * @since 0.2 - */ - Set<OptionalSpec> getSupportedSpecs(); - - /** - * Jiemamyのバージョンを取得する。 - * - * <p>{@code null}を返してはならない。</p> - * - * @return Jiemamyのバージョン - * @since 0.2 - */ - Version getVersion(); - - /** - * 新しいファサードのインスタンスを生成し、取得する。 - * - * @param <T> 取得するファサードの型 - * @param jiemamy インスタンス空間 - * @param clazz 取得するファサードの型 - * @return 新しいファサード - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - <T extends JiemamyFacade>T newFacade(Jiemamy jiemamy, Class<T> clazz); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/09/26 + * + * 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; + +import java.util.Set; + +import org.jiemamy.facade.JiemamyFacade; +import org.jiemamy.serializer.JiemamySerializer; +import org.jiemamy.xml.JiemamyNamespace; + +/** + * Jiemamy実装(及び仕様範囲)を表すインターフェイス。 + * + * <p>{@link Jiemamy}クラスに対して各種ストラテジを供給する役割を果たす。</p> + * + * <p>Jiemamyが内部から利用するインターフェイスであり、ユーザが直接使用することは意図していない。</p> + * + * @since 0.2 + * @author daisuke + */ +public interface JiemamyImplementation { + + /** + * イベントブローカを取得する。 + * + * <p>{@code null}を返してはならない。</p> + * + * @return イベントブローカ + * @since 0.2 + */ + EventBroker getEventBroker(); + + /** + * 指定したインスタンス空間に属するモデルを生成するファクトリを取得する。 + * + * <p>{@code null}を返してはならない。</p> + * + * @param jiemamy インスタンス空間 + * @return ファクトリ + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @see Jiemamy#getFactory() + * @since 0.2 + */ + JiemamyFactory getFactory(Jiemamy jiemamy); + + /** + * Jiemamy実装が関与するXML名前空間の配列を取得する。 + * + * @return Jiemamy実装が関与するXML名前空間の配列 + * @since 0.2 + */ + JiemamyNamespace[] getNamespaces(); + + /** + * 参照リゾルバを取得する。 + * + * <p>{@code null}を返してはならない。</p> + * + * @return 参照リゾルバ + * @since 0.2 + */ + ReferenceResolver getReferenceResolver(); + + /** + * シリアライザを取得する。 + * + * <p>{@code null}を返してはならない。</p> + * + * @param jiemamy インスタンス空間 + * @return シリアライザ + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + JiemamySerializer getSerializer(Jiemamy jiemamy); + + /** + * 追加仕様のサポート状態を取得する。 + * + * <p>{@code null}を返してはならない。</p> + * + * @return サポートされている追加仕様の{@link Set} + * @since 0.2 + */ + Set<OptionalSpec> getSupportedSpecs(); + + /** + * Jiemamyのバージョンを取得する。 + * + * <p>{@code null}を返してはならない。</p> + * + * @return Jiemamyのバージョン + * @since 0.2 + */ + Version getVersion(); + + /** + * 新しいファサードのインスタンスを生成し、取得する。 + * + * @param <T> 取得するファサードの型 + * @param jiemamy インスタンス空間 + * @param clazz 取得するファサードの型 + * @return 新しいファサード + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + <T extends JiemamyFacade>T newFacade(Jiemamy jiemamy, Class<T> clazz); +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/JiemamyImplementation.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/JiemamyProperty.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/JiemamyProperty.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/JiemamyProperty.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,423 +1,423 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/10/13 - * - * 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; - -import org.jiemamy.model.JiemamyElement; -import org.jiemamy.model.RootModel; -import org.jiemamy.model.attribute.AttributeModel; -import org.jiemamy.model.attribute.ColumnModel; -import org.jiemamy.model.attribute.constraint.CheckConstraint; -import org.jiemamy.model.attribute.constraint.ColumnCheckConstraint; -import org.jiemamy.model.attribute.constraint.ConstraintModel; -import org.jiemamy.model.attribute.constraint.Deferrability; -import org.jiemamy.model.attribute.constraint.ForeignKey; -import org.jiemamy.model.attribute.constraint.KeyConstraint; -import org.jiemamy.model.attribute.constraint.NotNullConstraint; -import org.jiemamy.model.attribute.constraint.PrimaryKey; -import org.jiemamy.model.attribute.constraint.TableCheckConstraint; -import org.jiemamy.model.attribute.constraint.UniqueKey; -import org.jiemamy.model.attribute.constraint.ValueConstraint; -import org.jiemamy.model.dataset.DataSetModel; -import org.jiemamy.model.dataset.RecordModel; -import org.jiemamy.model.datatype.DomainModel; -import org.jiemamy.model.entity.EntityModel; -import org.jiemamy.model.entity.TableModel; -import org.jiemamy.model.entity.ViewModel; -import org.jiemamy.model.index.IndexColumnModel; -import org.jiemamy.model.index.IndexModel; - -/** - * 各モデルの「概念的な」(実装としては強要しない)プロパティを表すインターフェイス。 - * - * @param <T> モデルの型 - * @since 0.2 - * @author daisuke - */ -public interface JiemamyProperty<T extends JiemamyElement> { - - /** - * プロパティ名を返す。 - * - * @return プロパティ名 - * @see Enum#name() - * @since 0.2 - */ - String name(); - - - /** - * {@link AttributeModel}のプロパティを表す列挙型。 - * - * @since 0.2 - * @author daisuke - */ - public enum AttributeProperty implements JiemamyProperty<AttributeModel> { - - /** {@link AttributeModel#getName()}で取得できるプロパティ */ - name, - - /** {@link AttributeModel#getLogicalName()}で取得できるプロパティ */ - logicalName, - - /** {@link AttributeModel#getDescription()}で取得できるプロパティ */ - description - } - - /** - * {@link CheckConstraint}のプロパティを表す列挙型。 - * - * @author daisuke - */ - public enum CheckConstraintProperty implements JiemamyProperty<CheckConstraint> { - - /** {@link CheckConstraint#getExpression()}で取得できるプロパティ */ - expression - } - - /** - * {@link ColumnCheckConstraint}のプロパティを表す列挙型。 - * - * @since 0.2 - * @author daisuke - */ - public enum ColumnCheckModelProperty implements JiemamyProperty<ColumnCheckConstraint> { - - } - - /** - * {@link ColumnModel}のプロパティを表す列挙型。 - * - * @since 0.2 - * @author daisuke - */ - public enum ColumnProperty implements JiemamyProperty<ColumnModel> { - - /** {@link ColumnModel#getDataType()}で取得できるプロパティ */ - dataType, - - /** {@link ColumnModel#getDefaultValue()}で取得できるプロパティ */ - defaultValue, - - /** {@link ColumnModel#getNotNullConstraint()}で取得できるプロパティ */ - notNullConstraint, - - /** {@link ColumnModel#getUniqueKey()}で取得できるプロパティ */ - uniqueKey, - - /** {@link ColumnModel#getPrimaryKey()}で取得できるプロパティ */ - primaryKey, - - /** {@link ColumnModel#getCheckConstraint()}で取得できるプロパティ */ - checkConstraint - } - - /** - * {@link ConstraintModel}のプロパティを表す列挙型。 - * - * @since 0.2 - * @author daisuke - */ - public enum ConstraintProperty implements JiemamyProperty<ConstraintModel> { - - /** {@link ConstraintModel#getName()}で取得できるプロパティ */ - name - } - - /** - * {@link DataSetModel}のプロパティを表す列挙型。 - * - * @since 0.2 - * @author daisuke - */ - public enum DataSetProperty implements JiemamyProperty<DataSetModel> { - - /** {@link DataSetModel#getName()}で取得できるプロパティ */ - name, - - /** {@link DataSetModel#getRecords()}で取得できるプロパティ */ - records - } - - /** - * {@link Deferrability}のプロパティを表す列挙型。 - * - * @since 0.2 - * @author daisuke - */ - public enum DeferrabilityProperty implements JiemamyProperty<Deferrability> { - - /** {@link Deferrability#isDeferrable()}で取得できるプロパティ */ - deferrable, - - /** {@link Deferrability#getInitiallyCheckTime()}で取得できるプロパティ */ - initiallyCheckTime - } - - /** - * {@link DomainModel}のプロパティを表す列挙型。 - * - * @since 0.2 - * @author daisuke - */ - public enum DomainProperty implements JiemamyProperty<DomainModel> { - - /** {@link DomainModel#getName()}で取得できるプロパティ */ - name, - - /** {@link DomainModel#getLogicalName()}で取得できるプロパティ */ - logicalName, - - /** {@link DomainModel#getDescription()}で取得できるプロパティ */ - description, - - /** {@link DomainModel#getDataType()}で取得できるプロパティ */ - dataType, - - /** {@link DomainModel#getNotNullConstraint()}で取得できるプロパティ */ - notNullConstraint, - - /** {@link DomainModel#getCheckConstraint()}で取得できるプロパティ */ - checkConstraint - } - - /** - * {@link EntityModel}のプロパティを表す列挙型。 - * - * @since 0.2 - * @author daisuke - */ - public enum EntityProperty implements JiemamyProperty<EntityModel> { - /** {@link EntityModel#getName()}で取得できるプロパティ */ - name, - - /** {@link EntityModel#getLogicalName()}で取得できるプロパティ */ - logicalName, - - /** {@link EntityModel#getDescription()}で取得できるプロパティ */ - description, - - /** {@link EntityModel#getAroundScript()}で取得できるプロパティ */ - aroundScript, - - /** {@link EntityModel#getBeginScript()}で取得できるプロパティ */ - @Deprecated - beginScript, - - /** {@link EntityModel#getEndScript()}で取得できるプロパティ */ - @Deprecated - endScript - } - - /** - * {@link ForeignKey}のプロパティを表す列挙型。 - * - * @since 0.2 - * @author daisuke - */ - public enum ForeignKeyProperty implements JiemamyProperty<ForeignKey> { - - /** {@link ForeignKey#getReferenceColumns()}で取得できるプロパティ */ - referenceColumns, - - /** {@link ForeignKey#getMatchType()}で取得できるプロパティ */ - matchType, - - /** {@link ForeignKey#getOnDelete()}で取得できるプロパティ */ - onDelete, - - /** {@link ForeignKey#getOnUpdate()}で取得できるプロパティ */ - onUpdate - } - - /** - * {@link IndexColumnModel}のプロパティを表す列挙型。 - * - * @since 0.2 - * @author daisuke - */ - public enum IndexColumnProperty implements JiemamyProperty<IndexColumnModel> { - - /** {@link IndexColumnModel#getColumnRef()}で取得できるプロパティ */ - columnRef, - - /** {@link IndexColumnModel#getSortOrder()}で取得できるプロパティ */ - sortOrder - } - - /** - * {@link IndexModel}のプロパティを表す列挙型。 - * - * @since 0.2 - * @author daisuke - */ - public enum IndexProperty implements JiemamyProperty<IndexModel> { - - /** {@link IndexModel#getName()}で取得できるプロパティ */ - name, - - /** {@link IndexModel#getIndexColumns()}で取得できるプロパティ */ - indexColumns, - - /** {@link IndexModel#isUnique()}で取得できるプロパティ */ - unique - } - - /** - * {@link KeyConstraint}のプロパティを表す列挙型。 - * - * @since 0.2 - * @author daisuke - */ - public enum KeyConstraintModelProperty implements JiemamyProperty<KeyConstraint> { - - /** {@link KeyConstraint#getDeferrability()}で取得できるプロパティ */ - deferrability, - - /** {@link KeyConstraint#getKeyColumns()}で取得できるプロパティ */ - keyColumns - } - - /** - * {@link NotNullConstraint}のプロパティを表す列挙型。 - * - * @since 0.2 - * @author daisuke - */ - public enum NotNullConstraintProperty implements JiemamyProperty<NotNullConstraint> { - - } - - /** - * {@link PrimaryKey}のプロパティを表す列挙型。 - * - * @since 0.2 - * @author daisuke - */ - public enum PrimaryKeyProperty implements JiemamyProperty<PrimaryKey> { - - } - - /** - * {@link RecordModel}のプロパティを表す列挙型。 - * - * @since 0.2 - * @author daisuke - */ - public enum RecordProperty implements JiemamyProperty<RecordModel> { - - /** {@link RecordModel#getValues()}で取得できるプロパティ */ - values - } - - /** - * {@link RootModel}のプロパティを表す列挙型。 - * - * @since 0.2 - * @author daisuke - */ - public enum RootProperty implements JiemamyProperty<RootModel> { - - /** {@link RootModel#getDialectClassName()}で取得できるプロパティ */ - dialectClassName, - - /** {@link RootModel#getAroundScript()}で取得できるプロパティ */ - aroundScript, - - /** {@link RootModel#getBeginScript()}で取得できるプロパティ */ - @Deprecated - beginScript, - - /** {@link RootModel#getEndScript()}で取得できるプロパティ */ - @Deprecated - endScript, - - /** {@link RootModel#getDescription()}で取得できるプロパティ */ - description, - - /** {@link RootModel#getSchemaName()}で取得できるプロパティ */ - schemaName, - - /** {@link RootModel#getDomains()}で取得できるプロパティ */ - domains, - - /** {@link RootModel#getEntities()}で取得できるプロパティ */ - entities, - - /** {@link RootModel#getDataSets()}で取得できるプロパティ */ - dataSets - } - - /** - * {@link ColumnCheckConstraint}のプロパティを表す列挙型。 - * - * @since 0.2 - * @author daisuke - */ - public enum TableCheckModelProperty implements JiemamyProperty<TableCheckConstraint> { - - } - - /** - * {@link TableModel}のプロパティを表す列挙型。 - * - * @since 0.2 - * @author daisuke - */ - public enum TableProperty implements JiemamyProperty<TableModel> { - - /** {@link TableModel#getAttributes()}で取得できるプロパティ */ - attributes, - - /** {@link TableModel#getIndexes()}で取得できるプロパティ */ - indexes - } - - /** - * {@link UniqueKey}のプロパティを表す列挙型。 - * - * @since 0.2 - * @author daisuke - */ - public enum UniqueKeyProperty implements JiemamyProperty<UniqueKey> { - - } - - /** - * {@link ValueConstraint}のプロパティを表す列挙型。 - * - * @since 0.2 - * @author daisuke - */ - public enum ValueConstraintProperty implements JiemamyProperty<ValueConstraint> { - - } - - /** - * {@link ViewModel}のプロパティを表す列挙型。 - * - * @since 0.2 - * @author daisuke - */ - public enum ViewProperty implements JiemamyProperty<ViewModel> { - - /** {@link ViewModel#getDefinition()}で取得できるプロパティ */ - definition - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/10/13 + * + * 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; + +import org.jiemamy.model.JiemamyElement; +import org.jiemamy.model.RootModel; +import org.jiemamy.model.attribute.AttributeModel; +import org.jiemamy.model.attribute.ColumnModel; +import org.jiemamy.model.attribute.constraint.CheckConstraint; +import org.jiemamy.model.attribute.constraint.ColumnCheckConstraint; +import org.jiemamy.model.attribute.constraint.ConstraintModel; +import org.jiemamy.model.attribute.constraint.Deferrability; +import org.jiemamy.model.attribute.constraint.ForeignKey; +import org.jiemamy.model.attribute.constraint.KeyConstraint; +import org.jiemamy.model.attribute.constraint.NotNullConstraint; +import org.jiemamy.model.attribute.constraint.PrimaryKey; +import org.jiemamy.model.attribute.constraint.TableCheckConstraint; +import org.jiemamy.model.attribute.constraint.UniqueKey; +import org.jiemamy.model.attribute.constraint.ValueConstraint; +import org.jiemamy.model.dataset.DataSetModel; +import org.jiemamy.model.dataset.RecordModel; +import org.jiemamy.model.datatype.DomainModel; +import org.jiemamy.model.entity.EntityModel; +import org.jiemamy.model.entity.TableModel; +import org.jiemamy.model.entity.ViewModel; +import org.jiemamy.model.index.IndexColumnModel; +import org.jiemamy.model.index.IndexModel; + +/** + * 各モデルの「概念的な」(実装としては強要しない)プロパティを表すインターフェイス。 + * + * @param <T> モデルの型 + * @since 0.2 + * @author daisuke + */ +public interface JiemamyProperty<T extends JiemamyElement> { + + /** + * プロパティ名を返す。 + * + * @return プロパティ名 + * @see Enum#name() + * @since 0.2 + */ + String name(); + + + /** + * {@link AttributeModel}のプロパティを表す列挙型。 + * + * @since 0.2 + * @author daisuke + */ + public enum AttributeProperty implements JiemamyProperty<AttributeModel> { + + /** {@link AttributeModel#getName()}で取得できるプロパティ */ + name, + + /** {@link AttributeModel#getLogicalName()}で取得できるプロパティ */ + logicalName, + + /** {@link AttributeModel#getDescription()}で取得できるプロパティ */ + description + } + + /** + * {@link CheckConstraint}のプロパティを表す列挙型。 + * + * @author daisuke + */ + public enum CheckConstraintProperty implements JiemamyProperty<CheckConstraint> { + + /** {@link CheckConstraint#getExpression()}で取得できるプロパティ */ + expression + } + + /** + * {@link ColumnCheckConstraint}のプロパティを表す列挙型。 + * + * @since 0.2 + * @author daisuke + */ + public enum ColumnCheckModelProperty implements JiemamyProperty<ColumnCheckConstraint> { + + } + + /** + * {@link ColumnModel}のプロパティを表す列挙型。 + * + * @since 0.2 + * @author daisuke + */ + public enum ColumnProperty implements JiemamyProperty<ColumnModel> { + + /** {@link ColumnModel#getDataType()}で取得できるプロパティ */ + dataType, + + /** {@link ColumnModel#getDefaultValue()}で取得できるプロパティ */ + defaultValue, + + /** {@link ColumnModel#getNotNullConstraint()}で取得できるプロパティ */ + notNullConstraint, + + /** {@link ColumnModel#getUniqueKey()}で取得できるプロパティ */ + uniqueKey, + + /** {@link ColumnModel#getPrimaryKey()}で取得できるプロパティ */ + primaryKey, + + /** {@link ColumnModel#getCheckConstraint()}で取得できるプロパティ */ + checkConstraint + } + + /** + * {@link ConstraintModel}のプロパティを表す列挙型。 + * + * @since 0.2 + * @author daisuke + */ + public enum ConstraintProperty implements JiemamyProperty<ConstraintModel> { + + /** {@link ConstraintModel#getName()}で取得できるプロパティ */ + name + } + + /** + * {@link DataSetModel}のプロパティを表す列挙型。 + * + * @since 0.2 + * @author daisuke + */ + public enum DataSetProperty implements JiemamyProperty<DataSetModel> { + + /** {@link DataSetModel#getName()}で取得できるプロパティ */ + name, + + /** {@link DataSetModel#getRecords()}で取得できるプロパティ */ + records + } + + /** + * {@link Deferrability}のプロパティを表す列挙型。 + * + * @since 0.2 + * @author daisuke + */ + public enum DeferrabilityProperty implements JiemamyProperty<Deferrability> { + + /** {@link Deferrability#isDeferrable()}で取得できるプロパティ */ + deferrable, + + /** {@link Deferrability#getInitiallyCheckTime()}で取得できるプロパティ */ + initiallyCheckTime + } + + /** + * {@link DomainModel}のプロパティを表す列挙型。 + * + * @since 0.2 + * @author daisuke + */ + public enum DomainProperty implements JiemamyProperty<DomainModel> { + + /** {@link DomainModel#getName()}で取得できるプロパティ */ + name, + + /** {@link DomainModel#getLogicalName()}で取得できるプロパティ */ + logicalName, + + /** {@link DomainModel#getDescription()}で取得できるプロパティ */ + description, + + /** {@link DomainModel#getDataType()}で取得できるプロパティ */ + dataType, + + /** {@link DomainModel#getNotNullConstraint()}で取得できるプロパティ */ + notNullConstraint, + + /** {@link DomainModel#getCheckConstraint()}で取得できるプロパティ */ + checkConstraint + } + + /** + * {@link EntityModel}のプロパティを表す列挙型。 + * + * @since 0.2 + * @author daisuke + */ + public enum EntityProperty implements JiemamyProperty<EntityModel> { + /** {@link EntityModel#getName()}で取得できるプロパティ */ + name, + + /** {@link EntityModel#getLogicalName()}で取得できるプロパティ */ + logicalName, + + /** {@link EntityModel#getDescription()}で取得できるプロパティ */ + description, + + /** {@link EntityModel#getAroundScript()}で取得できるプロパティ */ + aroundScript, + + /** {@link EntityModel#getBeginScript()}で取得できるプロパティ */ + @Deprecated + beginScript, + + /** {@link EntityModel#getEndScript()}で取得できるプロパティ */ + @Deprecated + endScript + } + + /** + * {@link ForeignKey}のプロパティを表す列挙型。 + * + * @since 0.2 + * @author daisuke + */ + public enum ForeignKeyProperty implements JiemamyProperty<ForeignKey> { + + /** {@link ForeignKey#getReferenceColumns()}で取得できるプロパティ */ + referenceColumns, + + /** {@link ForeignKey#getMatchType()}で取得できるプロパティ */ + matchType, + + /** {@link ForeignKey#getOnDelete()}で取得できるプロパティ */ + onDelete, + + /** {@link ForeignKey#getOnUpdate()}で取得できるプロパティ */ + onUpdate + } + + /** + * {@link IndexColumnModel}のプロパティを表す列挙型。 + * + * @since 0.2 + * @author daisuke + */ + public enum IndexColumnProperty implements JiemamyProperty<IndexColumnModel> { + + /** {@link IndexColumnModel#getColumnRef()}で取得できるプロパティ */ + columnRef, + + /** {@link IndexColumnModel#getSortOrder()}で取得できるプロパティ */ + sortOrder + } + + /** + * {@link IndexModel}のプロパティを表す列挙型。 + * + * @since 0.2 + * @author daisuke + */ + public enum IndexProperty implements JiemamyProperty<IndexModel> { + + /** {@link IndexModel#getName()}で取得できるプロパティ */ + name, + + /** {@link IndexModel#getIndexColumns()}で取得できるプロパティ */ + indexColumns, + + /** {@link IndexModel#isUnique()}で取得できるプロパティ */ + unique + } + + /** + * {@link KeyConstraint}のプロパティを表す列挙型。 + * + * @since 0.2 + * @author daisuke + */ + public enum KeyConstraintModelProperty implements JiemamyProperty<KeyConstraint> { + + /** {@link KeyConstraint#getDeferrability()}で取得できるプロパティ */ + deferrability, + + /** {@link KeyConstraint#getKeyColumns()}で取得できるプロパティ */ + keyColumns + } + + /** + * {@link NotNullConstraint}のプロパティを表す列挙型。 + * + * @since 0.2 + * @author daisuke + */ + public enum NotNullConstraintProperty implements JiemamyProperty<NotNullConstraint> { + + } + + /** + * {@link PrimaryKey}のプロパティを表す列挙型。 + * + * @since 0.2 + * @author daisuke + */ + public enum PrimaryKeyProperty implements JiemamyProperty<PrimaryKey> { + + } + + /** + * {@link RecordModel}のプロパティを表す列挙型。 + * + * @since 0.2 + * @author daisuke + */ + public enum RecordProperty implements JiemamyProperty<RecordModel> { + + /** {@link RecordModel#getValues()}で取得できるプロパティ */ + values + } + + /** + * {@link RootModel}のプロパティを表す列挙型。 + * + * @since 0.2 + * @author daisuke + */ + public enum RootProperty implements JiemamyProperty<RootModel> { + + /** {@link RootModel#getDialectClassName()}で取得できるプロパティ */ + dialectClassName, + + /** {@link RootModel#getAroundScript()}で取得できるプロパティ */ + aroundScript, + + /** {@link RootModel#getBeginScript()}で取得できるプロパティ */ + @Deprecated + beginScript, + + /** {@link RootModel#getEndScript()}で取得できるプロパティ */ + @Deprecated + endScript, + + /** {@link RootModel#getDescription()}で取得できるプロパティ */ + description, + + /** {@link RootModel#getSchemaName()}で取得できるプロパティ */ + schemaName, + + /** {@link RootModel#getDomains()}で取得できるプロパティ */ + domains, + + /** {@link RootModel#getEntities()}で取得できるプロパティ */ + entities, + + /** {@link RootModel#getDataSets()}で取得できるプロパティ */ + dataSets + } + + /** + * {@link ColumnCheckConstraint}のプロパティを表す列挙型。 + * + * @since 0.2 + * @author daisuke + */ + public enum TableCheckModelProperty implements JiemamyProperty<TableCheckConstraint> { + + } + + /** + * {@link TableModel}のプロパティを表す列挙型。 + * + * @since 0.2 + * @author daisuke + */ + public enum TableProperty implements JiemamyProperty<TableModel> { + + /** {@link TableModel#getAttributes()}で取得できるプロパティ */ + attributes, + + /** {@link TableModel#getIndexes()}で取得できるプロパティ */ + indexes + } + + /** + * {@link UniqueKey}のプロパティを表す列挙型。 + * + * @since 0.2 + * @author daisuke + */ + public enum UniqueKeyProperty implements JiemamyProperty<UniqueKey> { + + } + + /** + * {@link ValueConstraint}のプロパティを表す列挙型。 + * + * @since 0.2 + * @author daisuke + */ + public enum ValueConstraintProperty implements JiemamyProperty<ValueConstraint> { + + } + + /** + * {@link ViewModel}のプロパティを表す列挙型。 + * + * @since 0.2 + * @author daisuke + */ + public enum ViewProperty implements JiemamyProperty<ViewModel> { + + /** {@link ViewModel#getDefinition()}で取得できるプロパティ */ + definition + } + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/JiemamyProperty.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/OfficialSpecs.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/OfficialSpecs.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/OfficialSpecs.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,37 +1,37 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/12/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; - -/** - * Jiemamy公式追加仕様を表す列挙型。 - * - * @since 0.2 - * @author daisuke - */ -public enum OfficialSpecs implements OptionalSpec { - - /** Jiemamy Event Specification */ - EVENT, - - /** Jiemamy Diagram View Specification */ - VIEW, - - /** Jiemamy Difference Specification */ - DIFF -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/12/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; + +/** + * Jiemamy公式追加仕様を表す列挙型。 + * + * @since 0.2 + * @author daisuke + */ +public enum OfficialSpecs implements OptionalSpec { + + /** Jiemamy Event Specification */ + EVENT, + + /** Jiemamy Diagram View Specification */ + VIEW, + + /** Jiemamy Difference Specification */ + DIFF +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/OfficialSpecs.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/OptionalSpec.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/OptionalSpec.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/OptionalSpec.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,33 +1,33 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/12/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; - -/** - * 追加仕様を表すインターフェイス。追加仕様とは、Jiemamy Core以外の仕様(例えばJiemamy Event等)のことである。 - * - * <p>Jiemamyは、Jiemamy Core Specificationを中心として、その仕様に対する複数の追加仕様から成る。 - * 公式に定義された追加仕様は {@link OfficialSpecs} を参照のこと。この他に、ユーザはこのインターフェイスを - * 拡張し、自由に拡張を行うことができる。</p> - * - * @since 0.2 - * @author daisuke - */ -public interface OptionalSpec { - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/12/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; + +/** + * 追加仕様を表すインターフェイス。追加仕様とは、Jiemamy Core以外の仕様(例えばJiemamy Event等)のことである。 + * + * <p>Jiemamyは、Jiemamy Core Specificationを中心として、その仕様に対する複数の追加仕様から成る。 + * 公式に定義された追加仕様は {@link OfficialSpecs} を参照のこと。この他に、ユーザはこのインターフェイスを + * 拡張し、自由に拡張を行うことができる。</p> + * + * @since 0.2 + * @author daisuke + */ +public interface OptionalSpec { + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/OptionalSpec.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/ReferenceResolveException.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/ReferenceResolveException.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/ReferenceResolveException.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,54 +1,54 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/04/15 - * - * 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; - -import org.jiemamy.model.ElementReference; - -/** - * 参照オブジェクトからモデルの実体が解決できなかった場合。 - * - * @since 0.2 - * @author daisuke - */ - @ SuppressWarnings("serial") -public class ReferenceResolveException extends RuntimeException { - - /** 解決できなかった参照オブジェクト */ - private final ElementReference<?> ref; - - - /** - * インスタンスを生成する。 - * - * @param ref 解決できなかった参照オブジェクト - */ - public ReferenceResolveException(ElementReference<?> ref) { - this.ref = ref; - } - - /** - * 解決できなかった参照オブジェクトを取得する。 - * - * @return 解決できなかった参照オブジェクト - * @since 0.2 - */ - public ElementReference<?> getId() { - return ref; - } -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/04/15 + * + * 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; + +import org.jiemamy.model.ElementReference; + +/** + * 参照オブジェクトからモデルの実体が解決できなかった場合。 + * + * @since 0.2 + * @author daisuke + */ + @ SuppressWarnings("serial") +public class ReferenceResolveException extends RuntimeException { + + /** 解決できなかった参照オブジェクト */ + private final ElementReference<?> ref; + + + /** + * インスタンスを生成する。 + * + * @param ref 解決できなかった参照オブジェクト + */ + public ReferenceResolveException(ElementReference<?> ref) { + this.ref = ref; + } + + /** + * 解決できなかった参照オブジェクトを取得する。 + * + * @return 解決できなかった参照オブジェクト + * @since 0.2 + */ + public ElementReference<?> getId() { + return ref; + } +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/ReferenceResolveException.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/ReferenceResolver.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/ReferenceResolver.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/ReferenceResolver.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,62 +1,62 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/01/20 - * - * 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; - -import org.jiemamy.model.ElementReference; -import org.jiemamy.model.JiemamyElement; - -/** - * 参照オブジェクト({@link ElementReference})から実体({@link JiemamyElement})を解決する、参照リゾルバクラス。 - * - * @see ElementReference - * @since 0.2 - * @author daisuke - */ -public interface ReferenceResolver { - - /** - * 解決のための情報を記録する。 - * - * @param model 記録する対象モデル - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void add(JiemamyElement model); - - /** - * モデルの参照オブジェクトからモデルの実体を解決できるかどうか調べる。 - * - * @param reference モデルの参照オブジェクト - * @return 解決できる場合は{@code true}、そうでない場合は{@code false} - * @since 0.2 - */ - boolean canResolve(ElementReference<?> reference); - - /** - * モデルの参照オブジェクトからモデルの実体を解決する。 - * - * @param <T> モデルの実態の型 - * @param reference モデルの参照オブジェクト - * @return モデルの実体 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws ReferenceResolveException 参照オブジェクトからモデルの実体が解決できなかった場合 - * @since 0.2 - */ - <T extends JiemamyElement>T resolve(ElementReference<T> reference); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/01/20 + * + * 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; + +import org.jiemamy.model.ElementReference; +import org.jiemamy.model.JiemamyElement; + +/** + * 参照オブジェクト({@link ElementReference})から実体({@link JiemamyElement})を解決する、参照リゾルバクラス。 + * + * @see ElementReference + * @since 0.2 + * @author daisuke + */ +public interface ReferenceResolver { + + /** + * 解決のための情報を記録する。 + * + * @param model 記録する対象モデル + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void add(JiemamyElement model); + + /** + * モデルの参照オブジェクトからモデルの実体を解決できるかどうか調べる。 + * + * @param reference モデルの参照オブジェクト + * @return 解決できる場合は{@code true}、そうでない場合は{@code false} + * @since 0.2 + */ + boolean canResolve(ElementReference<?> reference); + + /** + * モデルの参照オブジェクトからモデルの実体を解決する。 + * + * @param <T> モデルの実態の型 + * @param reference モデルの参照オブジェクト + * @return モデルの実体 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws ReferenceResolveException 参照オブジェクトからモデルの実体が解決できなかった場合 + * @since 0.2 + */ + <T extends JiemamyElement>T resolve(ElementReference<T> reference); +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/ReferenceResolver.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/ServiceLocator.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/ServiceLocator.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/ServiceLocator.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,41 +1,41 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/09/18 - * - * 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; - -/** - * プラグインによるサービスのインスタンスを取得する責務を負うインターフェイス。 - * - * @since 0.3 - * @author daisuke - */ -public interface ServiceLocator { - - /** - * サービスを取得する。 - * - * @param <T> サービスクラスのインターフェイス型 - * @param clazz サービスクラスのインターフェイス - * @param fqcn サービスクラスの完全修飾名 - * @return サービスインスタンス - * @throws ClassNotFoundException サービスクラスが見つからない場合 - * @since 0.3 - */ - <T>T getService(Class<T> clazz, String fqcn) throws ClassNotFoundException; - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/09/18 + * + * 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; + +/** + * プラグインによるサービスのインスタンスを取得する責務を負うインターフェイス。 + * + * @since 0.3 + * @author daisuke + */ +public interface ServiceLocator { + + /** + * サービスを取得する。 + * + * @param <T> サービスクラスのインターフェイス型 + * @param clazz サービスクラスのインターフェイス + * @param fqcn サービスクラスの完全修飾名 + * @return サービスインスタンス + * @throws ClassNotFoundException サービスクラスが見つからない場合 + * @since 0.3 + */ + <T>T getService(Class<T> clazz, String fqcn) throws ClassNotFoundException; + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/ServiceLocator.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/Version.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/Version.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/Version.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,112 +1,112 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/03/03 - * - * 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; - -/** - * Jiemamyのバージョンを表すインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface Version { - - /** - * このバージョンの実装が、指定したバージョンのXMLを読み込めるかどうかを調べる。 - * - * @param target 読み込むXMLのバージョン - * @return 読み込み可能な場合は{@code true}、そうでない場合は{@code false} - * @since 0.3 - */ - boolean canDeserialize(Version target); - - /** - * 引数{@code obj}がVersionであり、全てのプロパティが一致するかどうかを調べる。 - * - * @param obj 比較対象オブジェクト - * @return 全てのプロパティが一致した場合は{@code true}、そうでない場合は{@code false} - * @since 0.3 - */ - boolean equals(Object obj); - - /** - * 仕様及び実装のメジャーバージョン番号を取得する。 - * - * @return 仕様及び実装のメジャーバージョン番号 - * @since 0.2 - */ - int getMajor(); - - /** - * 仕様及び実装のマイナーバージョン番号を取得する。 - * - * @return 仕様及び実装のマイナーバージョン番号 - * @since 0.2 - */ - int getMinor(); - - /** - * 実装のリリース番号を取得する。 - * - * @return 実装のリリース番号 - * @since 0.2 - */ - int getRelease(); - - /** - * ハッシュコード値を取得する。 - * - * <p>ハッシュコード値は、以下の式で求める。</p> - * - * <pre> - * (((31 + major) * 31 + minor) * 31 + release) * 31 + (snapshot ? 1231 : 1237) - * </pre> - * - * @return ハッシュコード値 - * @since 0.2 - */ - int hashCode(); - - /** - * スナップショット版であるかどうかを取得する。 - * - * <p>仕様または実装のいずれかがスナップショット版であれば、{@code true}を返す。両者とも正式版の時のみ、{@code false}を返す。</p> - * - * @return スナップショット版であれば{@code true} - * @since 0.2 - */ - boolean isSnapshot(); - - /** - * 実装バージョン表記文字列に変換する。 - * - * @return バージョン表記文字列 - * @since 0.3 - */ - String toString(); - - /** - * 仕様バージョン表記文字列に変換する。 - * - * <p>SNAPSHOTであっても、末尾に"-SNAPSHOT"はつかない。</p> - * - * @return バージョン表記文字列 - * @since 0.3 - */ - String toStringSpec(); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/03/03 + * + * 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; + +/** + * Jiemamyのバージョンを表すインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface Version { + + /** + * このバージョンの実装が、指定したバージョンのXMLを読み込めるかどうかを調べる。 + * + * @param target 読み込むXMLのバージョン + * @return 読み込み可能な場合は{@code true}、そうでない場合は{@code false} + * @since 0.3 + */ + boolean canDeserialize(Version target); + + /** + * 引数{@code obj}がVersionであり、全てのプロパティが一致するかどうかを調べる。 + * + * @param obj 比較対象オブジェクト + * @return 全てのプロパティが一致した場合は{@code true}、そうでない場合は{@code false} + * @since 0.3 + */ + boolean equals(Object obj); + + /** + * 仕様及び実装のメジャーバージョン番号を取得する。 + * + * @return 仕様及び実装のメジャーバージョン番号 + * @since 0.2 + */ + int getMajor(); + + /** + * 仕様及び実装のマイナーバージョン番号を取得する。 + * + * @return 仕様及び実装のマイナーバージョン番号 + * @since 0.2 + */ + int getMinor(); + + /** + * 実装のリリース番号を取得する。 + * + * @return 実装のリリース番号 + * @since 0.2 + */ + int getRelease(); + + /** + * ハッシュコード値を取得する。 + * + * <p>ハッシュコード値は、以下の式で求める。</p> + * + * <pre> + * (((31 + major) * 31 + minor) * 31 + release) * 31 + (snapshot ? 1231 : 1237) + * </pre> + * + * @return ハッシュコード値 + * @since 0.2 + */ + int hashCode(); + + /** + * スナップショット版であるかどうかを取得する。 + * + * <p>仕様または実装のいずれかがスナップショット版であれば、{@code true}を返す。両者とも正式版の時のみ、{@code false}を返す。</p> + * + * @return スナップショット版であれば{@code true} + * @since 0.2 + */ + boolean isSnapshot(); + + /** + * 実装バージョン表記文字列に変換する。 + * + * @return バージョン表記文字列 + * @since 0.3 + */ + String toString(); + + /** + * 仕様バージョン表記文字列に変換する。 + * + * <p>SNAPSHOTであっても、末尾に"-SNAPSHOT"はつかない。</p> + * + * @return バージョン表記文字列 + * @since 0.3 + */ + String toStringSpec(); +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/Version.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/ExportConfig.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/ExportConfig.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/ExportConfig.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,32 +1,32 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/09/17 - * - * 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.composer; - -/** - * エクスポートする際に必要となる設定情報を供給するインターフェイス。 - * - * <p>{@link Exporter}実装者は、 {@link Exporter}の実装と共に、このインターフェイスを拡張し、{@link Exporter}の - * 動作に必要なパラメータを取得するメソッドを定義する。</p> - * - * @since 0.2 - * @author daisuke - */ -public interface ExportConfig { - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/09/17 + * + * 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.composer; + +/** + * エクスポートする際に必要となる設定情報を供給するインターフェイス。 + * + * <p>{@link Exporter}実装者は、 {@link Exporter}の実装と共に、このインターフェイスを拡張し、{@link Exporter}の + * 動作に必要なパラメータを取得するメソッドを定義する。</p> + * + * @since 0.2 + * @author daisuke + */ +public interface ExportConfig { + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/ExportConfig.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/ExportException.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/ExportException.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/ExportException.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,63 +1,63 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/07/12 - * - * 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.composer; - -import org.jiemamy.exception.JiemamyException; - -/** - * {@link Exporter}実行時に問題が発生した場合にスローされる例外。 - * - * @author daisuke - * @since 0.2 - */ - @ SuppressWarnings("serial") -public class ExportException extends JiemamyException { - - /** - * インスタンスを生成する。 - * - * @param cause 起因例外 - * @since 0.2 - */ - public ExportException(Exception cause) { - super(cause); - } - - /** - * インスタンスを生成する。 - * - * @param message 例外メッセージ - * @since 0.2 - */ - public ExportException(String message) { - super(message); - } - - /** - * インスタンスを生成する。 - * - * @param message 例外メッセージ - * @param cause 起因例外 - * @since 0.2 - */ - public ExportException(String message, Exception cause) { - super(message, cause); - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/07/12 + * + * 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.composer; + +import org.jiemamy.exception.JiemamyException; + +/** + * {@link Exporter}実行時に問題が発生した場合にスローされる例外。 + * + * @author daisuke + * @since 0.2 + */ + @ SuppressWarnings("serial") +public class ExportException extends JiemamyException { + + /** + * インスタンスを生成する。 + * + * @param cause 起因例外 + * @since 0.2 + */ + public ExportException(Exception cause) { + super(cause); + } + + /** + * インスタンスを生成する。 + * + * @param message 例外メッセージ + * @since 0.2 + */ + public ExportException(String message) { + super(message); + } + + /** + * インスタンスを生成する。 + * + * @param message 例外メッセージ + * @param cause 起因例外 + * @since 0.2 + */ + public ExportException(String message, Exception cause) { + super(message, cause); + } + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/ExportException.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/Exporter.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/Exporter.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/Exporter.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,57 +1,57 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/06/19 - * - * 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.composer; - -import org.jiemamy.model.RootModel; - -/** - * Jiemamyモデルから外部リソースに出力を行うインターフェイス。 - * - * @param <T> エクスポート作業に必要な設定情報を提供する型 - * @since 0.2 - * @author daisuke - */ -public interface Exporter<T extends ExportConfig> { - - /** - * モデルを外部リソースにエクスポートする。 - * - * <p>ファイル出力であれば、ファイルに保存する所までの責務を負う。</p> - * - * @param rootModel エクスポート対象モデル - * @param config エクスポートの設定情報 - * @return エクスポートが正常に完了した場合は{@code true}、設定等により出力が行われなかった場合は{@code false} - * @throws ExportException エクスポートに失敗した時 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws IllegalArgumentException 必須config情報が{@code null}の場合 - * @since 0.2 - */ - boolean exportModel(RootModel rootModel, T config) throws ExportException; - - /** - * Exporterの名称を取得する。 - * - * <p>{@code null}を返してはならない。</p> - * - * @return Exporterの名称 - * @since 0.2 - */ - String getName(); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/06/19 + * + * 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.composer; + +import org.jiemamy.model.RootModel; + +/** + * Jiemamyモデルから外部リソースに出力を行うインターフェイス。 + * + * @param <T> エクスポート作業に必要な設定情報を提供する型 + * @since 0.2 + * @author daisuke + */ +public interface Exporter<T extends ExportConfig> { + + /** + * モデルを外部リソースにエクスポートする。 + * + * <p>ファイル出力であれば、ファイルに保存する所までの責務を負う。</p> + * + * @param rootModel エクスポート対象モデル + * @param config エクスポートの設定情報 + * @return エクスポートが正常に完了した場合は{@code true}、設定等により出力が行われなかった場合は{@code false} + * @throws ExportException エクスポートに失敗した時 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws IllegalArgumentException 必須config情報が{@code null}の場合 + * @since 0.2 + */ + boolean exportModel(RootModel rootModel, T config) throws ExportException; + + /** + * Exporterの名称を取得する。 + * + * <p>{@code null}を返してはならない。</p> + * + * @return Exporterの名称 + * @since 0.2 + */ + String getName(); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/Exporter.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/FileExportConfig.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/FileExportConfig.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/FileExportConfig.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,44 +1,44 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/02/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.composer; - -import java.io.File; - -/** - * ファイルにを出力する{@link Exporter}に関する設定情報を提供するインターフェイス。 - * - * @author daisuke - */ -public interface FileExportConfig extends ExportConfig { - - /** - * 出力ファイルを取得する。 - * - * @return 出力ファイル. 未設定の場合は{@code null} - */ - File getOutputFile(); - - /** - * 出力ファイルが既に存在した場合、上書きするかどうか調べる。 - * - * @return 上書きする場合は{@code true}、そうでない場合は{@code false} - */ - boolean isOverwrite(); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/02/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.composer; + +import java.io.File; + +/** + * ファイルにを出力する{@link Exporter}に関する設定情報を提供するインターフェイス。 + * + * @author daisuke + */ +public interface FileExportConfig extends ExportConfig { + + /** + * 出力ファイルを取得する。 + * + * @return 出力ファイル. 未設定の場合は{@code null} + */ + File getOutputFile(); + + /** + * 出力ファイルが既に存在した場合、上書きするかどうか調べる。 + * + * @return 上書きする場合は{@code true}、そうでない場合は{@code false} + */ + boolean isOverwrite(); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/FileExportConfig.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/ImportConfig.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/ImportConfig.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/ImportConfig.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,32 +1,32 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/09/17 - * - * 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.composer; - -/** - * インポートする際に必要となる設定情報を供給するインターフェイス。 - * - * <p>{@link Importer}実装者は、 {@link Importer}の実装と共に、このインターフェイスを拡張し、{@link Importer}の - * 動作に必要なパラメータを取得するメソッドを定義する。</p> - * - * @since 0.2 - * @author daisuke - */ -public interface ImportConfig { - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/09/17 + * + * 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.composer; + +/** + * インポートする際に必要となる設定情報を供給するインターフェイス。 + * + * <p>{@link Importer}実装者は、 {@link Importer}の実装と共に、このインターフェイスを拡張し、{@link Importer}の + * 動作に必要なパラメータを取得するメソッドを定義する。</p> + * + * @since 0.2 + * @author daisuke + */ +public interface ImportConfig { + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/ImportConfig.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/ImportException.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/ImportException.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/ImportException.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,63 +1,63 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/07/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.composer; - -import org.jiemamy.exception.JiemamyException; - -/** - * {@link Importer}実行時に問題が発生した場合にスローされる例外。 - * - * @since 0.2 - * @author daisuke - */ - @ SuppressWarnings("serial") -public class ImportException extends JiemamyException { - - /** - * インスタンスを生成する。 - * - * @param message 例外メッセージ - * @since 0.2 - */ - public ImportException(String message) { - super(message); - } - - /** - * インスタンスを生成する。 - * - * @param message 例外メッセージ - * @param cause 起因例外 - * @since 0.2 - */ - public ImportException(String message, Throwable cause) { - super(message, cause); - } - - /** - * インスタンスを生成する。 - * - * @param cause 起因例外 - * @since 0.2 - */ - public ImportException(Throwable cause) { - super(cause); - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/07/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.composer; + +import org.jiemamy.exception.JiemamyException; + +/** + * {@link Importer}実行時に問題が発生した場合にスローされる例外。 + * + * @since 0.2 + * @author daisuke + */ + @ SuppressWarnings("serial") +public class ImportException extends JiemamyException { + + /** + * インスタンスを生成する。 + * + * @param message 例外メッセージ + * @since 0.2 + */ + public ImportException(String message) { + super(message); + } + + /** + * インスタンスを生成する。 + * + * @param message 例外メッセージ + * @param cause 起因例外 + * @since 0.2 + */ + public ImportException(String message, Throwable cause) { + super(message, cause); + } + + /** + * インスタンスを生成する。 + * + * @param cause 起因例外 + * @since 0.2 + */ + public ImportException(Throwable cause) { + super(cause); + } + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/ImportException.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/Importer.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/Importer.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/Importer.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,55 +1,55 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/06/19 - * - * 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.composer; - -import org.jiemamy.model.RootModel; - -/** - * 外部リソースからJiemamyモデルに入力を行うインターフェイス。 - * - * @param <T> インポート作業に必要な設定情報を保持する型 - * @since 0.2 - * @author daisuke - */ -public interface Importer<T extends ImportConfig> { - - /** - * Importerの名称を取得する。 - * - * <p>{@code null}を返してはならない。</p> - * - * @return Importerの名称 - * @since 0.2 - */ - String getName(); - - /** - * 外部リソースからモデルにデータをインポートする。 - * - * @param rootModel インポート対象モデル - * @param config インポートのコンテキスト情報 - * @return インポートが正常に完了した場合は{@code true}、設定等により入力が行われなかった場合は{@code false} - * @throws ImportException インポートに失敗した時 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws IllegalArgumentException 必須config情報が{@code null}の場合 - * @since 0.2 - */ - boolean importModel(RootModel rootModel, T config) throws ImportException; - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/06/19 + * + * 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.composer; + +import org.jiemamy.model.RootModel; + +/** + * 外部リソースからJiemamyモデルに入力を行うインターフェイス。 + * + * @param <T> インポート作業に必要な設定情報を保持する型 + * @since 0.2 + * @author daisuke + */ +public interface Importer<T extends ImportConfig> { + + /** + * Importerの名称を取得する。 + * + * <p>{@code null}を返してはならない。</p> + * + * @return Importerの名称 + * @since 0.2 + */ + String getName(); + + /** + * 外部リソースからモデルにデータをインポートする。 + * + * @param rootModel インポート対象モデル + * @param config インポートのコンテキスト情報 + * @return インポートが正常に完了した場合は{@code true}、設定等により入力が行われなかった場合は{@code false} + * @throws ImportException インポートに失敗した時 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws IllegalArgumentException 必須config情報が{@code null}の場合 + * @since 0.2 + */ + boolean importModel(RootModel rootModel, T config) throws ImportException; + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/Importer.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/package-info.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/package-info.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/package-info.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,11 +1,11 @@ -/** - * Jiemamyモデルに対する情報のインポート・エクスポートを行うロジッククラス(総じてコンポーザと称する)の仕様を定義するパッケージ。 - * - * <p>このパッケージは、コンポーザ仕様を規定するインターフェイスを含む。 - * {@link org.jiemamy.composer.Importer}/{@link org.jiemamy.composer.Exporter} が、 - * このパッケージの主要インターフェイスである。</p> - * - * @author daisuke - */ -package org.jiemamy.composer; - +/** + * Jiemamyモデルに対する情報のインポート・エクスポートを行うロジッククラス(総じてコンポーザと称する)の仕様を定義するパッケージ。 + * + * <p>このパッケージは、コンポーザ仕様を規定するインターフェイスを含む。 + * {@link org.jiemamy.composer.Importer}/{@link org.jiemamy.composer.Exporter} が、 + * このパッケージの主要インターフェイスである。</p> + * + * @author daisuke + */ +package org.jiemamy.composer; + Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/composer/package-info.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/BuiltinDataTypeMold.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/BuiltinDataTypeMold.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/BuiltinDataTypeMold.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,86 +1,86 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/03/18 - * - * 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.dialect; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; - -import org.jiemamy.model.datatype.BuiltinDataType; -import org.jiemamy.model.datatype.DataTypeCategory; -import org.jiemamy.model.datatype.DataTypeMold; - -/** - * {@link BuiltinDataType}インスタンスを生成する鋳型情報インターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface BuiltinDataTypeMold extends DataTypeMold<BuiltinDataType> { - - /** 不明なモールド */ - BuiltinDataTypeMold UNKNOWN = new BuiltinDataTypeMold() { - - @SuppressWarnings("unchecked") - // 空のコレクションなので問題ない - public Collection<String> getAliases() { - return Collections.EMPTY_LIST; - } - - public DataTypeCategory getCategory() { - return DataTypeCategory.OTHER; - } - - public String getName() { - return "UNKNOWN"; - } - - public Collection<Class<?>> getSupportedAdapterClasses() { - return new ArrayList<Class<?>>(); - } - }; - - - /** - * このデータ型の別名文字列の{@link Collection}を取得する。 - * - * <p>返される{@link Collection}は他に影響を及ぼさない独立したインスタンスである。</p> - * - * @return このデータ型の別名文字列の{@link Collection} - * @since 0.3 - */ - Collection<String> getAliases(); - - /** - * データ型カテゴリを取得する。 - * - * @return データ型カテゴリ - * @since 0.2 - */ - DataTypeCategory getCategory(); - - /** - * 型がサポートするアダプタクラスの集合を取得する。 - * - * @return 型がサポートするアダプタクラスの集合 - * @since 0.2 - */ - Collection<Class<?>> getSupportedAdapterClasses(); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/03/18 + * + * 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.dialect; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; + +import org.jiemamy.model.datatype.BuiltinDataType; +import org.jiemamy.model.datatype.DataTypeCategory; +import org.jiemamy.model.datatype.DataTypeMold; + +/** + * {@link BuiltinDataType}インスタンスを生成する鋳型情報インターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface BuiltinDataTypeMold extends DataTypeMold<BuiltinDataType> { + + /** 不明なモールド */ + BuiltinDataTypeMold UNKNOWN = new BuiltinDataTypeMold() { + + @SuppressWarnings("unchecked") + // 空のコレクションなので問題ない + public Collection<String> getAliases() { + return Collections.EMPTY_LIST; + } + + public DataTypeCategory getCategory() { + return DataTypeCategory.OTHER; + } + + public String getName() { + return "UNKNOWN"; + } + + public Collection<Class<?>> getSupportedAdapterClasses() { + return new ArrayList<Class<?>>(); + } + }; + + + /** + * このデータ型の別名文字列の{@link Collection}を取得する。 + * + * <p>返される{@link Collection}は他に影響を及ぼさない独立したインスタンスである。</p> + * + * @return このデータ型の別名文字列の{@link Collection} + * @since 0.3 + */ + Collection<String> getAliases(); + + /** + * データ型カテゴリを取得する。 + * + * @return データ型カテゴリ + * @since 0.2 + */ + DataTypeCategory getCategory(); + + /** + * 型がサポートするアダプタクラスの集合を取得する。 + * + * @return 型がサポートするアダプタクラスの集合 + * @since 0.2 + */ + Collection<Class<?>> getSupportedAdapterClasses(); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/BuiltinDataTypeMold.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/ConnectionAdvisor.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/ConnectionAdvisor.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/ConnectionAdvisor.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,48 +1,48 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/09/10 - * - * 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.dialect; - -import java.sql.Connection; - -/** - * DBメタデータの読み出し前後に実行する処理を司るインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface ConnectionAdvisor { - - /** - * エンティティ・リレーションの読み出し前に実行する処理を行う。 - * - * @param connection DB接続 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void setUpRead(Connection connection); - - /** - * エンティティ・リレーションの読み出し後に実行する処理を行う。 - * - * @param connection DB接続 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void tearDownRead(Connection connection); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/09/10 + * + * 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.dialect; + +import java.sql.Connection; + +/** + * DBメタデータの読み出し前後に実行する処理を司るインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface ConnectionAdvisor { + + /** + * エンティティ・リレーションの読み出し前に実行する処理を行う。 + * + * @param connection DB接続 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void setUpRead(Connection connection); + + /** + * エンティティ・リレーションの読み出し後に実行する処理を行う。 + * + * @param connection DB接続 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void tearDownRead(Connection connection); +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/ConnectionAdvisor.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/DataTypeResolver.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/DataTypeResolver.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/DataTypeResolver.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,122 +1,122 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/08/30 - * - * 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.dialect; - -import java.sql.Types; -import java.util.List; - -import org.jiemamy.JiemamyFactory; -import org.jiemamy.ReferenceResolver; -import org.jiemamy.model.datatype.BuiltinDataType; -import org.jiemamy.model.datatype.DataType; -import org.jiemamy.model.datatype.DataTypeCategory; -import org.jiemamy.model.sql.Token; - -/** - * データ型({@link DataType})を中心とした各種解決を行うインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ - @ SuppressWarnings("deprecation") -// 互換性維持のため、MoldManagerとしても振る舞えるようにしてある。 -public interface DataTypeResolver extends MoldManager { - - /** - * 指定したデータ型に適合する、最も適したモールドを取得する。 - * - * @param builtinDataType データ型 - * @return モールド - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.3 - */ - BuiltinDataTypeMold findDataTypeMold(BuiltinDataType builtinDataType); - - /** - * 指定したカテゴリに最も適したモールドを取得する。 - * - * <p>typeNameには、{@code category.name()}を用いる。</p> - * - * <p>{@code null}を返してはならない。</p> - * - * @param category 型カテゴリ - * @return モールド - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @see #findDataTypeMold(DataTypeCategory, String) - * @since 0.3 - */ - BuiltinDataTypeMold findDataTypeMold(DataTypeCategory category); - - /** - * 指定したカテゴリ、型名に最も適したモールドを取得する。 - * - * <p><ol> - * <li>カテゴリと型名が完全一致するモールドがあれば、それを返す。</li> - * <li>見つからなければ、次に、型名が完全一致するモールドがあれば、それを返す。</li> - * <li>さらに見つからなければ、カテゴリが一致する中で、先に定義されているモールドを返す。ただし、カテゴリが{@link DataTypeCategory#OTHER} - * ではない場合に限る。</li> - * <li>与えられたカテゴリに該当する型がひとつもマッピングされていない場合は、 {@link BuiltinDataTypeMold#UNKNOWN}を返す。</li> - * </ol></p> - * - * <p>{@code null}を返してはならない。</p> - * - * @param category 型カテゴリ - * @param typeName 型名 - * @return モールド - * @throws IllegalArgumentException 引数typeNameに{@code null}を与えた場合 - * @since 0.3 - */ - BuiltinDataTypeMold findDataTypeMold(DataTypeCategory category, String typeName); - - /** - * 全ての鋳型のリストを取得する。 - * - * @return 全ての鋳型のリスト - * @since 0.3 - */ - List<BuiltinDataTypeMold> getTypeList(); - - /** - * 型記述子からデータ型をあらわすトークンシーケンスを解決する。 - * - * <p>返される{@link List}は他に影響を及ぼさない独立したインスタンスである。</p> - * - * @param dataType 型記述子 - * @param resolver 参照リゾルバ - * @return データ型をあらわすトークンシーケンス - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - List<Token> resolveDataType(DataType dataType, ReferenceResolver resolver); - - /** - * 型名から型記述子を解決する。 - * - * <p>このメソッドは、毎回新しいインスタンスを返す。</p> - * - * @param factory 記述子生成のためのファクトリ - * @param sqlType {@link Types}であらわされるデータ型 - * @param typeName 型名 - * @return 型記述子 - * @throws IllegalArgumentException 引数factoryに{@code null}を与えた場合 - * @since 0.2 - */ - BuiltinDataType resolveDataType(JiemamyFactory factory, int sqlType, String typeName); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/08/30 + * + * 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.dialect; + +import java.sql.Types; +import java.util.List; + +import org.jiemamy.JiemamyFactory; +import org.jiemamy.ReferenceResolver; +import org.jiemamy.model.datatype.BuiltinDataType; +import org.jiemamy.model.datatype.DataType; +import org.jiemamy.model.datatype.DataTypeCategory; +import org.jiemamy.model.sql.Token; + +/** + * データ型({@link DataType})を中心とした各種解決を行うインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ + @ SuppressWarnings("deprecation") +// 互換性維持のため、MoldManagerとしても振る舞えるようにしてある。 +public interface DataTypeResolver extends MoldManager { + + /** + * 指定したデータ型に適合する、最も適したモールドを取得する。 + * + * @param builtinDataType データ型 + * @return モールド + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.3 + */ + BuiltinDataTypeMold findDataTypeMold(BuiltinDataType builtinDataType); + + /** + * 指定したカテゴリに最も適したモールドを取得する。 + * + * <p>typeNameには、{@code category.name()}を用いる。</p> + * + * <p>{@code null}を返してはならない。</p> + * + * @param category 型カテゴリ + * @return モールド + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @see #findDataTypeMold(DataTypeCategory, String) + * @since 0.3 + */ + BuiltinDataTypeMold findDataTypeMold(DataTypeCategory category); + + /** + * 指定したカテゴリ、型名に最も適したモールドを取得する。 + * + * <p><ol> + * <li>カテゴリと型名が完全一致するモールドがあれば、それを返す。</li> + * <li>見つからなければ、次に、型名が完全一致するモールドがあれば、それを返す。</li> + * <li>さらに見つからなければ、カテゴリが一致する中で、先に定義されているモールドを返す。ただし、カテゴリが{@link DataTypeCategory#OTHER} + * ではない場合に限る。</li> + * <li>与えられたカテゴリに該当する型がひとつもマッピングされていない場合は、 {@link BuiltinDataTypeMold#UNKNOWN}を返す。</li> + * </ol></p> + * + * <p>{@code null}を返してはならない。</p> + * + * @param category 型カテゴリ + * @param typeName 型名 + * @return モールド + * @throws IllegalArgumentException 引数typeNameに{@code null}を与えた場合 + * @since 0.3 + */ + BuiltinDataTypeMold findDataTypeMold(DataTypeCategory category, String typeName); + + /** + * 全ての鋳型のリストを取得する。 + * + * @return 全ての鋳型のリスト + * @since 0.3 + */ + List<BuiltinDataTypeMold> getTypeList(); + + /** + * 型記述子からデータ型をあらわすトークンシーケンスを解決する。 + * + * <p>返される{@link List}は他に影響を及ぼさない独立したインスタンスである。</p> + * + * @param dataType 型記述子 + * @param resolver 参照リゾルバ + * @return データ型をあらわすトークンシーケンス + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + List<Token> resolveDataType(DataType dataType, ReferenceResolver resolver); + + /** + * 型名から型記述子を解決する。 + * + * <p>このメソッドは、毎回新しいインスタンスを返す。</p> + * + * @param factory 記述子生成のためのファクトリ + * @param sqlType {@link Types}であらわされるデータ型 + * @param typeName 型名 + * @return 型記述子 + * @throws IllegalArgumentException 引数factoryに{@code null}を与えた場合 + * @since 0.2 + */ + BuiltinDataType resolveDataType(JiemamyFactory factory, int sqlType, String typeName); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/DataTypeResolver.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/Dialect.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/Dialect.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/Dialect.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,206 +1,206 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/06/09 - * - * 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.dialect; - -import java.sql.DatabaseMetaData; -import java.sql.SQLException; -import java.util.List; -import java.util.Map; - -import org.jiemamy.model.RootModel; -import org.jiemamy.model.attribute.constraint.ForeignKey; -import org.jiemamy.model.datatype.BuiltinDataType; -import org.jiemamy.model.datatype.DataTypeCategory; -import org.jiemamy.model.entity.EntityModel; -import org.jiemamy.model.sql.SqlStatement; -import org.jiemamy.validator.Validator; - -/** - * SQL方言インターフェイス。 - * - * <p>実装クラスは、引数無しのデフォルトコンストラクタを持たなければならない。 - * また、実装クラスはステートレスである必要がある。</p> - * - * @since 0.2 - * @author daisuke - */ -public interface Dialect { - - /** - * {@link RootModel}からSQL文のリストを生成する。 - * - * <p>{@code null}を返してはならない。</p> - * - * @param rootModel {@link RootModel} - * @param config 設定オブジェクト - * @return SQL文のリスト - * @throws UnsupportedOperationException SQL文の出力をサポートしていない場合 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - List<SqlStatement> emitStatements(RootModel rootModel, EmitConfig config); - - /** - * 指定したデータ型に適合する、最も適したモールドを取得する。 - * - * @param dataType データ型 - * @return モールド - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - * @deprecated use {@link #getMoldManager()} and {@link MoldManager#findDataTypeMold(BuiltinDataType)} - */ - @Deprecated - BuiltinDataTypeMold findDataTypeMold(BuiltinDataType dataType); - - /** - * 指定したカテゴリに最も適したモールドを取得する。 - * - * <p>typeNameには、{@code category.name()}を用いる。</p> - * - * <p>{@code null}を返してはならない。</p> - * - * @param category 型カテゴリ - * @return モールド - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @see #findDataTypeMold(DataTypeCategory, String) - * @since 0.2 - * @deprecated use {@link #getMoldManager()} and {@link MoldManager#findDataTypeMold(DataTypeCategory)} - */ - @Deprecated - BuiltinDataTypeMold findDataTypeMold(DataTypeCategory category); - - /** - * 指定したカテゴリ、型名に最も適したモールドを取得する。 - * - * <p><ol> - * <li>カテゴリと型名が完全一致するモールドがあれば、それを返す。</li> - * <li>見つからなければ、次に、型名が完全一致するモールドがあれば、それを返す。</li> - * <li>さらに見つからなければ、カテゴリが一致する中で、先に定義されているモールドを返す。</li> - * <li>与えられたカテゴリに該当する型がひとつもマッピングされていない場合は、 {@link BuiltinDataTypeMold#UNKNOWN}を返す。</li> - * </ol></p> - * - * <p>{@code null}を返してはならない。</p> - * - * @param category 型カテゴリ - * @param typeName 型名 - * @return モールド - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - * @deprecated use {@link #getMoldManager()} and {@link MoldManager#findDataTypeMold(DataTypeCategory, String)} - */ - @Deprecated - BuiltinDataTypeMold findDataTypeMold(DataTypeCategory category, String typeName); - - /** - * データ型名を全て取得する。 - * - * <p>{@code null}を返してはならない。</p> - * - * @return データ型名のリスト - * @since 0.2 - * @deprecated use {@link #getMoldManager()} and {@link MoldManager#getTypeList()} - */ - @Deprecated - List<BuiltinDataTypeMold> getAllDataTypes(); - - /** - * JDBC接続URLの雛形文字列を取得する。 - * - * @return JDBC接続URLの雛形文字列 - * @since 0.2 - */ - String getConnectionUriTemplate(); - - /** - * モデリング用DataType・一般型・型名間のマッピング情報を取得する。 - * - * <p>{@code null}を返してはならない。</p> - * - * @return マッピング情報 - * @since 0.2 - */ - DataTypeResolver getDataTypeResolver(); - - /** - * データ型鋳型の管理マネージャを取得する。 - * - * @return データ型鋳型の管理マネージャ - * @since 0.2 - * @deprecated use {@link #getDataTypeResolver()} - */ - @Deprecated - MoldManager getMoldManager(); - - /** - * SQL方言名を取得する。 - * - * @return SQL方言名 - * @since 0.2 - */ - String getName(); - - /** - * モデルのバリデータを取得する。 - * - * <p>{@code null}を返してはならない。</p> - * - * @return モデルのバリデータ - * @since 0.2 - */ - Validator getValidator(); - - /** - * エンティティ情報から{@link EntityModel}を生成する。 - * - * @param rootModel インポート先の{@link RootModel} - * @param meta DBメタデータ - * @param config インポート設定 - * @param importedEntities インポートされたエンティティ情報を格納する{@link Map} - * @param importedForeignKeys インポートされた外部キー情報を格納する{@link Map} - * @throws SQLException SQLの実行に失敗した場合 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws UnsupportedOperationException DBからのインポートをサポートしていない場合 - * @since 0.2 - */ - void importMetadata(RootModel rootModel, DatabaseMetaData meta, ImportMetadataConfig config, - Map<String, EntityModel> importedEntities, Map<String, ForeignKey> importedForeignKeys) throws SQLException; - - /** - * SQL文のリストから、{@link RootModel} を生成する。 - * - * <p>{@code null}を返してはならない。</p> - * - * @param statements SQL文のリスト - * @return 生成した{@link RootModel} - * @throws UnsupportedOperationException 実装がこの機能を提供していない場合 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - RootModel parseStatements(List<SqlStatement> statements); - - /** - * SQL方言IDを返す。 - * - * <p>{@code null}を返してはならない。</p> - * - * @return SQL方言ID - * @since 0.2 - */ - String toString(); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/06/09 + * + * 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.dialect; + +import java.sql.DatabaseMetaData; +import java.sql.SQLException; +import java.util.List; +import java.util.Map; + +import org.jiemamy.model.RootModel; +import org.jiemamy.model.attribute.constraint.ForeignKey; +import org.jiemamy.model.datatype.BuiltinDataType; +import org.jiemamy.model.datatype.DataTypeCategory; +import org.jiemamy.model.entity.EntityModel; +import org.jiemamy.model.sql.SqlStatement; +import org.jiemamy.validator.Validator; + +/** + * SQL方言インターフェイス。 + * + * <p>実装クラスは、引数無しのデフォルトコンストラクタを持たなければならない。 + * また、実装クラスはステートレスである必要がある。</p> + * + * @since 0.2 + * @author daisuke + */ +public interface Dialect { + + /** + * {@link RootModel}からSQL文のリストを生成する。 + * + * <p>{@code null}を返してはならない。</p> + * + * @param rootModel {@link RootModel} + * @param config 設定オブジェクト + * @return SQL文のリスト + * @throws UnsupportedOperationException SQL文の出力をサポートしていない場合 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + List<SqlStatement> emitStatements(RootModel rootModel, EmitConfig config); + + /** + * 指定したデータ型に適合する、最も適したモールドを取得する。 + * + * @param dataType データ型 + * @return モールド + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + * @deprecated use {@link #getMoldManager()} and {@link MoldManager#findDataTypeMold(BuiltinDataType)} + */ + @Deprecated + BuiltinDataTypeMold findDataTypeMold(BuiltinDataType dataType); + + /** + * 指定したカテゴリに最も適したモールドを取得する。 + * + * <p>typeNameには、{@code category.name()}を用いる。</p> + * + * <p>{@code null}を返してはならない。</p> + * + * @param category 型カテゴリ + * @return モールド + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @see #findDataTypeMold(DataTypeCategory, String) + * @since 0.2 + * @deprecated use {@link #getMoldManager()} and {@link MoldManager#findDataTypeMold(DataTypeCategory)} + */ + @Deprecated + BuiltinDataTypeMold findDataTypeMold(DataTypeCategory category); + + /** + * 指定したカテゴリ、型名に最も適したモールドを取得する。 + * + * <p><ol> + * <li>カテゴリと型名が完全一致するモールドがあれば、それを返す。</li> + * <li>見つからなければ、次に、型名が完全一致するモールドがあれば、それを返す。</li> + * <li>さらに見つからなければ、カテゴリが一致する中で、先に定義されているモールドを返す。</li> + * <li>与えられたカテゴリに該当する型がひとつもマッピングされていない場合は、 {@link BuiltinDataTypeMold#UNKNOWN}を返す。</li> + * </ol></p> + * + * <p>{@code null}を返してはならない。</p> + * + * @param category 型カテゴリ + * @param typeName 型名 + * @return モールド + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + * @deprecated use {@link #getMoldManager()} and {@link MoldManager#findDataTypeMold(DataTypeCategory, String)} + */ + @Deprecated + BuiltinDataTypeMold findDataTypeMold(DataTypeCategory category, String typeName); + + /** + * データ型名を全て取得する。 + * + * <p>{@code null}を返してはならない。</p> + * + * @return データ型名のリスト + * @since 0.2 + * @deprecated use {@link #getMoldManager()} and {@link MoldManager#getTypeList()} + */ + @Deprecated + List<BuiltinDataTypeMold> getAllDataTypes(); + + /** + * JDBC接続URLの雛形文字列を取得する。 + * + * @return JDBC接続URLの雛形文字列 + * @since 0.2 + */ + String getConnectionUriTemplate(); + + /** + * モデリング用DataType・一般型・型名間のマッピング情報を取得する。 + * + * <p>{@code null}を返してはならない。</p> + * + * @return マッピング情報 + * @since 0.2 + */ + DataTypeResolver getDataTypeResolver(); + + /** + * データ型鋳型の管理マネージャを取得する。 + * + * @return データ型鋳型の管理マネージャ + * @since 0.2 + * @deprecated use {@link #getDataTypeResolver()} + */ + @Deprecated + MoldManager getMoldManager(); + + /** + * SQL方言名を取得する。 + * + * @return SQL方言名 + * @since 0.2 + */ + String getName(); + + /** + * モデルのバリデータを取得する。 + * + * <p>{@code null}を返してはならない。</p> + * + * @return モデルのバリデータ + * @since 0.2 + */ + Validator getValidator(); + + /** + * エンティティ情報から{@link EntityModel}を生成する。 + * + * @param rootModel インポート先の{@link RootModel} + * @param meta DBメタデータ + * @param config インポート設定 + * @param importedEntities インポートされたエンティティ情報を格納する{@link Map} + * @param importedForeignKeys インポートされた外部キー情報を格納する{@link Map} + * @throws SQLException SQLの実行に失敗した場合 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws UnsupportedOperationException DBからのインポートをサポートしていない場合 + * @since 0.2 + */ + void importMetadata(RootModel rootModel, DatabaseMetaData meta, ImportMetadataConfig config, + Map<String, EntityModel> importedEntities, Map<String, ForeignKey> importedForeignKeys) throws SQLException; + + /** + * SQL文のリストから、{@link RootModel} を生成する。 + * + * <p>{@code null}を返してはならない。</p> + * + * @param statements SQL文のリスト + * @return 生成した{@link RootModel} + * @throws UnsupportedOperationException 実装がこの機能を提供していない場合 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + RootModel parseStatements(List<SqlStatement> statements); + + /** + * SQL方言IDを返す。 + * + * <p>{@code null}を返してはならない。</p> + * + * @return SQL方言ID + * @since 0.2 + */ + String toString(); +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/Dialect.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/EmitConfig.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/EmitConfig.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/EmitConfig.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,55 +1,55 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/02/10 - * - * 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.dialect; - -import org.jiemamy.model.RootModel; - -/** - * {@link RootModel}をSQL化する際に必要となる設定情報を供給するインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface EmitConfig { - - /** - * CREATE SCHEMA文を出力するかどうかを取得する。 - * - * @return 出力する場合は{@code true}、そうでない場合は{@code false} - * @since 0.2 - */ - boolean emitCreateSchemaStatement(); - - /** - * CREATE文の前にDROP文を出力するかどうかを取得する。 - * - * @return 出力する場合は{@code true}、そうでない場合は{@code false} - * @since 0.2 - */ - boolean emitDropStatements(); - - /** - * 出力するデータセットのインデックスを取得する。 - * - * @return 出力するデータセットのインデックス. 出力しない場合は負数 - * @since 0.2 - */ - int getDataSetIndex(); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/02/10 + * + * 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.dialect; + +import org.jiemamy.model.RootModel; + +/** + * {@link RootModel}をSQL化する際に必要となる設定情報を供給するインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface EmitConfig { + + /** + * CREATE SCHEMA文を出力するかどうかを取得する。 + * + * @return 出力する場合は{@code true}、そうでない場合は{@code false} + * @since 0.2 + */ + boolean emitCreateSchemaStatement(); + + /** + * CREATE文の前にDROP文を出力するかどうかを取得する。 + * + * @return 出力する場合は{@code true}、そうでない場合は{@code false} + * @since 0.2 + */ + boolean emitDropStatements(); + + /** + * 出力するデータセットのインデックスを取得する。 + * + * @return 出力するデータセットのインデックス. 出力しない場合は負数 + * @since 0.2 + */ + int getDataSetIndex(); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/EmitConfig.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/ImportMetadataConfig.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/ImportMetadataConfig.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/ImportMetadataConfig.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,66 +1,66 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/03/30 - * - * 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.dialect; - -import org.jiemamy.model.entity.EntityModel; - -/** - * {@link Dialect}がエンティティ情報から{@link EntityModel}を生成する際に必要となる設定情報を供給するインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface ImportMetadataConfig { - - /** - * SQL方言を取得する。 - * - * @return SQL方言. 未設定の場合は{@code null} - */ - Dialect getDialect(); - - /** - * インポートするエンティティの種類を取得する。 - * - * @return インポートするエンティティの種類. 未設定の場合は{@code null} - */ - String[] getEntityTypes(); - - /** - * スキーマ名を取得する。 - * - * @return スキーマ名. 未設定の場合は{@code null} - */ - String getSchema(); - - /** - * インポートするエンティティ名の配列を取得する。 - * - * @return インポートするエンティティ名の配列. 未設定の場合は{@code null} - */ - String[] getSelectedEntities(); - - /** - * テーブルのコンテンツをデータセットとしてインポートするかどうかを取得する。 - * - * @return テーブルのコンテンツをデータセットとしてインポートするかどうか - */ - boolean isImportDataSet(); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/03/30 + * + * 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.dialect; + +import org.jiemamy.model.entity.EntityModel; + +/** + * {@link Dialect}がエンティティ情報から{@link EntityModel}を生成する際に必要となる設定情報を供給するインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface ImportMetadataConfig { + + /** + * SQL方言を取得する。 + * + * @return SQL方言. 未設定の場合は{@code null} + */ + Dialect getDialect(); + + /** + * インポートするエンティティの種類を取得する。 + * + * @return インポートするエンティティの種類. 未設定の場合は{@code null} + */ + String[] getEntityTypes(); + + /** + * スキーマ名を取得する。 + * + * @return スキーマ名. 未設定の場合は{@code null} + */ + String getSchema(); + + /** + * インポートするエンティティ名の配列を取得する。 + * + * @return インポートするエンティティ名の配列. 未設定の場合は{@code null} + */ + String[] getSelectedEntities(); + + /** + * テーブルのコンテンツをデータセットとしてインポートするかどうかを取得する。 + * + * @return テーブルのコンテンツをデータセットとしてインポートするかどうか + */ + boolean isImportDataSet(); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/ImportMetadataConfig.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/MoldManager.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/MoldManager.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/MoldManager.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,89 +1,89 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/03/31 - * - * 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.dialect; - -import java.util.List; - -import org.jiemamy.model.datatype.BuiltinDataType; -import org.jiemamy.model.datatype.DataTypeCategory; - -/** - * データ型鋳型の管理インターフェイス。 - * - * @author daisuke - * @since 0.2 - * @deprecated use {@link DataTypeResolver} - */ - @ Deprecated -public interface MoldManager { - - /** - * 指定したデータ型に適合する、最も適したモールドを取得する。 - * - * @param builtinDataType データ型 - * @return モールド - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - BuiltinDataTypeMold findDataTypeMold(BuiltinDataType builtinDataType); - - /** - * 指定したカテゴリに最も適したモールドを取得する。 - * - * <p>typeNameには、{@code category.name()}を用いる。</p> - * - * <p>{@code null}を返してはならない。</p> - * - * @param category 型カテゴリ - * @return モールド - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @see #findDataTypeMold(DataTypeCategory, String) - * @since 0.2 - */ - BuiltinDataTypeMold findDataTypeMold(DataTypeCategory category); - - /** - * 指定したカテゴリ、型名に最も適したモールドを取得する。 - * - * <p><ol> - * <li>カテゴリと型名が完全一致するモールドがあれば、それを返す。</li> - * <li>見つからなければ、次に、型名が完全一致するモールドがあれば、それを返す。</li> - * <li>さらに見つからなければ、カテゴリが一致する中で、先に定義されているモールドを返す。ただし、カテゴリが{@link DataTypeCategory#OTHER} - * ではない場合に限る。</li> - * <li>与えられたカテゴリに該当する型がひとつもマッピングされていない場合は、 {@link BuiltinDataTypeMold#UNKNOWN}を返す。</li> - * </ol></p> - * - * <p>{@code null}を返してはならない。</p> - * - * @param category 型カテゴリ - * @param typeName 型名 - * @return モールド - * @throws IllegalArgumentException 引数typeNameに{@code null}を与えた場合 - * @since 0.2 - */ - BuiltinDataTypeMold findDataTypeMold(DataTypeCategory category, String typeName); - - /** - * 全ての鋳型のリストを取得する。 - * - * @return 全ての鋳型のリスト - */ - List<BuiltinDataTypeMold> getTypeList(); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/03/31 + * + * 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.dialect; + +import java.util.List; + +import org.jiemamy.model.datatype.BuiltinDataType; +import org.jiemamy.model.datatype.DataTypeCategory; + +/** + * データ型鋳型の管理インターフェイス。 + * + * @author daisuke + * @since 0.2 + * @deprecated use {@link DataTypeResolver} + */ + @ Deprecated +public interface MoldManager { + + /** + * 指定したデータ型に適合する、最も適したモールドを取得する。 + * + * @param builtinDataType データ型 + * @return モールド + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + BuiltinDataTypeMold findDataTypeMold(BuiltinDataType builtinDataType); + + /** + * 指定したカテゴリに最も適したモールドを取得する。 + * + * <p>typeNameには、{@code category.name()}を用いる。</p> + * + * <p>{@code null}を返してはならない。</p> + * + * @param category 型カテゴリ + * @return モールド + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @see #findDataTypeMold(DataTypeCategory, String) + * @since 0.2 + */ + BuiltinDataTypeMold findDataTypeMold(DataTypeCategory category); + + /** + * 指定したカテゴリ、型名に最も適したモールドを取得する。 + * + * <p><ol> + * <li>カテゴリと型名が完全一致するモールドがあれば、それを返す。</li> + * <li>見つからなければ、次に、型名が完全一致するモールドがあれば、それを返す。</li> + * <li>さらに見つからなければ、カテゴリが一致する中で、先に定義されているモールドを返す。ただし、カテゴリが{@link DataTypeCategory#OTHER} + * ではない場合に限る。</li> + * <li>与えられたカテゴリに該当する型がひとつもマッピングされていない場合は、 {@link BuiltinDataTypeMold#UNKNOWN}を返す。</li> + * </ol></p> + * + * <p>{@code null}を返してはならない。</p> + * + * @param category 型カテゴリ + * @param typeName 型名 + * @return モールド + * @throws IllegalArgumentException 引数typeNameに{@code null}を与えた場合 + * @since 0.2 + */ + BuiltinDataTypeMold findDataTypeMold(DataTypeCategory category, String typeName); + + /** + * 全ての鋳型のリストを取得する。 + * + * @return 全ての鋳型のリスト + */ + List<BuiltinDataTypeMold> getTypeList(); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/MoldManager.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/package-info.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/package-info.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/package-info.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,10 +1,10 @@ -/** - * JiemamyモデルをSQLに変換する際の、各DB実装間の文法差異を吸収する為のストラテジ仕様を定義するパッケージ。 - * - * <p>このパッケージは、Dialect仕様を規定するインターフェイスを含む。 - * {@link org.jiemamy.dialect.Dialect}インターフェイスが、このパッケージの主要インターフェイスである。</p> - * - * @author daisuke - */ -package org.jiemamy.dialect; - +/** + * JiemamyモデルをSQLに変換する際の、各DB実装間の文法差異を吸収する為のストラテジ仕様を定義するパッケージ。 + * + * <p>このパッケージは、Dialect仕様を規定するインターフェイスを含む。 + * {@link org.jiemamy.dialect.Dialect}インターフェイスが、このパッケージの主要インターフェイスである。</p> + * + * @author daisuke + */ +package org.jiemamy.dialect; + Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/dialect/package-info.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/editcommand/Command.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/editcommand/Command.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/editcommand/Command.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,61 +1,61 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/02/09 - * - * 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.editcommand; - -import org.jiemamy.model.JiemamyElement; - -/** - * モデルを編集するためのEDITコマンドのインターフェース。 - * - * <p>このインターフェイスの実装は、イミュータブルであることが望ましい。</p> - * - * @since 0.2 - * @author daisuke - * @author shin1ogawa - */ -public interface Command { - - /** - * EDITコマンドを実行する。 - * - * @since 0.2 - */ - void execute(); - - /** - * 取り消しEDITコマンドを取得する。 - * - * <p>このメソッドは、常に同じ効果をもたらす取り消しEDITコマンドを返さなければならない。 - * 例えば、{@link #execute()}を実行前後で変化してはならない。 - * このインターフェイスの実装は、イミュータブルであることが望ましいのは、以上の理由である。</p> - * - * @return 取り消しEDITコマンド - * @since 0.2 - */ - Command getNegateCommand(); - - /** - * 操作対象の{@link JiemamyElement}を返す。 - * - * @return 操作対象の{@link JiemamyElement} - * @since 0.2 - */ - JiemamyElement getTarget(); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/02/09 + * + * 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.editcommand; + +import org.jiemamy.model.JiemamyElement; + +/** + * モデルを編集するためのEDITコマンドのインターフェース。 + * + * <p>このインターフェイスの実装は、イミュータブルであることが望ましい。</p> + * + * @since 0.2 + * @author daisuke + * @author shin1ogawa + */ +public interface Command { + + /** + * EDITコマンドを実行する。 + * + * @since 0.2 + */ + void execute(); + + /** + * 取り消しEDITコマンドを取得する。 + * + * <p>このメソッドは、常に同じ効果をもたらす取り消しEDITコマンドを返さなければならない。 + * 例えば、{@link #execute()}を実行前後で変化してはならない。 + * このインターフェイスの実装は、イミュータブルであることが望ましいのは、以上の理由である。</p> + * + * @return 取り消しEDITコマンド + * @since 0.2 + */ + Command getNegateCommand(); + + /** + * 操作対象の{@link JiemamyElement}を返す。 + * + * @return 操作対象の{@link JiemamyElement} + * @since 0.2 + */ + JiemamyElement getTarget(); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/editcommand/Command.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/editcommand/CommandListener.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/editcommand/CommandListener.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/editcommand/CommandListener.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,50 +1,50 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/02/09 - * - * 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.editcommand; - -import org.jiemamy.EventBroker; -import org.jiemamy.model.JiemamyElement; - -/** - * EDITコマンドが実行されたイベントの通知を受け取るリスナ。 - * - * @since 0.2 - * @author shin1ogawa - */ -public interface CommandListener { - - /** - * コマンドが実行されたことを通知するcallbackメソッド。 - * - * <p>監視対象に変更があった場合に{@link EventBroker}によってcallbackされる。</p> - * - * @param command 実行されたコマンド - * @since 0.2 - */ - void commandExecuted(Command command); - - /** - * 監視対象を返す。 - * - * @return 監視対象の{@link JiemamyElement} - * @since 0.2 - */ - JiemamyElement getTargetModel(); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/02/09 + * + * 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.editcommand; + +import org.jiemamy.EventBroker; +import org.jiemamy.model.JiemamyElement; + +/** + * EDITコマンドが実行されたイベントの通知を受け取るリスナ。 + * + * @since 0.2 + * @author shin1ogawa + */ +public interface CommandListener { + + /** + * コマンドが実行されたことを通知するcallbackメソッド。 + * + * <p>監視対象に変更があった場合に{@link EventBroker}によってcallbackされる。</p> + * + * @param command 実行されたコマンド + * @since 0.2 + */ + void commandExecuted(Command command); + + /** + * 監視対象を返す。 + * + * @return 監視対象の{@link JiemamyElement} + * @since 0.2 + */ + JiemamyElement getTargetModel(); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/editcommand/CommandListener.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/DriverNotFoundException.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/DriverNotFoundException.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/DriverNotFoundException.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,54 +1,54 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/07/26 - * - * 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.exception; - -/** - * JDBCドライバクラスが、JARファイル内から見つからなかった時にスローされる例外。 - * - * @since 0.2 - * @author daisuke - */ - @ SuppressWarnings("serial") -public class DriverNotFoundException extends JiemamyException { - - /** 見つからなかったドライバクラス名 */ - private String className; - - - /** - * インスタンスを生成する。 - * - * @param className 見つからなかったドライバクラス名 - * @since 0.2 - */ - public DriverNotFoundException(String className) { - this.className = className; - } - - /** - * 見つからなかったドライバクラス名を取得する。 - * - * @return ドライバクラス名 - * @since 0.2 - */ - public String getClassName() { - return className; - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/07/26 + * + * 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.exception; + +/** + * JDBCドライバクラスが、JARファイル内から見つからなかった時にスローされる例外。 + * + * @since 0.2 + * @author daisuke + */ + @ SuppressWarnings("serial") +public class DriverNotFoundException extends JiemamyException { + + /** 見つからなかったドライバクラス名 */ + private String className; + + + /** + * インスタンスを生成する。 + * + * @param className 見つからなかったドライバクラス名 + * @since 0.2 + */ + public DriverNotFoundException(String className) { + this.className = className; + } + + /** + * 見つからなかったドライバクラス名を取得する。 + * + * @return ドライバクラス名 + * @since 0.2 + */ + public String getClassName() { + return className; + } + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/DriverNotFoundException.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/ElementNotFoundException.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/ElementNotFoundException.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/ElementNotFoundException.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,80 +1,80 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/06/22 - * - * 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.exception; - -import org.jiemamy.model.RootModel; -import org.jiemamy.model.attribute.AttributeModel; -import org.jiemamy.model.attribute.ColumnModel; -import org.jiemamy.model.attribute.constraint.ForeignKey; -import org.jiemamy.model.entity.TableModel; - -/** - * 指定された名前の要素が見つからない時スローされる例外。 - * - * @since 0.2 - * @author daisuke - */ - @ SuppressWarnings("serial") -public class ElementNotFoundException extends JiemamyRuntimeException { - - /** - * インスタンスを生成する。 - * - * @param foreignKey 外部キーモデル - * @param referenceColumn 参照カラム - * @since 0.2 - */ - public ElementNotFoundException(ForeignKey foreignKey, ColumnModel referenceColumn) { - super(referenceColumn.getName() + "(" + referenceColumn.getId() + ")" + " is not found in " + foreignKey + "."); - } - - /** - * インスタンスを生成する。 - * - * @param rootModel ルートモデル - * @param entityName エンティティ名 - * @since 0.2 - */ - public ElementNotFoundException(RootModel rootModel, String entityName) { - super(entityName + " is not found in RootModel(" + rootModel.getId() + ")."); - } - - /** - * インスタンスを生成する。 - * - * @param tableModel 検索対象テーブル - * @param clazz 検索条件の型 - * @since 0.2 - */ - public ElementNotFoundException(TableModel tableModel, Class<? extends AttributeModel> clazz) { - super(clazz.getName() + " is not found in Table(" + tableModel.getName() + ", " + tableModel.getId() + ")."); - } - - /** - * インスタンスを生成する。 - * - * @param tableModel 検索対象親テーブル - * @param columnName カラム名 - * @since 0.2 - */ - public ElementNotFoundException(TableModel tableModel, String columnName) { - super(columnName + " is not found in Table(" + tableModel.getName() + ", " + tableModel.getId() + ")."); - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/06/22 + * + * 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.exception; + +import org.jiemamy.model.RootModel; +import org.jiemamy.model.attribute.AttributeModel; +import org.jiemamy.model.attribute.ColumnModel; +import org.jiemamy.model.attribute.constraint.ForeignKey; +import org.jiemamy.model.entity.TableModel; + +/** + * 指定された名前の要素が見つからない時スローされる例外。 + * + * @since 0.2 + * @author daisuke + */ + @ SuppressWarnings("serial") +public class ElementNotFoundException extends JiemamyRuntimeException { + + /** + * インスタンスを生成する。 + * + * @param foreignKey 外部キーモデル + * @param referenceColumn 参照カラム + * @since 0.2 + */ + public ElementNotFoundException(ForeignKey foreignKey, ColumnModel referenceColumn) { + super(referenceColumn.getName() + "(" + referenceColumn.getId() + ")" + " is not found in " + foreignKey + "."); + } + + /** + * インスタンスを生成する。 + * + * @param rootModel ルートモデル + * @param entityName エンティティ名 + * @since 0.2 + */ + public ElementNotFoundException(RootModel rootModel, String entityName) { + super(entityName + " is not found in RootModel(" + rootModel.getId() + ")."); + } + + /** + * インスタンスを生成する。 + * + * @param tableModel 検索対象テーブル + * @param clazz 検索条件の型 + * @since 0.2 + */ + public ElementNotFoundException(TableModel tableModel, Class<? extends AttributeModel> clazz) { + super(clazz.getName() + " is not found in Table(" + tableModel.getName() + ", " + tableModel.getId() + ")."); + } + + /** + * インスタンスを生成する。 + * + * @param tableModel 検索対象親テーブル + * @param columnName カラム名 + * @since 0.2 + */ + public ElementNotFoundException(TableModel tableModel, String columnName) { + super(columnName + " is not found in Table(" + tableModel.getName() + ", " + tableModel.getId() + ")."); + } + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/ElementNotFoundException.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/GenericModelingModeException.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/GenericModelingModeException.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/GenericModelingModeException.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,30 +1,30 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/07/21 - * - * 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.exception; - -/** - * Genericモデリング時に、SQLを取得しようとした時にスローされる例外。 - * - * @author daisuke - * @since 0.2 - */ - @ SuppressWarnings("serial") -public class GenericModelingModeException extends JiemamyException { - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/07/21 + * + * 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.exception; + +/** + * Genericモデリング時に、SQLを取得しようとした時にスローされる例外。 + * + * @author daisuke + * @since 0.2 + */ + @ SuppressWarnings("serial") +public class GenericModelingModeException extends JiemamyException { + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/GenericModelingModeException.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/IllegalDialectImplementationException.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/IllegalDialectImplementationException.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/IllegalDialectImplementationException.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,80 +1,80 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/08/30 - * - * 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.exception; - -import org.jiemamy.dialect.Dialect; - -/** - * SQL方言の実装が不正である時にスローされる例外。 - * - * @since 0.2 - * @author daisuke - */ - @ SuppressWarnings("serial") -public class IllegalDialectImplementationException extends IllegalImplementationException { - - /** 不正実装と判定されたSQL方言クラス */ - private Class<? extends Dialect> dialectClass; - - - /** - * インスタンスを生成する。 - * - * @param dialectClass 不正実装のSQL方言クラス - * @param message 例外メッセージ - * @since 0.2 - */ - public IllegalDialectImplementationException(Class<? extends Dialect> dialectClass, String message) { - super(message); - this.dialectClass = dialectClass; - } - - /** - * インスタンスを生成する。 - * - * @param dialectClass 不正実装のSQL方言クラス - * @param cause 起因例外 - * @since 0.2 - */ - public IllegalDialectImplementationException(Class<? extends Dialect> dialectClass, Throwable cause) { - super(cause); - this.dialectClass = dialectClass; - } - - /** - * インスタンスを生成する。 - * - * @param message 例外メッセージ - * @since 0.2 - */ - public IllegalDialectImplementationException(String message) { - super(message); - } - - /** - * 不正実装と判定されたSQL方言クラスを取得する。 - * - * @return 不正実装と判定されたSQL方言クラス - * @since 0.2 - */ - public Class<? extends Dialect> getDialectClass() { - return dialectClass; - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/08/30 + * + * 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.exception; + +import org.jiemamy.dialect.Dialect; + +/** + * SQL方言の実装が不正である時にスローされる例外。 + * + * @since 0.2 + * @author daisuke + */ + @ SuppressWarnings("serial") +public class IllegalDialectImplementationException extends IllegalImplementationException { + + /** 不正実装と判定されたSQL方言クラス */ + private Class<? extends Dialect> dialectClass; + + + /** + * インスタンスを生成する。 + * + * @param dialectClass 不正実装のSQL方言クラス + * @param message 例外メッセージ + * @since 0.2 + */ + public IllegalDialectImplementationException(Class<? extends Dialect> dialectClass, String message) { + super(message); + this.dialectClass = dialectClass; + } + + /** + * インスタンスを生成する。 + * + * @param dialectClass 不正実装のSQL方言クラス + * @param cause 起因例外 + * @since 0.2 + */ + public IllegalDialectImplementationException(Class<? extends Dialect> dialectClass, Throwable cause) { + super(cause); + this.dialectClass = dialectClass; + } + + /** + * インスタンスを生成する。 + * + * @param message 例外メッセージ + * @since 0.2 + */ + public IllegalDialectImplementationException(String message) { + super(message); + } + + /** + * 不正実装と判定されたSQL方言クラスを取得する。 + * + * @return 不正実装と判定されたSQL方言クラス + * @since 0.2 + */ + public Class<? extends Dialect> getDialectClass() { + return dialectClass; + } + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/IllegalDialectImplementationException.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/IllegalImplementationException.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/IllegalImplementationException.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/IllegalImplementationException.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,99 +1,99 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/12/01 - * - * 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.exception; - -/** - * 不正実装と判断された場合。 - * - * @since 0.2 - * @author daisuke - */ - @ SuppressWarnings("serial") -public class IllegalImplementationException extends JiemamyRuntimeException { - - /** 不正実装と判定されたクラスを表すオブジェクト */ - private Object target; - - - /** - * インスタンスを生成する。 - * - * @param target 不正実装だと判断されたオブジェクト - * @since 0.2 - */ - public IllegalImplementationException(Object target) { - super(); - this.target = target; - } - - /** - * インスタンスを生成する。 - * - * @param target 不正実装だと判断されたオブジェクト - * @param message 例外メッセージ - * @since 0.2 - */ - public IllegalImplementationException(Object target, String message) { - super(message); - this.target = target; - } - - /** - * インスタンスを生成する。 - * - * @param target 不正実装だと判断されたオブジェクト - * @param cause 起因例外 - * @since 0.2 - */ - public IllegalImplementationException(Object target, Throwable cause) { - super(cause); - } - - /** - * インスタンスを生成する。 - * - * @param message 例外メッセージ(不正実装だと判断されたオブジェクトを特定するための文字列) - * @since 0.2 - */ - public IllegalImplementationException(String message) { - super(message); - } - - /** - * インスタンスを生成する。 - * - * @param message 例外メッセージ(不正実装だと判断されたオブジェクトを特定するための文字列) - * @param cause 起因例外 - * @since 0.2 - */ - public IllegalImplementationException(String message, Throwable cause) { - super(message, cause); - } - - /** - * 不正実装だと判断されたオブジェクト表すオブジェクトを取得する。 - * - * @return 不正実装だと判断されたオブジェクトを表すオブジェクト - * @since 0.2 - */ - public Object getTarget() { - return target; - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/12/01 + * + * 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.exception; + +/** + * 不正実装と判断された場合。 + * + * @since 0.2 + * @author daisuke + */ + @ SuppressWarnings("serial") +public class IllegalImplementationException extends JiemamyRuntimeException { + + /** 不正実装と判定されたクラスを表すオブジェクト */ + private Object target; + + + /** + * インスタンスを生成する。 + * + * @param target 不正実装だと判断されたオブジェクト + * @since 0.2 + */ + public IllegalImplementationException(Object target) { + super(); + this.target = target; + } + + /** + * インスタンスを生成する。 + * + * @param target 不正実装だと判断されたオブジェクト + * @param message 例外メッセージ + * @since 0.2 + */ + public IllegalImplementationException(Object target, String message) { + super(message); + this.target = target; + } + + /** + * インスタンスを生成する。 + * + * @param target 不正実装だと判断されたオブジェクト + * @param cause 起因例外 + * @since 0.2 + */ + public IllegalImplementationException(Object target, Throwable cause) { + super(cause); + } + + /** + * インスタンスを生成する。 + * + * @param message 例外メッセージ(不正実装だと判断されたオブジェクトを特定するための文字列) + * @since 0.2 + */ + public IllegalImplementationException(String message) { + super(message); + } + + /** + * インスタンスを生成する。 + * + * @param message 例外メッセージ(不正実装だと判断されたオブジェクトを特定するための文字列) + * @param cause 起因例外 + * @since 0.2 + */ + public IllegalImplementationException(String message, Throwable cause) { + super(message, cause); + } + + /** + * 不正実装だと判断されたオブジェクト表すオブジェクトを取得する。 + * + * @return 不正実装だと判断されたオブジェクトを表すオブジェクト + * @since 0.2 + */ + public Object getTarget() { + return target; + } + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/IllegalImplementationException.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/JiemamyException.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/JiemamyException.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/JiemamyException.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,73 +1,73 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/06/09 - * - * 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.exception; - -/** - * Jiemamyからスローされるチェック例外の基底クラス。 - * - * <p>Jiemamy自身のコードは、基本的にこのクラス以外を基底クラスに持つチェック例外を生成し、スローしてはならない。 - * 必ずこのクラスを拡張した例外を投げる。</p> - * - * @since 0.2 - * @author daisuke - */ - @ SuppressWarnings("serial") -public abstract class JiemamyException extends Exception { - - /** - * インスタンスを生成する。 - * - * @since 0.2 - */ - public JiemamyException() { - super(); - } - - /** - * インスタンスを生成する。 - * - * @param message 例外メッセージ - * @since 0.2 - */ - public JiemamyException(String message) { - super(message); - } - - /** - * インスタンスを生成する。 - * - * @param message 例外メッセージ - * @param cause 起因例外 - * @since 0.2 - */ - public JiemamyException(String message, Throwable cause) { - super(message, cause); - } - - /** - * インスタンスを生成する。 - * - * @param cause 起因例外 - * @since 0.2 - */ - public JiemamyException(Throwable cause) { - super(cause); - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/06/09 + * + * 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.exception; + +/** + * Jiemamyからスローされるチェック例外の基底クラス。 + * + * <p>Jiemamy自身のコードは、基本的にこのクラス以外を基底クラスに持つチェック例外を生成し、スローしてはならない。 + * 必ずこのクラスを拡張した例外を投げる。</p> + * + * @since 0.2 + * @author daisuke + */ + @ SuppressWarnings("serial") +public abstract class JiemamyException extends Exception { + + /** + * インスタンスを生成する。 + * + * @since 0.2 + */ + public JiemamyException() { + super(); + } + + /** + * インスタンスを生成する。 + * + * @param message 例外メッセージ + * @since 0.2 + */ + public JiemamyException(String message) { + super(message); + } + + /** + * インスタンスを生成する。 + * + * @param message 例外メッセージ + * @param cause 起因例外 + * @since 0.2 + */ + public JiemamyException(String message, Throwable cause) { + super(message, cause); + } + + /** + * インスタンスを生成する。 + * + * @param cause 起因例外 + * @since 0.2 + */ + public JiemamyException(Throwable cause) { + super(cause); + } + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/JiemamyException.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/JiemamyImplementationNotFoundException.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/JiemamyImplementationNotFoundException.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/JiemamyImplementationNotFoundException.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,50 +1,50 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/03/30 - * - * 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.exception; - -/** - * Jiemamyの実装クラスが見つからない・または不正な場合。 - * - * @since 0.2 - * @author daisuke - */ - @ SuppressWarnings("serial") -public class JiemamyImplementationNotFoundException extends JiemamyRuntimeException { - - /** - * インスタンスを生成する。 - * - * @param message メッセージ - * @param cause 起因例外 - */ - public JiemamyImplementationNotFoundException(String message, ClassNotFoundException cause) { - super(message, cause); - } - - /** - * インスタンスを生成する。 - * - * @param message メッセージ - * @param cause 起因例外 - */ - public JiemamyImplementationNotFoundException(String message, Exception cause) { - super(message, cause); - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/03/30 + * + * 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.exception; + +/** + * Jiemamyの実装クラスが見つからない・または不正な場合。 + * + * @since 0.2 + * @author daisuke + */ + @ SuppressWarnings("serial") +public class JiemamyImplementationNotFoundException extends JiemamyRuntimeException { + + /** + * インスタンスを生成する。 + * + * @param message メッセージ + * @param cause 起因例外 + */ + public JiemamyImplementationNotFoundException(String message, ClassNotFoundException cause) { + super(message, cause); + } + + /** + * インスタンスを生成する。 + * + * @param message メッセージ + * @param cause 起因例外 + */ + public JiemamyImplementationNotFoundException(String message, Exception cause) { + super(message, cause); + } + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/JiemamyImplementationNotFoundException.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/JiemamyRuntimeException.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/JiemamyRuntimeException.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/JiemamyRuntimeException.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,73 +1,73 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/06/09 - * - * 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.exception; - -/** - * Jiemamyからスローされる非チェック例外の基底クラス。 - * - * <p>Jiemamy自身のコードは、基本的にこのクラス以外を基底クラスに持つ非チェック例外を生成し、スローしてはならない。 - * 必ずこのクラスを拡張した例外を投げる。</p> - * - * @since 0.2 - * @author daisuke - */ - @ SuppressWarnings("serial") -public abstract class JiemamyRuntimeException extends RuntimeException { - - /** - * インスタンスを生成する。 - * - * @since 0.2 - */ - public JiemamyRuntimeException() { - super(); - } - - /** - * インスタンスを生成する。 - * - * @param message 例外メッセージ - * @since 0.2 - */ - public JiemamyRuntimeException(String message) { - super(message); - } - - /** - * インスタンスを生成する。 - * - * @param message 例外メッセージ - * @param cause 起因例外 - * @since 0.2 - */ - public JiemamyRuntimeException(String message, Throwable cause) { - super(message, cause); - } - - /** - * インスタンスを生成する。 - * - * @param cause 起因例外 - * @since 0.2 - */ - public JiemamyRuntimeException(Throwable cause) { - super(cause); - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/06/09 + * + * 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.exception; + +/** + * Jiemamyからスローされる非チェック例外の基底クラス。 + * + * <p>Jiemamy自身のコードは、基本的にこのクラス以外を基底クラスに持つ非チェック例外を生成し、スローしてはならない。 + * 必ずこのクラスを拡張した例外を投げる。</p> + * + * @since 0.2 + * @author daisuke + */ + @ SuppressWarnings("serial") +public abstract class JiemamyRuntimeException extends RuntimeException { + + /** + * インスタンスを生成する。 + * + * @since 0.2 + */ + public JiemamyRuntimeException() { + super(); + } + + /** + * インスタンスを生成する。 + * + * @param message 例外メッセージ + * @since 0.2 + */ + public JiemamyRuntimeException(String message) { + super(message); + } + + /** + * インスタンスを生成する。 + * + * @param message 例外メッセージ + * @param cause 起因例外 + * @since 0.2 + */ + public JiemamyRuntimeException(String message, Throwable cause) { + super(message, cause); + } + + /** + * インスタンスを生成する。 + * + * @param cause 起因例外 + * @since 0.2 + */ + public JiemamyRuntimeException(Throwable cause) { + super(cause); + } + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/JiemamyRuntimeException.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/ModelConsistenceException.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/ModelConsistenceException.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/ModelConsistenceException.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,49 +1,49 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/12/31 - * - * 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.exception; - -/** - * モデル整合性が崩れる操作を行った場合。 - * - * @since 0.2 - * @author daisuke - */ - @ SuppressWarnings("serial") -public class ModelConsistenceException extends RuntimeException { - - /** - * インスタンスを生成する。 - * - * @since 0.2 - */ - public ModelConsistenceException() { - super(); - } - - /** - * インスタンスを生成する。 - * - * @param message 例外メッセージ - * @since 0.2 - */ - public ModelConsistenceException(String message) { - super(message); - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/12/31 + * + * 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.exception; + +/** + * モデル整合性が崩れる操作を行った場合。 + * + * @since 0.2 + * @author daisuke + */ + @ SuppressWarnings("serial") +public class ModelConsistenceException extends RuntimeException { + + /** + * インスタンスを生成する。 + * + * @since 0.2 + */ + public ModelConsistenceException() { + super(); + } + + /** + * インスタンスを生成する。 + * + * @param message 例外メッセージ + * @since 0.2 + */ + public ModelConsistenceException(String message) { + super(message); + } + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/ModelConsistenceException.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/TooManyElementsException.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/TooManyElementsException.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/TooManyElementsException.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,74 +1,74 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/06/22 - * - * 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.exception; - -import java.util.Collection; -import java.util.List; - -/** - * 問い合わせの結果、同名の要素が複数存在する時スローされる例外。 - * - * @since 0.2 - * @author daisuke - */ - @ SuppressWarnings("serial") -public class TooManyElementsException extends JiemamyRuntimeException { - - /** 見つかった同名要素のリスト */ - private Collection<?> elements; - - - /** - * インスタンスを生成する。 - * - * @param <T> 条件とした型 - * @param parent 検索対象親モデル - * @param clazz 条件クラス - * @param elements 見つかった同条件要素のリスト - * @since 0.2 - */ - public <T> TooManyElementsException(Object parent, Class<T> clazz, List<T> elements) { - super(clazz.getName() + " exists two or more in " + parent + "."); - this.elements = elements; - } - - /** - * インスタンスを生成する。 - * - * @param parent 検索対象親モデル - * @param name 名前 - * @param elements 見つかった同名要素のリスト - * @since 0.2 - */ - public TooManyElementsException(Object parent, String name, Collection<?> elements) { - super(name + " exists two or more in " + parent + "."); - this.elements = elements; - } - - /** - * 見つかった同名要素のリストを取得する。 - * - * @return 見つかった同名要素のリスト - * @since 0.2 - */ - public Collection<?> getElements() { - return elements; - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/06/22 + * + * 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.exception; + +import java.util.Collection; +import java.util.List; + +/** + * 問い合わせの結果、同名の要素が複数存在する時スローされる例外。 + * + * @since 0.2 + * @author daisuke + */ + @ SuppressWarnings("serial") +public class TooManyElementsException extends JiemamyRuntimeException { + + /** 見つかった同名要素のリスト */ + private Collection<?> elements; + + + /** + * インスタンスを生成する。 + * + * @param <T> 条件とした型 + * @param parent 検索対象親モデル + * @param clazz 条件クラス + * @param elements 見つかった同条件要素のリスト + * @since 0.2 + */ + public <T> TooManyElementsException(Object parent, Class<T> clazz, List<T> elements) { + super(clazz.getName() + " exists two or more in " + parent + "."); + this.elements = elements; + } + + /** + * インスタンスを生成する。 + * + * @param parent 検索対象親モデル + * @param name 名前 + * @param elements 見つかった同名要素のリスト + * @since 0.2 + */ + public TooManyElementsException(Object parent, String name, Collection<?> elements) { + super(name + " exists two or more in " + parent + "."); + this.elements = elements; + } + + /** + * 見つかった同名要素のリストを取得する。 + * + * @return 見つかった同名要素のリスト + * @since 0.2 + */ + public Collection<?> getElements() { + return elements; + } + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/TooManyElementsException.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/UnexpectedConditionError.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/UnexpectedConditionError.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/UnexpectedConditionError.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,56 +1,56 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/12/01 - * - * 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.exception; - -/** - * Jiemamyのバグが原因であることによるエラー。 - * - * <ul> - * <li>http://d.hatena.ne.jp/daisuke-m/20081201/1228095493</li> - * <li>http://d.hatena.ne.jp/daisuke-m/20081202/1228221927</li> - * </ul> - * - * @since 0.2 - * @author daisuke - */ - @ SuppressWarnings("serial") -public class UnexpectedConditionError extends Error { - - /** - * インスタンスを生成する。 - * - * @param message 例外メッセージ(エラーが発生した状況、考えられる原因など、なるべく詳細に記載すること) - * @since 0.2 - */ - public UnexpectedConditionError(String message) { - super(message); - } - - /** - * インスタンスを生成する。 - * - * @param message 例外メッセージ(エラーが発生した状況、考えられる原因など、なるべく詳細に記載すること) - * @param cause 起因例外 - * @since 0.2 - */ - public UnexpectedConditionError(String message, Throwable cause) { - super(message, cause); - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/12/01 + * + * 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.exception; + +/** + * Jiemamyのバグが原因であることによるエラー。 + * + * <ul> + * <li>http://d.hatena.ne.jp/daisuke-m/20081201/1228095493</li> + * <li>http://d.hatena.ne.jp/daisuke-m/20081202/1228221927</li> + * </ul> + * + * @since 0.2 + * @author daisuke + */ + @ SuppressWarnings("serial") +public class UnexpectedConditionError extends Error { + + /** + * インスタンスを生成する。 + * + * @param message 例外メッセージ(エラーが発生した状況、考えられる原因など、なるべく詳細に記載すること) + * @since 0.2 + */ + public UnexpectedConditionError(String message) { + super(message); + } + + /** + * インスタンスを生成する。 + * + * @param message 例外メッセージ(エラーが発生した状況、考えられる原因など、なるべく詳細に記載すること) + * @param cause 起因例外 + * @since 0.2 + */ + public UnexpectedConditionError(String message, Throwable cause) { + super(message, cause); + } + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/UnexpectedConditionError.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/package-info.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/package-info.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/package-info.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,14 +1,14 @@ -/** - * Jiemamyのオペレーションに関連する一般的な例外クラスを定義するパッケージ。 - * - * <p>このパッケージは、Jiemamyがスローする各種例外・エラークラスの実装を含む。 - * 多くの例外クラスは {@link org.jiemamy.exception.JiemamyException}及び - * {@link org.jiemamy.exception.JiemamyRuntimeException} を基底クラスとする。</p> - * - * <p>特定のコンポーネントに特化した例外クラスは、各パッケージ内で定義しており、このパッケージは - * Jiemamy全体で使用される例外クラスを定義する。</p> - * - * @author daisuke - */ -package org.jiemamy.exception; - +/** + * Jiemamyのオペレーションに関連する一般的な例外クラスを定義するパッケージ。 + * + * <p>このパッケージは、Jiemamyがスローする各種例外・エラークラスの実装を含む。 + * 多くの例外クラスは {@link org.jiemamy.exception.JiemamyException}及び + * {@link org.jiemamy.exception.JiemamyRuntimeException} を基底クラスとする。</p> + * + * <p>特定のコンポーネントに特化した例外クラスは、各パッケージ内で定義しており、このパッケージは + * Jiemamy全体で使用される例外クラスを定義する。</p> + * + * @author daisuke + */ +package org.jiemamy.exception; + Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/exception/package-info.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/ColumnBuilder.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/ColumnBuilder.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/ColumnBuilder.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,31 +1,31 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/03/04 - * - * 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.experimental.builder; - -import org.jiemamy.model.attribute.ColumnModel; - -/** - * {@link ColumnModel}を簡単に構築するためのビルダインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface ColumnBuilder extends JiemamyBuilder<ColumnModel> { - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/03/04 + * + * 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.experimental.builder; + +import org.jiemamy.model.attribute.ColumnModel; + +/** + * {@link ColumnModel}を簡単に構築するためのビルダインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface ColumnBuilder extends JiemamyBuilder<ColumnModel> { + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/ColumnBuilder.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/DataTypeBuilder.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/DataTypeBuilder.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/DataTypeBuilder.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,73 +1,73 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/03/04 - * - * 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.experimental.builder; - -import org.jiemamy.model.datatype.BuiltinDataType; -import org.jiemamy.model.datatype.adapter.PrecisionedDataTypeAdapter; -import org.jiemamy.model.datatype.adapter.SizedDataTypeAdapter; -import org.jiemamy.utils.AdapterNotFoundException; - -/** - * BuiltinDataTypeを流れるようなインターフェイスで構築するビルダクラス。 - * - * @since 0.2 - * @author daisuke - */ -public interface DataTypeBuilder { - - /** - * モデルを構築する。 - * - * @return model 構築されたモデル - * @throws IllegalStateException 既に一度ビルドを行っている場合 - * @since 0.2 - */ - BuiltinDataType build(); - - /** - * 精度を設定する。 - * - * @param precision 精度 - * @return {@code this} - * @throws AdapterNotFoundException {@link PrecisionedDataTypeAdapter}が登録されていない場合 - * @since 0.2 - */ - DataTypeBuilder setPrecision(int precision); - - /** - * スケールを設定する。 - * - * @param scale スケール - * @return {@code this} - * @throws AdapterNotFoundException {@link PrecisionedDataTypeAdapter}が登録されていない場合 - * @since 0.2 - */ - DataTypeBuilder setScale(int scale); - - /** - * サイズを設定する。 - * - * @param size サイズ - * @return {@code this} - * @throws AdapterNotFoundException {@link SizedDataTypeAdapter}が登録されていない場合 - * @since 0.2 - */ - DataTypeBuilder setSize(int size); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/03/04 + * + * 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.experimental.builder; + +import org.jiemamy.model.datatype.BuiltinDataType; +import org.jiemamy.model.datatype.adapter.PrecisionedDataTypeAdapter; +import org.jiemamy.model.datatype.adapter.SizedDataTypeAdapter; +import org.jiemamy.utils.AdapterNotFoundException; + +/** + * BuiltinDataTypeを流れるようなインターフェイスで構築するビルダクラス。 + * + * @since 0.2 + * @author daisuke + */ +public interface DataTypeBuilder { + + /** + * モデルを構築する。 + * + * @return model 構築されたモデル + * @throws IllegalStateException 既に一度ビルドを行っている場合 + * @since 0.2 + */ + BuiltinDataType build(); + + /** + * 精度を設定する。 + * + * @param precision 精度 + * @return {@code this} + * @throws AdapterNotFoundException {@link PrecisionedDataTypeAdapter}が登録されていない場合 + * @since 0.2 + */ + DataTypeBuilder setPrecision(int precision); + + /** + * スケールを設定する。 + * + * @param scale スケール + * @return {@code this} + * @throws AdapterNotFoundException {@link PrecisionedDataTypeAdapter}が登録されていない場合 + * @since 0.2 + */ + DataTypeBuilder setScale(int scale); + + /** + * サイズを設定する。 + * + * @param size サイズ + * @return {@code this} + * @throws AdapterNotFoundException {@link SizedDataTypeAdapter}が登録されていない場合 + * @since 0.2 + */ + DataTypeBuilder setSize(int size); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/DataTypeBuilder.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/ForeignKeyBuilder.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/ForeignKeyBuilder.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/ForeignKeyBuilder.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,60 +1,60 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/03/04 - * - * 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.experimental.builder; - -import org.jiemamy.exception.ElementNotFoundException; -import org.jiemamy.exception.ModelConsistenceException; -import org.jiemamy.model.attribute.ColumnModel; -import org.jiemamy.model.attribute.ColumnRef; -import org.jiemamy.model.attribute.constraint.ForeignKey; - -/** - * {@link ForeignKey}を簡単に構築するためのビルダインターフェイス。 - * - * @author daisuke - */ -public interface ForeignKeyBuilder extends JiemamyBuilder<ForeignKey> { - - /** - * カラム同士のマッピングを設定する。 - * - * @param keyColumn 参照元テーブルの「制約を受けるカラム」の一つ - * @param referenceColumn 参照先テーブルの主キーカラムの一つ - * @return {@code this} - * @throws ElementNotFoundException referenceColumnが、所属テーブルにおいてキー指定されていない場合 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws ModelConsistenceException foreignKeyColumnがconstrainedTableに所属していない場合 - * @throws ModelConsistenceException keyColumnがreferenceTableに所属していない場合 - * @since 0.2 - */ - ForeignKeyBuilder mapping(ColumnModel keyColumn, ColumnModel referenceColumn); - - /** - * カラム同士のマッピングを設定する。 - * - * @param keyColumn 参照元テーブルの「制約を受けるカラム」の一つ - * @param referenceColumn 参照先テーブルの主キーカラムの一つ - * @return {@code this} - * @throws ElementNotFoundException referenceColumnが、所属テーブルにおいて主キー指定されていない場合 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - ForeignKeyBuilder mapping(ColumnRef keyColumn, ColumnRef referenceColumn); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/03/04 + * + * 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.experimental.builder; + +import org.jiemamy.exception.ElementNotFoundException; +import org.jiemamy.exception.ModelConsistenceException; +import org.jiemamy.model.attribute.ColumnModel; +import org.jiemamy.model.attribute.ColumnRef; +import org.jiemamy.model.attribute.constraint.ForeignKey; + +/** + * {@link ForeignKey}を簡単に構築するためのビルダインターフェイス。 + * + * @author daisuke + */ +public interface ForeignKeyBuilder extends JiemamyBuilder<ForeignKey> { + + /** + * カラム同士のマッピングを設定する。 + * + * @param keyColumn 参照元テーブルの「制約を受けるカラム」の一つ + * @param referenceColumn 参照先テーブルの主キーカラムの一つ + * @return {@code this} + * @throws ElementNotFoundException referenceColumnが、所属テーブルにおいてキー指定されていない場合 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws ModelConsistenceException foreignKeyColumnがconstrainedTableに所属していない場合 + * @throws ModelConsistenceException keyColumnがreferenceTableに所属していない場合 + * @since 0.2 + */ + ForeignKeyBuilder mapping(ColumnModel keyColumn, ColumnModel referenceColumn); + + /** + * カラム同士のマッピングを設定する。 + * + * @param keyColumn 参照元テーブルの「制約を受けるカラム」の一つ + * @param referenceColumn 参照先テーブルの主キーカラムの一つ + * @return {@code this} + * @throws ElementNotFoundException referenceColumnが、所属テーブルにおいて主キー指定されていない場合 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + ForeignKeyBuilder mapping(ColumnRef keyColumn, ColumnRef referenceColumn); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/ForeignKeyBuilder.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/JiemamyBuilder.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/JiemamyBuilder.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/JiemamyBuilder.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,52 +1,52 @@ -/* - * Copyright 2007-2009 MIYAMOTO Daisuke, jiemamy.org and the Others. - * Created on 2009/01/01 - * - * 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.experimental.builder; - -import org.jiemamy.model.JiemamyElement; - -/** - * {@link JiemamyElement}を簡単に構築するためのビルダインターフェイス。 - * - * @param <T> 構築するモデルの型 - * @author daisuke - */ -public interface JiemamyBuilder<T extends JiemamyElement> { - - /** - * モデルを構築する。 - * - * @return model 構築されたモデル - * @throws IllegalStateException 過去に一度既にビルドを行っている場合 - * @throws IllegalStateException 必要な操作が行われていない場合 - * @since 0.2 - */ - T build(); - - /** - * モデルを構築する。 - * - * @param force 必要な操作が行われていなくても、強制的にビルドを行う場合は{@code true}、そうでない場合は{@code false} - * @return model 構築されたモデル - * @throws IllegalStateException 過去に一度既にビルドを行っている場合 - * @throws IllegalStateException forceが{@code false}の時、必要な操作が行われていない場合 - * @since 0.2 - */ - T build(boolean force); - -} +/* + * Copyright 2007-2009 MIYAMOTO Daisuke, jiemamy.org and the Others. + * Created on 2009/01/01 + * + * 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.experimental.builder; + +import org.jiemamy.model.JiemamyElement; + +/** + * {@link JiemamyElement}を簡単に構築するためのビルダインターフェイス。 + * + * @param <T> 構築するモデルの型 + * @author daisuke + */ +public interface JiemamyBuilder<T extends JiemamyElement> { + + /** + * モデルを構築する。 + * + * @return model 構築されたモデル + * @throws IllegalStateException 過去に一度既にビルドを行っている場合 + * @throws IllegalStateException 必要な操作が行われていない場合 + * @since 0.2 + */ + T build(); + + /** + * モデルを構築する。 + * + * @param force 必要な操作が行われていなくても、強制的にビルドを行う場合は{@code true}、そうでない場合は{@code false} + * @return model 構築されたモデル + * @throws IllegalStateException 過去に一度既にビルドを行っている場合 + * @throws IllegalStateException forceが{@code false}の時、必要な操作が行われていない場合 + * @since 0.2 + */ + T build(boolean force); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/JiemamyBuilder.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/TableBuilder.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/TableBuilder.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/TableBuilder.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,60 +1,60 @@ -/* - * Copyright 2007-2009 MIYAMOTO Daisuke, jiemamy.org and the Others. - * Created on 2009/01/01 - * - * 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.experimental.builder; - -import org.jiemamy.model.attribute.ColumnModel; -import org.jiemamy.model.entity.TableModel; - -/** - * {@link TableModel}を簡単に構築するためのビルダインターフェイス。 - * - * @author daisuke - */ -public interface TableBuilder extends JiemamyBuilder<TableModel> { - - /** - * カラムを追加する。 - * - * @param columnModel 追加するカラム - * @return {@code this} - * @since 0.2 - */ - TableBuilder addColumn(ColumnModel columnModel); - - /** - * 主キーをカラムのインデックスで指定する。 - * - * @param index カラムのインデックス - * @param otherIndexes 2つ目以降のカラムのインデックス - * @return this - * @throws IndexOutOfBoundsException 指定したインデックスのカラムが存在しない場合 - * @since 0.2 - */ - TableBuilder primaryKey(int index, int... otherIndexes); - - /** - * テーブル名を設定する。 - * - * @param name テーブル名 - * @return {@code this} - * @since 0.2 - */ - TableBuilder setName(String name); - -} +/* + * Copyright 2007-2009 MIYAMOTO Daisuke, jiemamy.org and the Others. + * Created on 2009/01/01 + * + * 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.experimental.builder; + +import org.jiemamy.model.attribute.ColumnModel; +import org.jiemamy.model.entity.TableModel; + +/** + * {@link TableModel}を簡単に構築するためのビルダインターフェイス。 + * + * @author daisuke + */ +public interface TableBuilder extends JiemamyBuilder<TableModel> { + + /** + * カラムを追加する。 + * + * @param columnModel 追加するカラム + * @return {@code this} + * @since 0.2 + */ + TableBuilder addColumn(ColumnModel columnModel); + + /** + * 主キーをカラムのインデックスで指定する。 + * + * @param index カラムのインデックス + * @param otherIndexes 2つ目以降のカラムのインデックス + * @return this + * @throws IndexOutOfBoundsException 指定したインデックスのカラムが存在しない場合 + * @since 0.2 + */ + TableBuilder primaryKey(int index, int... otherIndexes); + + /** + * テーブル名を設定する。 + * + * @param name テーブル名 + * @return {@code this} + * @since 0.2 + */ + TableBuilder setName(String name); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/TableBuilder.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/ViewBuilder.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/ViewBuilder.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/ViewBuilder.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,49 +1,49 @@ -/* - * Copyright 2007-2009 MIYAMOTO Daisuke, jiemamy.org and the Others. - * Created on 2009/01/01 - * - * 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.experimental.builder; - -import org.jiemamy.model.entity.ViewModel; - -/** - * {@link ViewModel}を簡単に構築するためのビルダインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface ViewBuilder extends JiemamyBuilder<ViewModel> { - - /** - * VIEW定義SELECT文を設定する。 - * - * @param definition VIEW定義SELECT文 - * @return {@code this} - * @since 0.2 - */ - ViewBuilder definition(String definition); - - /** - * ビュー名を設定する。 - * - * @param name ビュー名 - * @return {@code this} - * @since 0.2 - */ - ViewBuilder setName(String name); - -} +/* + * Copyright 2007-2009 MIYAMOTO Daisuke, jiemamy.org and the Others. + * Created on 2009/01/01 + * + * 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.experimental.builder; + +import org.jiemamy.model.entity.ViewModel; + +/** + * {@link ViewModel}を簡単に構築するためのビルダインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface ViewBuilder extends JiemamyBuilder<ViewModel> { + + /** + * VIEW定義SELECT文を設定する。 + * + * @param definition VIEW定義SELECT文 + * @return {@code this} + * @since 0.2 + */ + ViewBuilder definition(String definition); + + /** + * ビュー名を設定する。 + * + * @param name ビュー名 + * @return {@code this} + * @since 0.2 + */ + ViewBuilder setName(String name); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/ViewBuilder.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/package-info.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/package-info.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/package-info.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,7 +1,7 @@ -/** - * Jiemamyモデルのビルダー仕様を定義するパッケージ。 - * - * @author daisuke - */ -package org.jiemamy.experimental.builder; - +/** + * Jiemamyモデルのビルダー仕様を定義するパッケージ。 + * + * @author daisuke + */ +package org.jiemamy.experimental.builder; + Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/experimental/builder/package-info.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/facade/JiemamyFacade.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/facade/JiemamyFacade.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/facade/JiemamyFacade.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,422 +1,422 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/03/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.facade; - -import java.util.List; - -import org.jiemamy.JiemamyProperty; -import org.jiemamy.ReferenceResolveException; -import org.jiemamy.model.JiemamyElement; -import org.jiemamy.model.RootModel; -import org.jiemamy.model.attribute.AttributeModel; -import org.jiemamy.model.attribute.ColumnModel; -import org.jiemamy.model.attribute.ColumnRef; -import org.jiemamy.model.attribute.constraint.ForeignKey; -import org.jiemamy.model.attribute.constraint.KeyConstraint; -import org.jiemamy.model.dataset.DataSetModel; -import org.jiemamy.model.dataset.RecordModel; -import org.jiemamy.model.datatype.DomainModel; -import org.jiemamy.model.entity.EntityModel; -import org.jiemamy.model.entity.TableModel; -import org.jiemamy.model.index.IndexColumnModel; -import org.jiemamy.model.index.IndexModel; - -/** - * Jiemamyのモデル操作を単純化するためのファサードインターフェイス。 - * - * <p>ファサードの具体的な目的としては、以下の通り。 - * <ul> - * <li>不整合モデルが出来ないよう、適切な操作インターフェイスを提供する。</li> - * <li>モデルの編集に対するイベント発生をサポートする。</li> - * <li>{@link SavePoint}によるロールバックを提供する。</li> - * </ul></p> - * - * @since 0.2 - * @author daisuke - */ -public interface JiemamyFacade { - - /** - * {@link TableModel}に{@link AttributeModel}を追加する。 - * - * <ul> - * <li>属性が既にこのテーブルに属している場合は、何もしない</li> - * </ul> - * - * @param tableModel 追加対象のテーブル - * @param attributeModel 追加する属性 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws IllegalArgumentException {@link KeyConstraint}追加時、対象テーブルに属さないカラムがキーカラムに含まれていた場合 - * @throws ReferenceResolveException {@link KeyConstraint}追加時、キーカラムの参照が解決できなかった場合 - * @since 0.2 - */ - void addAttribute(TableModel tableModel, AttributeModel attributeModel); - - /** - * {@link TableModel}に{@link AttributeModel}を追加する。 - * - * <ul> - * <li>属性が既にこのテーブルに属している場合は、何もしない</li> - * </ul> - * - * @param tableModel 追加対象のテーブル - * @param index 追加位置インデックス - * @param attributeModel 追加する属性 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws IllegalArgumentException {@link KeyConstraint}追加時、対象テーブルに属さないカラムがキーカラムに含まれていた場合 - * @throws ReferenceResolveException {@link KeyConstraint}追加時、キーカラムの参照が解決できなかった場合 - * @since 0.2 - */ - void addAttribute(TableModel tableModel, int index, AttributeModel attributeModel); - - /** - * {@link RootModel}に{@link DataSetModel}を追加する。 - * - * <ul> - * <li>データセットが既に追加済みの場合は、何もしない</li> - * </ul> - * - * @param dataSetModel 追加するデータセット - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void addDataSet(DataSetModel dataSetModel); - - /** - * {@link RootModel}に{@link DataSetModel}を追加する。 - * - * <ul> - * <li>データセットが既に追加済みの場合は、何もしない</li> - * </ul> - * - * @param dataSetModel 追加するデータセット - * @param index 挿入位置インデックス - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void addDataSet(DataSetModel dataSetModel, int index); - - /** - * {@link RootModel}に{@link DomainModel}を追加する。 - * - * <ul> - * <li>ドメインが既に追加済みの場合は、何もしない</li> - * </ul> - * - * @param domainModel 追加するドメイン - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void addDomain(DomainModel domainModel); - - /** - * {@link RootModel}に{@link DomainModel}を追加する。 - * - * <ul> - * <li>ドメインが既に追加済みの場合は、何もしない</li> - * </ul> - * - * @param domainModel 追加するドメイン - * @param index 挿入位置インデックス - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void addDomain(DomainModel domainModel, int index); - - /** - * {@link RootModel}に{@link EntityModel}を追加する。 - * - * <ul> - * <li>エンティティが既に追加済みの場合は、何もしない</li> - * </ul> - * - * @param entityModel 追加するエンティティ - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void addEntity(EntityModel entityModel); - - /** - * {@link TableModel}に{@link IndexModel}を追加する。 - * - * <ul> - * <li>インデックスが既にこのテーブルに属している場合は、何もしない</li> - * </ul> - * - * @param tableModel 追加対象のテーブル - * @param indexModel 追加するインデックス - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void addIndex(TableModel tableModel, IndexModel indexModel); - - /** - * {@link TableModel}に{@link IndexModel}を追加する。 - * - * <ul> - * <li>インデックスが既にこのテーブルに属している場合は、何もしない</li> - * </ul> - * - * @param tableModel 追加対象のテーブル - * @param index 追加位置インデックス - * @param indexModel 追加するインデックス - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void addIndex(TableModel tableModel, int index, IndexModel indexModel); - - /** - * {@link IndexModel}に{@link IndexColumnModel}を追加する。 - * - * <ul> - * <li>インデックスカラムが既にこのインデックスに属している場合は、何もしない</li> - * </ul> - * - * @param indexModel 追加対象のインデックス - * @param indexColumnModel 追加するインデックスカラム - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void addIndexColumn(IndexModel indexModel, IndexColumnModel indexColumnModel); - - /** - * {@link IndexModel}に{@link IndexColumnModel}を追加する。 - * - * <ul> - * <li>インデックスカラムが既にこのインデックスに属している場合は、何もしない</li> - * </ul> - * - * @param indexModel 追加対象のインデックス - * @param index 挿入位置インデックス - * @param indexColumnModel 追加するインデックスカラム - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void addIndexColumn(IndexModel indexModel, int index, IndexColumnModel indexColumnModel); - - /** - * {@link KeyConstraint}のキーカラム要素にカラムを追加する。 - * - * <ul> - * <li>既に指定したカラムがキーカラムの要素であった場合は何もしない。</li> - * </ul> - * - * @param keyConstraint 対象のキー制約 - * @param columnModel 追加するカラム - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void addKeyColumn(KeyConstraint keyConstraint, ColumnModel columnModel); - - /** - * {@link DataSetModel}に、指定したテーブル用のレコード保存領域を確保する。 - * - * <ul> - * <li>既に指定したテーブル用のレコード保存領域が確保済みであった場合は何もしない。</li> - * </ul> - * - * @param dataSetModel レコード追加対象の{@link DataSetModel} - * @param tableModel レコード追加対象の{@link TableModel} - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void addRecords(DataSetModel dataSetModel, TableModel tableModel); - - /** - * モデルが持つプロパティの値を変更する。 - * - * @param <T> 操作対象のモデルの型 - * @param element 操作対象モデル - * @param property 変更するプロパティ - * @param newValue 新しい値 may be null - * @throws IllegalArgumentException 引数element, propertyに{@code null}を与えた場合 - * @throws IllegalArgumentException propertyの型とnewValueの型が一致しなかった場合 - * @since 0.2 - */ - <T extends JiemamyElement>void changeModelProperty(T element, JiemamyProperty<T> property, Object newValue); - - /** - * {@link TableModel}から{@link AttributeModel}を削除する。 - * - * <ul> - * <li>ローカルキーを削除する場合、そのキーを参照する外部キーも同時に削除する。</li> - * <li>カラムを削除する場合、全てのキーに含まれる該当カラムへの参照も同時に削除する。</li> - * </ul> - * - * @param tableModel 削除元テーブル - * @param attributeModel 削除対象の属性 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void removeAttribute(TableModel tableModel, AttributeModel attributeModel); - - /** - * {@link RootModel}から{@link DataSetModel}を削除する。 - * - * <ul> - * <li>指定したデータセットが{@link RootModel}に属していなかった場合は何もしない。</li> - * </ul> - * - * @param dataSetModel 削除するデータセット - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void removeDataSet(DataSetModel dataSetModel); - - /** - * {@link RootModel}から{@link DomainModel}を削除する。 - * - * <ul> - * <li>指定したドメインが{@link RootModel}に属していなかった場合は何もしない。</li> - * <li>該当ドメインへの参照は、ドメインに設定されていた型情報に書き換える。</li> - * </ul> - * - * @param domainModel 削除するドメイン - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void removeDomain(DomainModel domainModel); - - /** - * {@link RootModel}から{@link EntityModel}を削除する。 - * - * <ul> - * <li>指定したエンティティが{@link RootModel}に属していなかった場合は何もしない。</li> - * <li>該当エンティティを参照する外部キーも同時に削除する。</li> - * <li>{@link DataSetModel}が持つテーブルへの参照も同時に削除する。</li> - * </ul> - * - * @param entityModel 削除するエンティティ - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void removeEntity(EntityModel entityModel); - - /** - * {@link TableModel}から{@link IndexModel}を削除する。 - * - * <ul> - * <li>指定したインデックスがテーブルに属していなかった場合は何もしない。</li> - * </ul> - * - * @param tableModel 削除元テーブル - * @param indexModel 削除するインデックス - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void removeIndex(TableModel tableModel, IndexModel indexModel); - - /** - * {@link IndexModel}から{@link IndexColumnModel}を削除する。 - * - * <ul> - * <li>指定したインデックスカラムがインデックスに属していなかった場合は何もしない。</li> - * </ul> - * - * @param indexModel 削除元インデックス - * @param indexColumnModel 削除するインデックスカラム - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void removeIndexColumn(IndexModel indexModel, IndexColumnModel indexColumnModel); - - /** - * {@link KeyConstraint}のキーカラム要素からカラムを削除する。 - * - * <ul> - * <li>キーカラム要素が、指定したカラムへの参照を保持していなかった場合は、何もしない。</li> - * <li>削除の結果、キーカラムの数が0になった場合、キー制約自体を所属テーブルから削除する。</li> - * <li>外部キーであった場合は、対応する参照カラムも削除する。</li> - * </ul> - * - * @param keyConstraint 対象のキー制約 - * @param columnModel 削除するカラム - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void removeKeyColumn(KeyConstraint keyConstraint, ColumnModel columnModel); - - /** - * {@link DataSetModel}に確保された、指定したテーブル用のレコード保存領域を削除する。 - * - * <ul> - * <li>指定したテーブル用のレコード保存領域が存在しなかった場合は何もしない。</li> - * </ul> - * - * @param dataSetModel レコード削除元の{@link DataSetModel} - * @param tableModel レコード削除対象の{@link TableModel} - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void removeRecords(DataSetModel dataSetModel, TableModel tableModel); - - /** - * モデルの状態をセーブポイントまでロールバックする。 - * - * @param savePoint セーブポイント - * @throws IllegalArgumentException このファサードが発行したs{@link SavePoint}でない場合 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void rollback(SavePoint savePoint); - - /** - * 現在のモデルの状態にロールバックするためのセーブポイントを取得する。 - * - * @return セーブポイント - * @since 0.2 - */ - SavePoint save(); - - /** - * {@link RecordModel}の指定カラムのデータを設定する。 - * - * @param recordModel 対象レコード - * @param columnModel 対象カラム - * @param value データ - * @throws IllegalArgumentException 引数value<b>以外</b>に{@code null}を与えた場合 - * @since 0.2 - */ - void setRecordValue(RecordModel recordModel, ColumnModel columnModel, String value); - - /** - * リスト内の要素入れ替えを行う。 - * - * @param targetElement 入れ替え対象のリストを保持するモデル - * @param list 入れ替え対象のリスト - * @param subjectIndex 入れ替え要素1 - * @param objectIndex 入れ替え要素2 - * @throws IndexOutOfBoundsException リストに、指定したインデックスの要素が存在しない場合 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void swapListElement(JiemamyElement targetElement, List<?> list, int subjectIndex, int objectIndex); - - /** - * 外部キーのカラムマッピングを更新する。 - * - * @param foreignKey 対象の外部キー制約 - * @param keyColumns 新しいキーカラムのリスト - * @param referenceColumns 新しい参照カラムのリスト - * @throws IllegalArgumentException 引数keyColumnsとreferenceColumnのサイズが異なる場合 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void updateForeignKeyMapping(ForeignKey foreignKey, List<ColumnRef> keyColumns, List<ColumnRef> referenceColumns); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/03/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.facade; + +import java.util.List; + +import org.jiemamy.JiemamyProperty; +import org.jiemamy.ReferenceResolveException; +import org.jiemamy.model.JiemamyElement; +import org.jiemamy.model.RootModel; +import org.jiemamy.model.attribute.AttributeModel; +import org.jiemamy.model.attribute.ColumnModel; +import org.jiemamy.model.attribute.ColumnRef; +import org.jiemamy.model.attribute.constraint.ForeignKey; +import org.jiemamy.model.attribute.constraint.KeyConstraint; +import org.jiemamy.model.dataset.DataSetModel; +import org.jiemamy.model.dataset.RecordModel; +import org.jiemamy.model.datatype.DomainModel; +import org.jiemamy.model.entity.EntityModel; +import org.jiemamy.model.entity.TableModel; +import org.jiemamy.model.index.IndexColumnModel; +import org.jiemamy.model.index.IndexModel; + +/** + * Jiemamyのモデル操作を単純化するためのファサードインターフェイス。 + * + * <p>ファサードの具体的な目的としては、以下の通り。 + * <ul> + * <li>不整合モデルが出来ないよう、適切な操作インターフェイスを提供する。</li> + * <li>モデルの編集に対するイベント発生をサポートする。</li> + * <li>{@link SavePoint}によるロールバックを提供する。</li> + * </ul></p> + * + * @since 0.2 + * @author daisuke + */ +public interface JiemamyFacade { + + /** + * {@link TableModel}に{@link AttributeModel}を追加する。 + * + * <ul> + * <li>属性が既にこのテーブルに属している場合は、何もしない</li> + * </ul> + * + * @param tableModel 追加対象のテーブル + * @param attributeModel 追加する属性 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws IllegalArgumentException {@link KeyConstraint}追加時、対象テーブルに属さないカラムがキーカラムに含まれていた場合 + * @throws ReferenceResolveException {@link KeyConstraint}追加時、キーカラムの参照が解決できなかった場合 + * @since 0.2 + */ + void addAttribute(TableModel tableModel, AttributeModel attributeModel); + + /** + * {@link TableModel}に{@link AttributeModel}を追加する。 + * + * <ul> + * <li>属性が既にこのテーブルに属している場合は、何もしない</li> + * </ul> + * + * @param tableModel 追加対象のテーブル + * @param index 追加位置インデックス + * @param attributeModel 追加する属性 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws IllegalArgumentException {@link KeyConstraint}追加時、対象テーブルに属さないカラムがキーカラムに含まれていた場合 + * @throws ReferenceResolveException {@link KeyConstraint}追加時、キーカラムの参照が解決できなかった場合 + * @since 0.2 + */ + void addAttribute(TableModel tableModel, int index, AttributeModel attributeModel); + + /** + * {@link RootModel}に{@link DataSetModel}を追加する。 + * + * <ul> + * <li>データセットが既に追加済みの場合は、何もしない</li> + * </ul> + * + * @param dataSetModel 追加するデータセット + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void addDataSet(DataSetModel dataSetModel); + + /** + * {@link RootModel}に{@link DataSetModel}を追加する。 + * + * <ul> + * <li>データセットが既に追加済みの場合は、何もしない</li> + * </ul> + * + * @param dataSetModel 追加するデータセット + * @param index 挿入位置インデックス + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void addDataSet(DataSetModel dataSetModel, int index); + + /** + * {@link RootModel}に{@link DomainModel}を追加する。 + * + * <ul> + * <li>ドメインが既に追加済みの場合は、何もしない</li> + * </ul> + * + * @param domainModel 追加するドメイン + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void addDomain(DomainModel domainModel); + + /** + * {@link RootModel}に{@link DomainModel}を追加する。 + * + * <ul> + * <li>ドメインが既に追加済みの場合は、何もしない</li> + * </ul> + * + * @param domainModel 追加するドメイン + * @param index 挿入位置インデックス + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void addDomain(DomainModel domainModel, int index); + + /** + * {@link RootModel}に{@link EntityModel}を追加する。 + * + * <ul> + * <li>エンティティが既に追加済みの場合は、何もしない</li> + * </ul> + * + * @param entityModel 追加するエンティティ + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void addEntity(EntityModel entityModel); + + /** + * {@link TableModel}に{@link IndexModel}を追加する。 + * + * <ul> + * <li>インデックスが既にこのテーブルに属している場合は、何もしない</li> + * </ul> + * + * @param tableModel 追加対象のテーブル + * @param indexModel 追加するインデックス + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void addIndex(TableModel tableModel, IndexModel indexModel); + + /** + * {@link TableModel}に{@link IndexModel}を追加する。 + * + * <ul> + * <li>インデックスが既にこのテーブルに属している場合は、何もしない</li> + * </ul> + * + * @param tableModel 追加対象のテーブル + * @param index 追加位置インデックス + * @param indexModel 追加するインデックス + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void addIndex(TableModel tableModel, int index, IndexModel indexModel); + + /** + * {@link IndexModel}に{@link IndexColumnModel}を追加する。 + * + * <ul> + * <li>インデックスカラムが既にこのインデックスに属している場合は、何もしない</li> + * </ul> + * + * @param indexModel 追加対象のインデックス + * @param indexColumnModel 追加するインデックスカラム + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void addIndexColumn(IndexModel indexModel, IndexColumnModel indexColumnModel); + + /** + * {@link IndexModel}に{@link IndexColumnModel}を追加する。 + * + * <ul> + * <li>インデックスカラムが既にこのインデックスに属している場合は、何もしない</li> + * </ul> + * + * @param indexModel 追加対象のインデックス + * @param index 挿入位置インデックス + * @param indexColumnModel 追加するインデックスカラム + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void addIndexColumn(IndexModel indexModel, int index, IndexColumnModel indexColumnModel); + + /** + * {@link KeyConstraint}のキーカラム要素にカラムを追加する。 + * + * <ul> + * <li>既に指定したカラムがキーカラムの要素であった場合は何もしない。</li> + * </ul> + * + * @param keyConstraint 対象のキー制約 + * @param columnModel 追加するカラム + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void addKeyColumn(KeyConstraint keyConstraint, ColumnModel columnModel); + + /** + * {@link DataSetModel}に、指定したテーブル用のレコード保存領域を確保する。 + * + * <ul> + * <li>既に指定したテーブル用のレコード保存領域が確保済みであった場合は何もしない。</li> + * </ul> + * + * @param dataSetModel レコード追加対象の{@link DataSetModel} + * @param tableModel レコード追加対象の{@link TableModel} + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void addRecords(DataSetModel dataSetModel, TableModel tableModel); + + /** + * モデルが持つプロパティの値を変更する。 + * + * @param <T> 操作対象のモデルの型 + * @param element 操作対象モデル + * @param property 変更するプロパティ + * @param newValue 新しい値 may be null + * @throws IllegalArgumentException 引数element, propertyに{@code null}を与えた場合 + * @throws IllegalArgumentException propertyの型とnewValueの型が一致しなかった場合 + * @since 0.2 + */ + <T extends JiemamyElement>void changeModelProperty(T element, JiemamyProperty<T> property, Object newValue); + + /** + * {@link TableModel}から{@link AttributeModel}を削除する。 + * + * <ul> + * <li>ローカルキーを削除する場合、そのキーを参照する外部キーも同時に削除する。</li> + * <li>カラムを削除する場合、全てのキーに含まれる該当カラムへの参照も同時に削除する。</li> + * </ul> + * + * @param tableModel 削除元テーブル + * @param attributeModel 削除対象の属性 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void removeAttribute(TableModel tableModel, AttributeModel attributeModel); + + /** + * {@link RootModel}から{@link DataSetModel}を削除する。 + * + * <ul> + * <li>指定したデータセットが{@link RootModel}に属していなかった場合は何もしない。</li> + * </ul> + * + * @param dataSetModel 削除するデータセット + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void removeDataSet(DataSetModel dataSetModel); + + /** + * {@link RootModel}から{@link DomainModel}を削除する。 + * + * <ul> + * <li>指定したドメインが{@link RootModel}に属していなかった場合は何もしない。</li> + * <li>該当ドメインへの参照は、ドメインに設定されていた型情報に書き換える。</li> + * </ul> + * + * @param domainModel 削除するドメイン + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void removeDomain(DomainModel domainModel); + + /** + * {@link RootModel}から{@link EntityModel}を削除する。 + * + * <ul> + * <li>指定したエンティティが{@link RootModel}に属していなかった場合は何もしない。</li> + * <li>該当エンティティを参照する外部キーも同時に削除する。</li> + * <li>{@link DataSetModel}が持つテーブルへの参照も同時に削除する。</li> + * </ul> + * + * @param entityModel 削除するエンティティ + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void removeEntity(EntityModel entityModel); + + /** + * {@link TableModel}から{@link IndexModel}を削除する。 + * + * <ul> + * <li>指定したインデックスがテーブルに属していなかった場合は何もしない。</li> + * </ul> + * + * @param tableModel 削除元テーブル + * @param indexModel 削除するインデックス + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void removeIndex(TableModel tableModel, IndexModel indexModel); + + /** + * {@link IndexModel}から{@link IndexColumnModel}を削除する。 + * + * <ul> + * <li>指定したインデックスカラムがインデックスに属していなかった場合は何もしない。</li> + * </ul> + * + * @param indexModel 削除元インデックス + * @param indexColumnModel 削除するインデックスカラム + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void removeIndexColumn(IndexModel indexModel, IndexColumnModel indexColumnModel); + + /** + * {@link KeyConstraint}のキーカラム要素からカラムを削除する。 + * + * <ul> + * <li>キーカラム要素が、指定したカラムへの参照を保持していなかった場合は、何もしない。</li> + * <li>削除の結果、キーカラムの数が0になった場合、キー制約自体を所属テーブルから削除する。</li> + * <li>外部キーであった場合は、対応する参照カラムも削除する。</li> + * </ul> + * + * @param keyConstraint 対象のキー制約 + * @param columnModel 削除するカラム + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void removeKeyColumn(KeyConstraint keyConstraint, ColumnModel columnModel); + + /** + * {@link DataSetModel}に確保された、指定したテーブル用のレコード保存領域を削除する。 + * + * <ul> + * <li>指定したテーブル用のレコード保存領域が存在しなかった場合は何もしない。</li> + * </ul> + * + * @param dataSetModel レコード削除元の{@link DataSetModel} + * @param tableModel レコード削除対象の{@link TableModel} + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void removeRecords(DataSetModel dataSetModel, TableModel tableModel); + + /** + * モデルの状態をセーブポイントまでロールバックする。 + * + * @param savePoint セーブポイント + * @throws IllegalArgumentException このファサードが発行したs{@link SavePoint}でない場合 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void rollback(SavePoint savePoint); + + /** + * 現在のモデルの状態にロールバックするためのセーブポイントを取得する。 + * + * @return セーブポイント + * @since 0.2 + */ + SavePoint save(); + + /** + * {@link RecordModel}の指定カラムのデータを設定する。 + * + * @param recordModel 対象レコード + * @param columnModel 対象カラム + * @param value データ + * @throws IllegalArgumentException 引数value<b>以外</b>に{@code null}を与えた場合 + * @since 0.2 + */ + void setRecordValue(RecordModel recordModel, ColumnModel columnModel, String value); + + /** + * リスト内の要素入れ替えを行う。 + * + * @param targetElement 入れ替え対象のリストを保持するモデル + * @param list 入れ替え対象のリスト + * @param subjectIndex 入れ替え要素1 + * @param objectIndex 入れ替え要素2 + * @throws IndexOutOfBoundsException リストに、指定したインデックスの要素が存在しない場合 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void swapListElement(JiemamyElement targetElement, List<?> list, int subjectIndex, int objectIndex); + + /** + * 外部キーのカラムマッピングを更新する。 + * + * @param foreignKey 対象の外部キー制約 + * @param keyColumns 新しいキーカラムのリスト + * @param referenceColumns 新しい参照カラムのリスト + * @throws IllegalArgumentException 引数keyColumnsとreferenceColumnのサイズが異なる場合 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void updateForeignKeyMapping(ForeignKey foreignKey, List<ColumnRef> keyColumns, List<ColumnRef> referenceColumns); +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/facade/JiemamyFacade.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/facade/SavePoint.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/facade/SavePoint.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/facade/SavePoint.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,33 +1,33 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/03/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.facade; - -/** - * セーブポイント情報を保持するインターフェイス。 - * - * <p>どのような情報を保持するかは実装に依存する。</p> - * - * <p>実装はイミュータブルであることが望ましい。</p> - * - * @since 0.2 - * @author daisuke - */ -public interface SavePoint { - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/03/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.facade; + +/** + * セーブポイント情報を保持するインターフェイス。 + * + * <p>どのような情報を保持するかは実装に依存する。</p> + * + * <p>実装はイミュータブルであることが望ましい。</p> + * + * @since 0.2 + * @author daisuke + */ +public interface SavePoint { + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/facade/SavePoint.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/formatter/SqlFormatter.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/formatter/SqlFormatter.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/formatter/SqlFormatter.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,53 +1,53 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/02/11 - * - * 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.formatter; - -import java.util.List; - -import org.jiemamy.model.sql.SqlStatement; -import org.jiemamy.model.sql.Token; - -/** - * SQLを整形するフォーマッタインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface SqlFormatter { - - /** - * SQL文字列に整形する。 - * - * @param tokens トークン列 - * @return 整形済みSQL文字列 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - String format(List<Token> tokens); - - /** - * SQL文字列に整形する。 - * - * @param stmt SQL文 - * @return 整形済みSQL文字列 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - String format(SqlStatement stmt); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/02/11 + * + * 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.formatter; + +import java.util.List; + +import org.jiemamy.model.sql.SqlStatement; +import org.jiemamy.model.sql.Token; + +/** + * SQLを整形するフォーマッタインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface SqlFormatter { + + /** + * SQL文字列に整形する。 + * + * @param tokens トークン列 + * @return 整形済みSQL文字列 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + String format(List<Token> tokens); + + /** + * SQL文字列に整形する。 + * + * @param stmt SQL文 + * @return 整形済みSQL文字列 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + String format(SqlStatement stmt); +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/formatter/SqlFormatter.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/Adapter.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/Adapter.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/Adapter.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,46 +1,46 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/02/03 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.model; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * アノテーション。 - * - * <p>シリアライザにおいて、このアノテーションがついていないアダプタは、ロジックアダプタとみなされ、シリアライズの対象にならない。</p> - * - * @since 0.2 - * @author daisuke - */ - @ Retention(RetentionPolicy.RUNTIME) - @ Target(ElementType.TYPE) -public @interface Adapter { - - /** - * アダプタの種類。 - * - * @return アダプタの種類 - * @since 0.2 - */ - AdapterType value(); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/02/03 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.model; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * アノテーション。 + * + * <p>シリアライザにおいて、このアノテーションがついていないアダプタは、ロジックアダプタとみなされ、シリアライズの対象にならない。</p> + * + * @since 0.2 + * @author daisuke + */ + @ Retention(RetentionPolicy.RUNTIME) + @ Target(ElementType.TYPE) +public @interface Adapter { + + /** + * アダプタの種類。 + * + * @return アダプタの種類 + * @since 0.2 + */ + AdapterType value(); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/Adapter.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/AdapterType.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/AdapterType.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/AdapterType.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,34 +1,34 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/02/03 - * - * 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; - -/** - * アダプタの種類をあらわす列挙型。 - * - * @since 0.2 - * @author daisuke - */ -public enum AdapterType { - - /** XMLに出力すべきではないロジック責務を持つアダプタである事を示す */ - LOGIC, - - /** XMLに出力すべきモデル責務を持つアダプタである事を示す */ - MODEL -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/02/03 + * + * 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; + +/** + * アダプタの種類をあらわす列挙型。 + * + * @since 0.2 + * @author daisuke + */ +public enum AdapterType { + + /** XMLに出力すべきではないロジック責務を持つアダプタである事を示す */ + LOGIC, + + /** XMLに出力すべきモデル責務を持つアダプタである事を示す */ + MODEL +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/AdapterType.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/ElementReference.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/ElementReference.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/ElementReference.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,61 +1,61 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/01/20 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.model; - -import java.util.UUID; - -import org.jiemamy.Jiemamy; - -/** - * {@link JiemamyElement}に対する参照オブジェクトインターフェイス。 - * - * <p>このインターフェイスの実装は、イミュータブルでなければならない。</p> - * - * @param <T> 実体のモデル型 - * @see JiemamyElement - * @since 0.2 - * @author daisuke - */ -public interface ElementReference<T extends JiemamyElement> { - - /** - * 参照先要素の同一性を調べる。 - * - * @param obj 比較対象 - * @return 同じIDの要素を参照している場合は{@code true}、そうでない場合は{@code false} - * @since 0.2 - */ - boolean equals(Object obj); - - /** - * 実体が属するインスタンス空間を取得する。 - * - * @return 実体が属するインスタンス空間 - * @since 0.2 - */ - Jiemamy getJiemamy(); - - /** - * 実体を特定する記述子としてのモデルIDを取得する。 - * - * @return 実体を特定する記述子としてのモデルID - * @since 0.2 - */ - UUID getReferenceId(); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/01/20 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.model; + +import java.util.UUID; + +import org.jiemamy.Jiemamy; + +/** + * {@link JiemamyElement}に対する参照オブジェクトインターフェイス。 + * + * <p>このインターフェイスの実装は、イミュータブルでなければならない。</p> + * + * @param <T> 実体のモデル型 + * @see JiemamyElement + * @since 0.2 + * @author daisuke + */ +public interface ElementReference<T extends JiemamyElement> { + + /** + * 参照先要素の同一性を調べる。 + * + * @param obj 比較対象 + * @return 同じIDの要素を参照している場合は{@code true}、そうでない場合は{@code false} + * @since 0.2 + */ + boolean equals(Object obj); + + /** + * 実体が属するインスタンス空間を取得する。 + * + * @return 実体が属するインスタンス空間 + * @since 0.2 + */ + Jiemamy getJiemamy(); + + /** + * 実体を特定する記述子としてのモデルIDを取得する。 + * + * @return 実体を特定する記述子としてのモデルID + * @since 0.2 + */ + UUID getReferenceId(); +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/ElementReference.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/JiemamyElement.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/JiemamyElement.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/JiemamyElement.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,78 +1,78 @@ -/* - * Copyright 2007-2009 MIYAMOTO Daisuke, jiemamy.org and the Others. - * Created on 2009/01/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.model; - -import java.util.UUID; - -import org.jiemamy.Jiemamy; -import org.jiemamy.utils.Adaptable; - -/** - * 全てのJiemamyモデル要素が持つインターフェイス。 - * - * <p>このインターフェイスは、モデル要素の定義declarationを表しており、この型の1つのインスタンスは - * {@link RootModel}を起点とするモデル構造内の複数箇所から参照してはならない。(定義は一度だけ)</p> - * - * <p>各モデル要素の参照referenceは、{@link ElementReference}で定義されており、特定のモデル要素を - * 定義ではなく参照したい場合はこちらの型を使う。</p> - * - * <pre> - * <b>1:</b> CREATE TABLE FOO ( - * <b>2:</b> F_ONE INTEGER, - * <b>3:</b> F_TWO VARCHAR, - * <b>4:</b> PRIMARY KEY (F_ONE), - * <b>5:</b> FOREIGN KEY (F_TWO) REFERENCES BAR (B_ONE) - * <b>6:</b> ); - * </pre> - * - * 上記のSQLは以下のような構造となっている。 - * <ol> - * <li>FOO:Tableの定義</li> - * <li>F_ONE:Columnの定義, INTEGER型への参照</li> - * <li>F_TWO:Columnの定義, VARCHAR型への参照</li> - * <li>PrimaryKeyの定義, F_ONE:Columnへの参照</li> - * <li>ForeignKeyの定義, F_TWO:Columnへの参照, BAR:Tableへの参照, B_ONE:Columnへの参照</li> - * </ol> - * - * @see ElementReference - * @since 0.2 - * @author daisuke - */ -public interface JiemamyElement extends Adaptable { - - /** - * モデルを取得する。 - * - * <p>IDは、オブジェクトの生成時に指定または自動生成され、このオブジェクトのライフサイクル(生成から削除まで)を通して - * 一貫していなければならない。</p> - * - * @return モデルID - * @since 0.2 - */ - UUID getId(); - - /** - * この要素が属するインスタンス空間を表すオブジェクトを取得する。 - * - * @return この要素が属するインスタンス空間を表すオブジェクト - * @since 0.2 - */ - Jiemamy getJiemamy(); - -} +/* + * Copyright 2007-2009 MIYAMOTO Daisuke, jiemamy.org and the Others. + * Created on 2009/01/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.model; + +import java.util.UUID; + +import org.jiemamy.Jiemamy; +import org.jiemamy.utils.Adaptable; + +/** + * 全てのJiemamyモデル要素が持つインターフェイス。 + * + * <p>このインターフェイスは、モデル要素の定義declarationを表しており、この型の1つのインスタンスは + * {@link RootModel}を起点とするモデル構造内の複数箇所から参照してはならない。(定義は一度だけ)</p> + * + * <p>各モデル要素の参照referenceは、{@link ElementReference}で定義されており、特定のモデル要素を + * 定義ではなく参照したい場合はこちらの型を使う。</p> + * + * <pre> + * <b>1:</b> CREATE TABLE FOO ( + * <b>2:</b> F_ONE INTEGER, + * <b>3:</b> F_TWO VARCHAR, + * <b>4:</b> PRIMARY KEY (F_ONE), + * <b>5:</b> FOREIGN KEY (F_TWO) REFERENCES BAR (B_ONE) + * <b>6:</b> ); + * </pre> + * + * 上記のSQLは以下のような構造となっている。 + * <ol> + * <li>FOO:Tableの定義</li> + * <li>F_ONE:Columnの定義, INTEGER型への参照</li> + * <li>F_TWO:Columnの定義, VARCHAR型への参照</li> + * <li>PrimaryKeyの定義, F_ONE:Columnへの参照</li> + * <li>ForeignKeyの定義, F_TWO:Columnへの参照, BAR:Tableへの参照, B_ONE:Columnへの参照</li> + * </ol> + * + * @see ElementReference + * @since 0.2 + * @author daisuke + */ +public interface JiemamyElement extends Adaptable { + + /** + * モデルを取得する。 + * + * <p>IDは、オブジェクトの生成時に指定または自動生成され、このオブジェクトのライフサイクル(生成から削除まで)を通して + * 一貫していなければならない。</p> + * + * @return モデルID + * @since 0.2 + */ + UUID getId(); + + /** + * この要素が属するインスタンス空間を表すオブジェクトを取得する。 + * + * @return この要素が属するインスタンス空間を表すオブジェクト + * @since 0.2 + */ + Jiemamy getJiemamy(); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/JiemamyElement.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/RootModel.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/RootModel.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/RootModel.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,227 +1,227 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/09/17 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.model; - -import java.util.Collection; -import java.util.List; -import java.util.SortedSet; - -import org.jiemamy.dialect.Dialect; -import org.jiemamy.exception.ElementNotFoundException; -import org.jiemamy.exception.TooManyElementsException; -import org.jiemamy.model.dataset.DataSetModel; -import org.jiemamy.model.datatype.DomainModel; -import org.jiemamy.model.entity.EntityModel; -import org.jiemamy.model.script.AroundScript; -import org.jiemamy.utils.Advisable; - -/** - * Jiemamyの根となるモデルを表すモデルインターフェイス。 - * - * <p>この型を持つインスタンス1つにつき、1つのDB状態を表現する。</p> - * - * @since 0.2 - * @author daisuke - */ -public interface RootModel extends JiemamyElement, Advisable<RootModel> { - - /** - * SQL方言を取得する。 - * - * @return SQL方言 - * @throws ClassNotFoundException 設定されたクラスが見つからなかった場合 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 - */ - Dialect findDialect() throws ClassNotFoundException; - - /** - * 特定の種類のエンティティのリストを取得する。 - * - * <p>返される{@link Collection}は他に影響を及ぼさない独立したインスタンスである。</p> - * - * @param <T> 取得したいエンティティのクラス - * @param clazz 取得したいエンティティのクラス - * @return ノードのリスト - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 - */ - <T extends EntityModel>Collection<T> findEntities(Class<T> clazz); - - /** - * 開始スクリプトを取得する。 - * - * @return 開始スクリプト. 未設定の場合は{@code null} - * @since 0.3 - * @deprecated use {@link #getAroundScript()} and {@link AroundScript#getScript(org.jiemamy.model.script.Position)} - */ - @Deprecated - String getBeginScript(); - - /** - * INSERTデータセットのリストを取得する。 - * - * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link List}を直接操作することで、 - * このオブジェクトのフィールドとして保持される{@link List}を変更することができる。</p> - * - * @return INSERTデータセットのリスト - * @since 0.2 - */ - List<DataSetModel> getDataSets(); - - /** - * 説明文を取得する。 - * - * @return 説明文. 未設定の場合は{@code null} - * @since 0.2 - */ - String getDescription(); - - /** - * SQL方言IDを取得する。 - * - * @return SQL方言クラスのFQCN. 未設定の場合は{@code null} - * @since 0.2 - */ - String getDialectClassName(); - - /** - * ドメイン定義のリストを取得する。 - * - * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link List}を直接操作することで、 - * このオブジェクトのフィールドとして保持される{@link List}を変更することができる。</p> - * - * @return ドメイン定義のリスト - * @since 0.2 - */ - List<DomainModel> getDomains(); - - /** - * 終了スクリプトを取得する。 - * - * @return 終了スクリプト. 未設定の場合は{@code null} - * @since 0.3 - * @deprecated use {@link #getAroundScript()} and {@link AroundScript#getScript(org.jiemamy.model.script.Position)} - */ - @Deprecated - String getEndScript(); - - /** - * エンティティ定義のセットを取得する。 - * - * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link SortedSet}を直接操作することで、 - * このオブジェクトのフィールドとして保持される{@link SortedSet}を変更することができる。</p> - * - * <p>このメソッドが返すSortedSetは、まずエンティティ実装クラスのFQCN(完全修飾クラス名)で昇順ソートされ、 - * FQCNが同一の場合、モデルIDで昇順ソートされる。</p> - * - * @return エンティティ定義のセット - * @since 0.2 - */ - SortedSet<EntityModel> getEntities(); - - /** - * 指定した名前を持つエンティティを取得する。 - * - * <p>エンティティ名の大文字・小文字は区別されない。</p> - * - * @param <T> エンティティの種類を表すクラス - * @param clazz エンティティの種類を表すクラス. {@code null}の場合、エンティティの種類を限定しないことを表す - * @param entityName エンティティ名 - * @return 見つかったエンティティ - * @throws TooManyElementsException 同名のエンティティが複数見つかった場合 - * @throws ElementNotFoundException エンティティが見つからなかった場合 - * @throws IllegalArgumentException 引数rootModel, entityNameに{@code null}を与えた場合 - * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 - */ - <T extends EntityModel>T getEntity(Class<T> clazz, String entityName); - - /** - * スキーマ名を取得する。 - * - * @return スキーマ名. 未設定の場合は{@code null} - * @since 0.2 - */ - String getSchemaName(); - - /** - * モデルの正規化を行う。 - * - * TODO もっと説明 - * - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 - */ - void normalize(); - - /** - * 開始スクリプトを設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param beginScript 開始スクリプト - * @since 0.2 - * @deprecated use {@link #getAroundScript()} and {@link AroundScript#setScript(org.jiemamy.model.script.Position, String)} - */ - @Deprecated - void setBeginScript(String beginScript); - - /** - * 説明文を設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param description 説明文 - * @since 0.2 - */ - void setDescription(String description); - - /** - * SQL方言を設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param dialectClassName SQL方言クラス名 - * @since 0.2 - */ - void setDialectClassName(String dialectClassName); - - /** - * 終了スクリプトを設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param endScript 終了スクリプト - * @since 0.2 - * @deprecated use {@link #getAroundScript()} and {@link AroundScript#setScript(org.jiemamy.model.script.Position, String)} - */ - @Deprecated - void setEndScript(String endScript); - - /** - * スキーマ名を設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param schemaName スキーマ名 - * @since 0.2 - */ - void setSchemaName(String schemaName); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/09/17 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.model; + +import java.util.Collection; +import java.util.List; +import java.util.SortedSet; + +import org.jiemamy.dialect.Dialect; +import org.jiemamy.exception.ElementNotFoundException; +import org.jiemamy.exception.TooManyElementsException; +import org.jiemamy.model.dataset.DataSetModel; +import org.jiemamy.model.datatype.DomainModel; +import org.jiemamy.model.entity.EntityModel; +import org.jiemamy.model.script.AroundScript; +import org.jiemamy.utils.Advisable; + +/** + * Jiemamyの根となるモデルを表すモデルインターフェイス。 + * + * <p>この型を持つインスタンス1つにつき、1つのDB状態を表現する。</p> + * + * @since 0.2 + * @author daisuke + */ +public interface RootModel extends JiemamyElement, Advisable<RootModel> { + + /** + * SQL方言を取得する。 + * + * @return SQL方言 + * @throws ClassNotFoundException 設定されたクラスが見つからなかった場合 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 + */ + Dialect findDialect() throws ClassNotFoundException; + + /** + * 特定の種類のエンティティのリストを取得する。 + * + * <p>返される{@link Collection}は他に影響を及ぼさない独立したインスタンスである。</p> + * + * @param <T> 取得したいエンティティのクラス + * @param clazz 取得したいエンティティのクラス + * @return ノードのリスト + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 + */ + <T extends EntityModel>Collection<T> findEntities(Class<T> clazz); + + /** + * 開始スクリプトを取得する。 + * + * @return 開始スクリプト. 未設定の場合は{@code null} + * @since 0.3 + * @deprecated use {@link #getAroundScript()} and {@link AroundScript#getScript(org.jiemamy.model.script.Position)} + */ + @Deprecated + String getBeginScript(); + + /** + * INSERTデータセットのリストを取得する。 + * + * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link List}を直接操作することで、 + * このオブジェクトのフィールドとして保持される{@link List}を変更することができる。</p> + * + * @return INSERTデータセットのリスト + * @since 0.2 + */ + List<DataSetModel> getDataSets(); + + /** + * 説明文を取得する。 + * + * @return 説明文. 未設定の場合は{@code null} + * @since 0.2 + */ + String getDescription(); + + /** + * SQL方言IDを取得する。 + * + * @return SQL方言クラスのFQCN. 未設定の場合は{@code null} + * @since 0.2 + */ + String getDialectClassName(); + + /** + * ドメイン定義のリストを取得する。 + * + * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link List}を直接操作することで、 + * このオブジェクトのフィールドとして保持される{@link List}を変更することができる。</p> + * + * @return ドメイン定義のリスト + * @since 0.2 + */ + List<DomainModel> getDomains(); + + /** + * 終了スクリプトを取得する。 + * + * @return 終了スクリプト. 未設定の場合は{@code null} + * @since 0.3 + * @deprecated use {@link #getAroundScript()} and {@link AroundScript#getScript(org.jiemamy.model.script.Position)} + */ + @Deprecated + String getEndScript(); + + /** + * エンティティ定義のセットを取得する。 + * + * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link SortedSet}を直接操作することで、 + * このオブジェクトのフィールドとして保持される{@link SortedSet}を変更することができる。</p> + * + * <p>このメソッドが返すSortedSetは、まずエンティティ実装クラスのFQCN(完全修飾クラス名)で昇順ソートされ、 + * FQCNが同一の場合、モデルIDで昇順ソートされる。</p> + * + * @return エンティティ定義のセット + * @since 0.2 + */ + SortedSet<EntityModel> getEntities(); + + /** + * 指定した名前を持つエンティティを取得する。 + * + * <p>エンティティ名の大文字・小文字は区別されない。</p> + * + * @param <T> エンティティの種類を表すクラス + * @param clazz エンティティの種類を表すクラス. {@code null}の場合、エンティティの種類を限定しないことを表す + * @param entityName エンティティ名 + * @return 見つかったエンティティ + * @throws TooManyElementsException 同名のエンティティが複数見つかった場合 + * @throws ElementNotFoundException エンティティが見つからなかった場合 + * @throws IllegalArgumentException 引数rootModel, entityNameに{@code null}を与えた場合 + * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 + */ + <T extends EntityModel>T getEntity(Class<T> clazz, String entityName); + + /** + * スキーマ名を取得する。 + * + * @return スキーマ名. 未設定の場合は{@code null} + * @since 0.2 + */ + String getSchemaName(); + + /** + * モデルの正規化を行う。 + * + * TODO もっと説明 + * + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 + */ + void normalize(); + + /** + * 開始スクリプトを設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param beginScript 開始スクリプト + * @since 0.2 + * @deprecated use {@link #getAroundScript()} and {@link AroundScript#setScript(org.jiemamy.model.script.Position, String)} + */ + @Deprecated + void setBeginScript(String beginScript); + + /** + * 説明文を設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param description 説明文 + * @since 0.2 + */ + void setDescription(String description); + + /** + * SQL方言を設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param dialectClassName SQL方言クラス名 + * @since 0.2 + */ + void setDialectClassName(String dialectClassName); + + /** + * 終了スクリプトを設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param endScript 終了スクリプト + * @since 0.2 + * @deprecated use {@link #getAroundScript()} and {@link AroundScript#setScript(org.jiemamy.model.script.Position, String)} + */ + @Deprecated + void setEndScript(String endScript); + + /** + * スキーマ名を設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param schemaName スキーマ名 + * @since 0.2 + */ + void setSchemaName(String schemaName); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/RootModel.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/AttributeModel.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/AttributeModel.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/AttributeModel.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,97 +1,97 @@ -/* - * Copyright 2007-2009 Jiemamy Project 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.JiemamyElement; -import org.jiemamy.model.entity.TableModel; - -/** - * リレーショナルデータベースモデルにおける「属性」を表すモデルインターフェイス。 - * - * <p>SQLのCREATE TABLE文の括弧内にカンマ区切りで列挙される要素のこと。例えばカラム定義, 主キー定義, 外部キー定義など。</p> - * - * @since 0.2 - * @author daisuke - */ -public interface AttributeModel extends JiemamyElement { - - /** - * この属性が所属するテーブルを取得する。 - * - * @return この属性が所属するテーブル. どのテーブルにも所属していない場合は{@code null} - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 - */ - TableModel findDeclaringTable(); - - /** - * 説明文を取得する。 - * - * @return 説明文. 未設定の場合は{@code null} - * @since 0.2 - */ - String getDescription(); - - /** - * 論理名を取得する。 - * - * @return 論理名. 未設定の場合は{@code null} - * @since 0.2 - */ - String getLogicalName(); - - /** - * 物理名を取得する。 - * - * @return 物理名. 未設定の場合は{@code null} - * @since 0.2 - */ - String getName(); - - /** - * 説明文を設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param description 説明文. 未設定の場合は{@code null} - * @since 0.2 - */ - void setDescription(String description); - - /** - * 論理名を設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param logicalName 論理名. 未設定の場合は{@code null} - * @since 0.2 - */ - void setLogicalName(String logicalName); - - /** - * 物理名を設定する。 - * - * <p>未設定とする場合は{@code null}を与えるが、モデルとしては無効となる。</p> - * - * @param name 物理名 - * @since 0.2 - */ - void setName(String name); - -} +/* + * Copyright 2007-2009 Jiemamy Project 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.JiemamyElement; +import org.jiemamy.model.entity.TableModel; + +/** + * リレーショナルデータベースモデルにおける「属性」を表すモデルインターフェイス。 + * + * <p>SQLのCREATE TABLE文の括弧内にカンマ区切りで列挙される要素のこと。例えばカラム定義, 主キー定義, 外部キー定義など。</p> + * + * @since 0.2 + * @author daisuke + */ +public interface AttributeModel extends JiemamyElement { + + /** + * この属性が所属するテーブルを取得する。 + * + * @return この属性が所属するテーブル. どのテーブルにも所属していない場合は{@code null} + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 + */ + TableModel findDeclaringTable(); + + /** + * 説明文を取得する。 + * + * @return 説明文. 未設定の場合は{@code null} + * @since 0.2 + */ + String getDescription(); + + /** + * 論理名を取得する。 + * + * @return 論理名. 未設定の場合は{@code null} + * @since 0.2 + */ + String getLogicalName(); + + /** + * 物理名を取得する。 + * + * @return 物理名. 未設定の場合は{@code null} + * @since 0.2 + */ + String getName(); + + /** + * 説明文を設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param description 説明文. 未設定の場合は{@code null} + * @since 0.2 + */ + void setDescription(String description); + + /** + * 論理名を設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param logicalName 論理名. 未設定の場合は{@code null} + * @since 0.2 + */ + void setLogicalName(String logicalName); + + /** + * 物理名を設定する。 + * + * <p>未設定とする場合は{@code null}を与えるが、モデルとしては無効となる。</p> + * + * @param name 物理名 + * @since 0.2 + */ + void setName(String name); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/AttributeModel.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/ColumnModel.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/ColumnModel.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/ColumnModel.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,153 +1,153 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/09/17 - * - * 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.attribute.constraint.ColumnCheckConstraint; -import org.jiemamy.model.attribute.constraint.NotNullConstraint; -import org.jiemamy.model.attribute.constraint.PrimaryKey; -import org.jiemamy.model.attribute.constraint.UniqueKey; -import org.jiemamy.model.datatype.DataType; -import org.jiemamy.model.datatype.DataTypeHolder; - -/** - * リレーショナルデータベースにおける「カラム」を表すモデルインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface ColumnModel extends AttributeModel, DataTypeHolder<DataType> { - - /** - * チェック制約を取得する。 - * - * @return チェック制約. 未設定の場合は{@code null} - * @since 0.2 - */ - ColumnCheckConstraint getCheckConstraint(); - - /** - * 型記述子を取得する。 - * - * @return 型記述子. 未設定の場合は{@code null} - * @since 0.2 - */ - DataType getDataType(); - - /** - * デフォルト値を取得する。 - * - * @return デフォルト値. 未設定の場合は{@code null} - * @since 0.2 - */ - String getDefaultValue(); - - /** - * NOT NULL制約を取得する。 - * - * @return NOT NULL制約. 未設定の場合は{@code null} - * @since 0.2 - */ - NotNullConstraint getNotNullConstraint(); - - /** - * 主キー制約を取得する。 - * - * @return 主キー制約. 未設定の場合は{@code null} - * @since 0.2 - */ - PrimaryKey getPrimaryKey(); - - /** - * 一意キー制約を取得する。 - * - * @return 一意キー制約. 未設定の場合は{@code null} - * @since 0.2 - */ - UniqueKey getUniqueKey(); - - /** - * カラムが主キー制約を構成するカラムであるかどうか調べる。 - * - * @return 主キー制約構成カラムである場合は{@code true}、そうでない場合は{@code false} - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 - */ - boolean checkPrimaryKeyColumn(); - - /** - * チェック制約を設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param checkConstraint チェック制約 - * @since 0.2 - */ - void setCheckConstraint(ColumnCheckConstraint checkConstraint); - - /** - * 型記述子を設定する。 - * - * <p>未設定とする場合は{@code null}を与えるが、モデルとしては無効となる。</p> - * - * @param dataType 型記述子 - * @since 0.2 - */ - void setDataType(DataType dataType); - - /** - * デフォルト値を設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param defaultValue デフォルト値 - * @since 0.2 - */ - void setDefaultValue(String defaultValue); - - /** - * NOT NULL制約を設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param notNullConstraint NOT NULL制約 - * @since 0.2 - */ - void setNotNullConstraint(NotNullConstraint notNullConstraint); - - /** - * 主キー制約を設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param primaryKey 主キー制約 - * @since 0.2 - */ - void setPrimaryKey(PrimaryKey primaryKey); - - /** - * 一意キー制約を設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param uniqueKey 一意キー制約 - * @since 0.2 - */ - void setUniqueKey(UniqueKey uniqueKey); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/09/17 + * + * 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.attribute.constraint.ColumnCheckConstraint; +import org.jiemamy.model.attribute.constraint.NotNullConstraint; +import org.jiemamy.model.attribute.constraint.PrimaryKey; +import org.jiemamy.model.attribute.constraint.UniqueKey; +import org.jiemamy.model.datatype.DataType; +import org.jiemamy.model.datatype.DataTypeHolder; + +/** + * リレーショナルデータベースにおける「カラム」を表すモデルインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface ColumnModel extends AttributeModel, DataTypeHolder<DataType> { + + /** + * チェック制約を取得する。 + * + * @return チェック制約. 未設定の場合は{@code null} + * @since 0.2 + */ + ColumnCheckConstraint getCheckConstraint(); + + /** + * 型記述子を取得する。 + * + * @return 型記述子. 未設定の場合は{@code null} + * @since 0.2 + */ + DataType getDataType(); + + /** + * デフォルト値を取得する。 + * + * @return デフォルト値. 未設定の場合は{@code null} + * @since 0.2 + */ + String getDefaultValue(); + + /** + * NOT NULL制約を取得する。 + * + * @return NOT NULL制約. 未設定の場合は{@code null} + * @since 0.2 + */ + NotNullConstraint getNotNullConstraint(); + + /** + * 主キー制約を取得する。 + * + * @return 主キー制約. 未設定の場合は{@code null} + * @since 0.2 + */ + PrimaryKey getPrimaryKey(); + + /** + * 一意キー制約を取得する。 + * + * @return 一意キー制約. 未設定の場合は{@code null} + * @since 0.2 + */ + UniqueKey getUniqueKey(); + + /** + * カラムが主キー制約を構成するカラムであるかどうか調べる。 + * + * @return 主キー制約構成カラムである場合は{@code true}、そうでない場合は{@code false} + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 + */ + boolean checkPrimaryKeyColumn(); + + /** + * チェック制約を設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param checkConstraint チェック制約 + * @since 0.2 + */ + void setCheckConstraint(ColumnCheckConstraint checkConstraint); + + /** + * 型記述子を設定する。 + * + * <p>未設定とする場合は{@code null}を与えるが、モデルとしては無効となる。</p> + * + * @param dataType 型記述子 + * @since 0.2 + */ + void setDataType(DataType dataType); + + /** + * デフォルト値を設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param defaultValue デフォルト値 + * @since 0.2 + */ + void setDefaultValue(String defaultValue); + + /** + * NOT NULL制約を設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param notNullConstraint NOT NULL制約 + * @since 0.2 + */ + void setNotNullConstraint(NotNullConstraint notNullConstraint); + + /** + * 主キー制約を設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param primaryKey 主キー制約 + * @since 0.2 + */ + void setPrimaryKey(PrimaryKey primaryKey); + + /** + * 一意キー制約を設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param uniqueKey 一意キー制約 + * @since 0.2 + */ + void setUniqueKey(UniqueKey uniqueKey); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/ColumnModel.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/ColumnRef.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/ColumnRef.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/ColumnRef.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,31 +1,31 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/01/19 - * - * 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.ElementReference; - -/** - * {@link ColumnModel}の参照オブジェクト。 - * - * @since 0.2 - * @author daisuke - */ -public interface ColumnRef extends ElementReference<ColumnModel> { - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/01/19 + * + * 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.ElementReference; + +/** + * {@link ColumnModel}の参照オブジェクト。 + * + * @since 0.2 + * @author daisuke + */ +public interface ColumnRef extends ElementReference<ColumnModel> { + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/ColumnRef.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/RepresentationAdapter.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/RepresentationAdapter.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/RepresentationAdapter.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,89 +1,89 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/01/26 - * - * 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.Adapter; -import org.jiemamy.model.AdapterType; - -/** - * 代表カラムかどうかを表すアラプタ。 - * - * <p>例えばEMP, DEPTテーブルがあり、EMPがDEPTを外部キー参照しているとする。 - * EMPのINSERT文用データを入力中に、ユーザは「DEPT_ID = 3 の部署」ではなく「経理部」をイメージするのが自然である。 - * SQL的には 3 を出力すべきだが、入力・選択は「経理部」で行いたい。このように、DEPTテーブルを代表するカラムを代表カラムと呼ぶ。</p> - * - * @author daisuke - */ - @ Adapter(AdapterType.MODEL) -public class RepresentationAdapter { - - private Boolean representation; - - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - RepresentationAdapter other = (RepresentationAdapter) obj; - if (representation == null) { - if (other.representation != null) { - return false; - } - } else if (representation.equals(other.representation) == false) { - return false; - } - return true; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((representation == null) ? 0 : representation.hashCode()); - return result; - } - - /** - * 代表カラムかどうかを取得する。 - * @return 代表カラムかどうか - */ - public Boolean isRepresentation() { - return representation; - } - - /** - * 代表カラムかどうかを設定する。 - * @param representation 代表カラムかどうか - */ - public void setRepresentation(Boolean representation) { - this.representation = representation; - } - - @Override - public String toString() { - return "RepresentationAdapter[" + representation + "]"; - } -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/01/26 + * + * 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.Adapter; +import org.jiemamy.model.AdapterType; + +/** + * 代表カラムかどうかを表すアラプタ。 + * + * <p>例えばEMP, DEPTテーブルがあり、EMPがDEPTを外部キー参照しているとする。 + * EMPのINSERT文用データを入力中に、ユーザは「DEPT_ID = 3 の部署」ではなく「経理部」をイメージするのが自然である。 + * SQL的には 3 を出力すべきだが、入力・選択は「経理部」で行いたい。このように、DEPTテーブルを代表するカラムを代表カラムと呼ぶ。</p> + * + * @author daisuke + */ + @ Adapter(AdapterType.MODEL) +public class RepresentationAdapter { + + private Boolean representation; + + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + RepresentationAdapter other = (RepresentationAdapter) obj; + if (representation == null) { + if (other.representation != null) { + return false; + } + } else if (representation.equals(other.representation) == false) { + return false; + } + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((representation == null) ? 0 : representation.hashCode()); + return result; + } + + /** + * 代表カラムかどうかを取得する。 + * @return 代表カラムかどうか + */ + public Boolean isRepresentation() { + return representation; + } + + /** + * 代表カラムかどうかを設定する。 + * @param representation 代表カラムかどうか + */ + public void setRepresentation(Boolean representation) { + this.representation = representation; + } + + @Override + public String toString() { + return "RepresentationAdapter[" + representation + "]"; + } +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/RepresentationAdapter.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/CheckConstraint.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/CheckConstraint.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/CheckConstraint.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,47 +1,47 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/09/18 - * - * 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.constraint; - -/** - * チェック制約を表すモデルインターフェイス。 - * - * @author daisuke - */ -public interface CheckConstraint extends ValueConstraint { - - /** - * CHEKC制約定義式を取得する。 - * - * @return CHEKC制約定義式. 未設定の場合は{@code null} - * @since 0.2 - */ - String getExpression(); - - /** - * CHEKC制約定義式を設定する。 - * - * <p>未設定としたい場合は{@code null}を与えるが、モデルとしては無効となる。</p> - * - * @param expression CHEKC制約定義式 - * @throws UnsupportedOperationException 制約式の設定をサポートしない場合 - * @since 0.2 - */ - void setExpression(String expression); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/09/18 + * + * 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.constraint; + +/** + * チェック制約を表すモデルインターフェイス。 + * + * @author daisuke + */ +public interface CheckConstraint extends ValueConstraint { + + /** + * CHEKC制約定義式を取得する。 + * + * @return CHEKC制約定義式. 未設定の場合は{@code null} + * @since 0.2 + */ + String getExpression(); + + /** + * CHEKC制約定義式を設定する。 + * + * <p>未設定としたい場合は{@code null}を与えるが、モデルとしては無効となる。</p> + * + * @param expression CHEKC制約定義式 + * @throws UnsupportedOperationException 制約式の設定をサポートしない場合 + * @since 0.2 + */ + void setExpression(String expression); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/CheckConstraint.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ColumnCheckConstraint.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ColumnCheckConstraint.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ColumnCheckConstraint.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,28 +1,28 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/02/18 - * - * 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.constraint; - -/** - * カラムに対して指定されるチェック制約のモデルインターフェイス。 - * - * @author daisuke - */ -public interface ColumnCheckConstraint extends CheckConstraint, ColumnConstraint { - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/02/18 + * + * 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.constraint; + +/** + * カラムに対して指定されるチェック制約のモデルインターフェイス。 + * + * @author daisuke + */ +public interface ColumnCheckConstraint extends CheckConstraint, ColumnConstraint { + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ColumnCheckConstraint.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ColumnConstraint.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ColumnConstraint.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ColumnConstraint.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,28 +1,28 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/02/18 - * - * 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.constraint; - -/** - * カラム制約を表すマーカインターフェイス。 - * - * @author daisuke - */ -public interface ColumnConstraint extends ConstraintModel { - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/02/18 + * + * 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.constraint; + +/** + * カラム制約を表すマーカインターフェイス。 + * + * @author daisuke + */ +public interface ColumnConstraint extends ConstraintModel { + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ColumnConstraint.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ConstraintModel.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ConstraintModel.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ConstraintModel.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,48 +1,48 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/06/09 - * - * 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.constraint; - -import org.jiemamy.model.JiemamyElement; - -/** - * 制約を表すモデルインターフェイス。 - * - * @author daisuke - */ -public interface ConstraintModel extends JiemamyElement { - - /** - * 物理名を取得する。 - * - * @return 物理名. 未設定の場合は{@code null} - * @since 0.2 - */ - String getName(); - - /** - * 物理名を設定する。 - * - * <p>未設定とする場合は{@code null}を指定する。</p> - * - * @param name 物理名 - * @since 0.2 - */ - void setName(String name); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/06/09 + * + * 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.constraint; + +import org.jiemamy.model.JiemamyElement; + +/** + * 制約を表すモデルインターフェイス。 + * + * @author daisuke + */ +public interface ConstraintModel extends JiemamyElement { + + /** + * 物理名を取得する。 + * + * @return 物理名. 未設定の場合は{@code null} + * @since 0.2 + */ + String getName(); + + /** + * 物理名を設定する。 + * + * <p>未設定とする場合は{@code null}を指定する。</p> + * + * @param name 物理名 + * @since 0.2 + */ + void setName(String name); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ConstraintModel.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/Deferrability.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/Deferrability.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/Deferrability.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,80 +1,80 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/01/28 - * - * 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.constraint; - -import org.jiemamy.model.JiemamyElement; - -/** - * 遅延評価可能性モデル。 - * - * @author daisuke - */ -public interface Deferrability extends JiemamyElement { - - /** - * 遅延評価の初期状態を取得する。 - * - * @return 遅延評価の初期状態. 未設定の場合は{@code null} - * @since 0.2 - */ - InitiallyCheckTime getInitiallyCheckTime(); - - /** - * 遅延評価可能性を取得する。 - * - * @return 遅延評価可能性 - * @since 0.2 - */ - boolean isDeferrable(); - - /** - * 遅延評価可能性を設定する。 - * - * <p>遅延評価不可能であれば、必ず{@code null}を返す。</p> - * - * @param deferrable 遅延評価可能性 - * @since 0.2 - */ - void setDeferrable(boolean deferrable); - - /** - * 遅延評価の初期状態を設定する。 - * - * @param initiallyCheckTime 遅延評価の初期状態 - * @since 0.2 - */ - void setInitiallyCheckTime(InitiallyCheckTime initiallyCheckTime); - - - /** - * 制約検査を行うデフォルトの時期。 - * - * @author daisuke - * @since 0.2 - */ - public enum InitiallyCheckTime { - - /** 各文の実行後に検査 */ - IMMEDIATE, - - /** トランザクションの終了時にのみ検査 */ - DEFERRED; - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/01/28 + * + * 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.constraint; + +import org.jiemamy.model.JiemamyElement; + +/** + * 遅延評価可能性モデル。 + * + * @author daisuke + */ +public interface Deferrability extends JiemamyElement { + + /** + * 遅延評価の初期状態を取得する。 + * + * @return 遅延評価の初期状態. 未設定の場合は{@code null} + * @since 0.2 + */ + InitiallyCheckTime getInitiallyCheckTime(); + + /** + * 遅延評価可能性を取得する。 + * + * @return 遅延評価可能性 + * @since 0.2 + */ + boolean isDeferrable(); + + /** + * 遅延評価可能性を設定する。 + * + * <p>遅延評価不可能であれば、必ず{@code null}を返す。</p> + * + * @param deferrable 遅延評価可能性 + * @since 0.2 + */ + void setDeferrable(boolean deferrable); + + /** + * 遅延評価の初期状態を設定する。 + * + * @param initiallyCheckTime 遅延評価の初期状態 + * @since 0.2 + */ + void setInitiallyCheckTime(InitiallyCheckTime initiallyCheckTime); + + + /** + * 制約検査を行うデフォルトの時期。 + * + * @author daisuke + * @since 0.2 + */ + public enum InitiallyCheckTime { + + /** 各文の実行後に検査 */ + IMMEDIATE, + + /** トランザクションの終了時にのみ検査 */ + DEFERRED; + } + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/Deferrability.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ForeignKey.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ForeignKey.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ForeignKey.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,174 +1,174 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/06/09 - * - * 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.constraint; - -import java.util.List; - -import org.jiemamy.exception.ModelConsistenceException; -import org.jiemamy.model.attribute.ColumnRef; -import org.jiemamy.model.entity.EntityModel; - -/** - * リレーショナルデータベースにおける「外部キー」を表すモデルインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface ForeignKey extends KeyConstraint { - - /** - * この外部キーが参照するエンティティを取得する。 - * - * @return この外部キーが参照するエンティティ. 参照エンティティが見つからない場合は{@code null} - * @throws ModelConsistenceException 参照カラムが1つもない場合 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 - */ - EntityModel findReferencedEntity(); - - /** - * この外部キーが参照するキー制約を取得する。該当するキーが存在しなかった場合、{@code null}を返す。 - * - * <p>該当するキー制約が存在しない、という状況はモデル不整合を表す。</p> - * - * @return この外部キーが参照するキー - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 - */ - KeyConstraint findReferencedKeyConstraint(); - - /** - * マッチ型を取得する。 - * - * @return マッチ型. 未設定の場合は{@code null} - * @since 0.2 - */ - MatchType getMatchType(); - - /** - * 削除時アクションを取得する。 - * - * @return 削除時アクション. 未設定の場合は{@code null} - * @since 0.2 - */ - ReferentialAction getOnDelete(); - - /** - * 更新時アクションを取得する。 - * - * @return 更新時アクション. 未設定の場合は{@code null} - * @since 0.2 - */ - ReferentialAction getOnUpdate(); - - /** - * 参照カラムのリストを取得する。 - * - * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link List}を直接操作することで、 - * このオブジェクトのフィールドとして保持される{@link List}を変更することができる。</p> - * - * @return 参照カラムのリスト - * @since 0.2 - */ - List<ColumnRef> getReferenceColumns(); - - /** - * 参照先カラムのリストを設定する。 - * - * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link List}を直接操作することで、 - * このオブジェクトのフィールドとして保持される{@link List}を変更することができる。</p> - * - * @param referenceColumns 参照先カラムのリスト - * @since 0.2 - */ - void setKeyColumns(List<ColumnRef> referenceColumns); - - /** - * マッチ型を設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param matchType マッチ型 - * @since 0.2 - */ - void setMatchType(MatchType matchType); - - /** - * 削除時アクションを設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param onDelete 削除時アクション - * @since 0.2 - */ - void setOnDelete(ReferentialAction onDelete); - - /** - * 更新時アクションを設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param onUpdate 更新時アクション - * @since 0.2 - */ - void setOnUpdate(ReferentialAction onUpdate); - - - /** - * 参照列に挿入された値は、被参照テーブルと被参照列の値に対して、指定した照合型で照会される。 - * - * <p>照合型には3種類があり、デフォルトはSIMPLE照合型。</p> - * - * @since 0.2 - * @author daisuke - */ - public enum MatchType { - - /** 外部キーの他の部分がNULLでない限り、外部キーの一部をNULLとなることを許可する。 */ - SIMPLE, - - /** 全ての外部キー列がNULLとなる場合を除き、複数列外部キーのある列がNULLとなることを許可しない。 */ - FULL, - - /** まだ実装されていない。 */ - PARTIAL; - } - - /** - * 連鎖参照整合性制約の設定。 - * - * @author daisuke - */ - public enum ReferentialAction { - /** 連鎖的に修正する */ - CASCADE, - - /** NULLを設定する */ - SET_NULL, - - /** デフォルト値を設定する */ - SET_DEFAULT, - - /** 削除/変更を許可しない */ - RESTRICT, - - /** 特に何も行わない */ - NO_ACTION; - } -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/06/09 + * + * 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.constraint; + +import java.util.List; + +import org.jiemamy.exception.ModelConsistenceException; +import org.jiemamy.model.attribute.ColumnRef; +import org.jiemamy.model.entity.EntityModel; + +/** + * リレーショナルデータベースにおける「外部キー」を表すモデルインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface ForeignKey extends KeyConstraint { + + /** + * この外部キーが参照するエンティティを取得する。 + * + * @return この外部キーが参照するエンティティ. 参照エンティティが見つからない場合は{@code null} + * @throws ModelConsistenceException 参照カラムが1つもない場合 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 + */ + EntityModel findReferencedEntity(); + + /** + * この外部キーが参照するキー制約を取得する。該当するキーが存在しなかった場合、{@code null}を返す。 + * + * <p>該当するキー制約が存在しない、という状況はモデル不整合を表す。</p> + * + * @return この外部キーが参照するキー + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 + */ + KeyConstraint findReferencedKeyConstraint(); + + /** + * マッチ型を取得する。 + * + * @return マッチ型. 未設定の場合は{@code null} + * @since 0.2 + */ + MatchType getMatchType(); + + /** + * 削除時アクションを取得する。 + * + * @return 削除時アクション. 未設定の場合は{@code null} + * @since 0.2 + */ + ReferentialAction getOnDelete(); + + /** + * 更新時アクションを取得する。 + * + * @return 更新時アクション. 未設定の場合は{@code null} + * @since 0.2 + */ + ReferentialAction getOnUpdate(); + + /** + * 参照カラムのリストを取得する。 + * + * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link List}を直接操作することで、 + * このオブジェクトのフィールドとして保持される{@link List}を変更することができる。</p> + * + * @return 参照カラムのリスト + * @since 0.2 + */ + List<ColumnRef> getReferenceColumns(); + + /** + * 参照先カラムのリストを設定する。 + * + * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link List}を直接操作することで、 + * このオブジェクトのフィールドとして保持される{@link List}を変更することができる。</p> + * + * @param referenceColumns 参照先カラムのリスト + * @since 0.2 + */ + void setKeyColumns(List<ColumnRef> referenceColumns); + + /** + * マッチ型を設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param matchType マッチ型 + * @since 0.2 + */ + void setMatchType(MatchType matchType); + + /** + * 削除時アクションを設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param onDelete 削除時アクション + * @since 0.2 + */ + void setOnDelete(ReferentialAction onDelete); + + /** + * 更新時アクションを設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param onUpdate 更新時アクション + * @since 0.2 + */ + void setOnUpdate(ReferentialAction onUpdate); + + + /** + * 参照列に挿入された値は、被参照テーブルと被参照列の値に対して、指定した照合型で照会される。 + * + * <p>照合型には3種類があり、デフォルトはSIMPLE照合型。</p> + * + * @since 0.2 + * @author daisuke + */ + public enum MatchType { + + /** 外部キーの他の部分がNULLでない限り、外部キーの一部をNULLとなることを許可する。 */ + SIMPLE, + + /** 全ての外部キー列がNULLとなる場合を除き、複数列外部キーのある列がNULLとなることを許可しない。 */ + FULL, + + /** まだ実装されていない。 */ + PARTIAL; + } + + /** + * 連鎖参照整合性制約の設定。 + * + * @author daisuke + */ + public enum ReferentialAction { + /** 連鎖的に修正する */ + CASCADE, + + /** NULLを設定する */ + SET_NULL, + + /** デフォルト値を設定する */ + SET_DEFAULT, + + /** 削除/変更を許可しない */ + RESTRICT, + + /** 特に何も行わない */ + NO_ACTION; + } +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ForeignKey.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/KeyConstraint.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/KeyConstraint.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/KeyConstraint.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,60 +1,60 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/01/26 - * - * 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.constraint; - -import java.util.List; - -import org.jiemamy.model.attribute.ColumnRef; - -/** - * キー制約を表すインターフェイス。 - * - * @author daisuke - */ -public interface KeyConstraint extends TableConstraint { - - /** - * 遅延評価可能性モデルを取得する。 - * - * @return 遅延評価可能性モデル. 未設定の場合は{@code null} - * @since 0.2 - */ - Deferrability getDeferrability(); - - /** - * キーを構成するカラムのリストを取得する。 - * - * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link List}を直接操作することで、 - * このオブジェクトのフィールドとして保持される{@link List}を変更することができる。</p> - * - * @return キーを構成するカラムのリスト - * @since 0.2 - */ - List<ColumnRef> getKeyColumns(); - - /** - * 遅延評価可能性モデルを設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param deferrability 遅延評価可能性モデル - * @since 0.2 - */ - void setDeferrability(Deferrability deferrability); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/01/26 + * + * 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.constraint; + +import java.util.List; + +import org.jiemamy.model.attribute.ColumnRef; + +/** + * キー制約を表すインターフェイス。 + * + * @author daisuke + */ +public interface KeyConstraint extends TableConstraint { + + /** + * 遅延評価可能性モデルを取得する。 + * + * @return 遅延評価可能性モデル. 未設定の場合は{@code null} + * @since 0.2 + */ + Deferrability getDeferrability(); + + /** + * キーを構成するカラムのリストを取得する。 + * + * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link List}を直接操作することで、 + * このオブジェクトのフィールドとして保持される{@link List}を変更することができる。</p> + * + * @return キーを構成するカラムのリスト + * @since 0.2 + */ + List<ColumnRef> getKeyColumns(); + + /** + * 遅延評価可能性モデルを設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param deferrability 遅延評価可能性モデル + * @since 0.2 + */ + void setDeferrability(Deferrability deferrability); +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/KeyConstraint.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/LocalKeyConstraint.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/LocalKeyConstraint.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/LocalKeyConstraint.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,31 +1,31 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/01/26 - * - * 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.constraint; - -/** - * 内部キー制約を表すインターフェイス。 - * - * <p>内部キーとは、外部キーではないキー制約、すなわち {@link UniqueKey} や {@link PrimaryKey} の事である。</p> - * - * @since 0.2 - * @author daisuke - */ -public interface LocalKeyConstraint extends KeyConstraint, ColumnConstraint { - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/01/26 + * + * 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.constraint; + +/** + * 内部キー制約を表すインターフェイス。 + * + * <p>内部キーとは、外部キーではないキー制約、すなわち {@link UniqueKey} や {@link PrimaryKey} の事である。</p> + * + * @since 0.2 + * @author daisuke + */ +public interface LocalKeyConstraint extends KeyConstraint, ColumnConstraint { + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/LocalKeyConstraint.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/NotNullConstraint.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/NotNullConstraint.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/NotNullConstraint.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,29 +1,29 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/01/20 - * - * 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.constraint; - -/** - * NOT NULL制約を表すモデルインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface NotNullConstraint extends ValueConstraint, ColumnConstraint { - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/01/20 + * + * 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.constraint; + +/** + * NOT NULL制約を表すモデルインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface NotNullConstraint extends ValueConstraint, ColumnConstraint { + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/NotNullConstraint.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/PrimaryKey.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/PrimaryKey.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/PrimaryKey.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,29 +1,29 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/09/18 - * - * 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.constraint; - -/** - * 主キー制約を表すモデルインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface PrimaryKey extends LocalKeyConstraint { - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/09/18 + * + * 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.constraint; + +/** + * 主キー制約を表すモデルインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface PrimaryKey extends LocalKeyConstraint { + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/PrimaryKey.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/TableCheckConstraint.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/TableCheckConstraint.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/TableCheckConstraint.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,29 +1,29 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/02/18 - * - * 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.constraint; - -/** - * テーブルに対して指定されるチェック制約のモデルインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface TableCheckConstraint extends CheckConstraint, TableConstraint { - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/02/18 + * + * 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.constraint; + +/** + * テーブルに対して指定されるチェック制約のモデルインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface TableCheckConstraint extends CheckConstraint, TableConstraint { + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/TableCheckConstraint.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/TableConstraint.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/TableConstraint.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/TableConstraint.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,31 +1,31 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/02/18 - * - * 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.constraint; - -import org.jiemamy.model.attribute.AttributeModel; - -/** - * テーブル制約を表すマーカインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface TableConstraint extends AttributeModel, ConstraintModel { - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/02/18 + * + * 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.constraint; + +import org.jiemamy.model.attribute.AttributeModel; + +/** + * テーブル制約を表すマーカインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface TableConstraint extends AttributeModel, ConstraintModel { + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/TableConstraint.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/UniqueKey.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/UniqueKey.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/UniqueKey.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,29 +1,29 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/09/18 - * - * 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.constraint; - -/** - * UNIQUE制約を表すモデルインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface UniqueKey extends LocalKeyConstraint { - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/09/18 + * + * 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.constraint; + +/** + * UNIQUE制約を表すモデルインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface UniqueKey extends LocalKeyConstraint { + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/UniqueKey.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ValueConstraint.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ValueConstraint.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ValueConstraint.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,31 +1,31 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/01/26 - * - * 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.constraint; - -/** - * 値に対する単純な制約を表す制約モデル。 - * - * <p>主にNOT NULL制約や、CHECK制約を表す。</p> - * - * @since 0.2 - * @author daisuke - */ -public interface ValueConstraint extends ConstraintModel { - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/01/26 + * + * 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.constraint; + +/** + * 値に対する単純な制約を表す制約モデル。 + * + * <p>主にNOT NULL制約や、CHECK制約を表す。</p> + * + * @since 0.2 + * @author daisuke + */ +public interface ValueConstraint extends ConstraintModel { + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/ValueConstraint.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/package-info.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/package-info.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/package-info.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,10 +1,10 @@ -/** - * Jiemamyモデルのうち、テーブルに対する「制約」を定義するパッケージ。 - * - * <p>{@link org.jiemamy.model.attribute.constraint.ConstraintModel}を基底にして、 - * 主キー制約, 外部キー制約, NOT NULL制約などのサブインターフェイスを定義している。</p> - * - * @author daisuke - */ -package org.jiemamy.model.attribute.constraint; - +/** + * Jiemamyモデルのうち、テーブルに対する「制約」を定義するパッケージ。 + * + * <p>{@link org.jiemamy.model.attribute.constraint.ConstraintModel}を基底にして、 + * 主キー制約, 外部キー制約, NOT NULL制約などのサブインターフェイスを定義している。</p> + * + * @author daisuke + */ +package org.jiemamy.model.attribute.constraint; + Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/constraint/package-info.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/package-info.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/package-info.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/package-info.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,13 +1,13 @@ -/** - * Jiemamyモデルのうち、主にリレーショナルモデルの「属性」を定義するパッケージ。 - * - * <p>{@link org.jiemamy.model.attribute.AttributeModel}を基底にして、 - * カラム, 制約などのサブインターフェイスを定義している。</p> - * - * <p>全体把握の際は、このパッケージの次に{@code org.jiemamy.model.attribute.constraint}, - * {@code org.jiemamy.model.datatype}パッケージを把握するとよい。</p> - * -* @author daisuke - */ -package org.jiemamy.model.attribute; - +/** + * Jiemamyモデルのうち、主にリレーショナルモデルの「属性」を定義するパッケージ。 + * + * <p>{@link org.jiemamy.model.attribute.AttributeModel}を基底にして、 + * カラム, 制約などのサブインターフェイスを定義している。</p> + * + * <p>全体把握の際は、このパッケージの次に{@code org.jiemamy.model.attribute.constraint}, + * {@code org.jiemamy.model.datatype}パッケージを把握するとよい。</p> + * +* @author daisuke + */ +package org.jiemamy.model.attribute; + Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/attribute/package-info.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/dataset/DataSetModel.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/dataset/DataSetModel.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/dataset/DataSetModel.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,63 +1,63 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/09/17 - * - * 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.dataset; - -import java.util.List; -import java.util.Map; - -import org.jiemamy.model.JiemamyElement; -import org.jiemamy.model.entity.TableRef; - -/** - * INSERT用データセットを表すモデルインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface DataSetModel extends JiemamyElement { - - /** - * データセット名を取得する。 - * - * @return データセット名. 未設定の場合は{@code null} - * @since 0.2 - */ - String getName(); - - /** - * レコード情報を取得する。 - * - * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link Map}を直接操作することで、 - * このオブジェクトのフィールドとして保持される{@link Map}を変更することができる。</p> - * - * @return レコード情報 - * @since 0.2 - */ - Map<TableRef, List<RecordModel>> getRecords(); - - /** - * データセット名を設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param name データセット名 - * @since 0.2 - */ - void setName(String name); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/09/17 + * + * 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.dataset; + +import java.util.List; +import java.util.Map; + +import org.jiemamy.model.JiemamyElement; +import org.jiemamy.model.entity.TableRef; + +/** + * INSERT用データセットを表すモデルインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface DataSetModel extends JiemamyElement { + + /** + * データセット名を取得する。 + * + * @return データセット名. 未設定の場合は{@code null} + * @since 0.2 + */ + String getName(); + + /** + * レコード情報を取得する。 + * + * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link Map}を直接操作することで、 + * このオブジェクトのフィールドとして保持される{@link Map}を変更することができる。</p> + * + * @return レコード情報 + * @since 0.2 + */ + Map<TableRef, List<RecordModel>> getRecords(); + + /** + * データセット名を設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param name データセット名 + * @since 0.2 + */ + void setName(String name); +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/dataset/DataSetModel.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/dataset/RecordModel.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/dataset/RecordModel.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/dataset/RecordModel.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,54 +1,54 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/09/17 - * - * 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.dataset; - -import java.util.Map; - -import org.jiemamy.model.JiemamyElement; -import org.jiemamy.model.attribute.ColumnRef; - -/** - * DB上のデータの各レコード(Row)を表すモデルインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface RecordModel extends JiemamyElement { - - /** - * カラムに対応するデータを取得する。 - * - * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link Map}を直接操作することで、 - * このオブジェクトのフィールドとして保持される{@link Map}を変更することができる。</p> - * - * <p>データは「存在する場合」と「NULLである場合」と「出力されない場合」があり得る。 - * 「出力されない場合」とは、例えば "FOO" テーブルに BAR, BAZ, QUX カラムが存在する場合に、 - * {@code INSERT INTO FOO (BAZ, QUX) VALUES('QUUX', 'COURGE');} - * というINSERT文が発行される場合である。</p> - * - * <p>{@link Map} は、この3種類のステートを保持可能である。{@code null}が設定されたkeyも未設定のkeyも、 - * どちらも{@code null}を返すが、{@link Map#containsKey(Object)}メソッドで、両者を判別可能である。 - * 詳しくは{@link Map#get(Object)}のjavadocを参照のこと。</p> - * - * @return カラムに対応するデータ - * @since 0.2 - */ - Map<ColumnRef, String> getValues(); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/09/17 + * + * 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.dataset; + +import java.util.Map; + +import org.jiemamy.model.JiemamyElement; +import org.jiemamy.model.attribute.ColumnRef; + +/** + * DB上のデータの各レコード(Row)を表すモデルインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface RecordModel extends JiemamyElement { + + /** + * カラムに対応するデータを取得する。 + * + * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link Map}を直接操作することで、 + * このオブジェクトのフィールドとして保持される{@link Map}を変更することができる。</p> + * + * <p>データは「存在する場合」と「NULLである場合」と「出力されない場合」があり得る。 + * 「出力されない場合」とは、例えば "FOO" テーブルに BAR, BAZ, QUX カラムが存在する場合に、 + * {@code INSERT INTO FOO (BAZ, QUX) VALUES('QUUX', 'COURGE');} + * というINSERT文が発行される場合である。</p> + * + * <p>{@link Map} は、この3種類のステートを保持可能である。{@code null}が設定されたkeyも未設定のkeyも、 + * どちらも{@code null}を返すが、{@link Map#containsKey(Object)}メソッドで、両者を判別可能である。 + * 詳しくは{@link Map#get(Object)}のjavadocを参照のこと。</p> + * + * @return カラムに対応するデータ + * @since 0.2 + */ + Map<ColumnRef, String> getValues(); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/dataset/RecordModel.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/dataset/package-info.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/dataset/package-info.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/dataset/package-info.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,11 +1,11 @@ -/** - * Jiemamyモデルのうち、主にテーブルに記録された「データ」を定義するパッケージ。 - * - * <p>ここまでの順序だてた把握により、Jiemamyのコアモデルはほぼ把握できたはずである。</p> - * - * <p>全体把握の際は、このパッケージの次に{@link org.jiemamy.model.dataset}パッケージを把握するとよい。</p> - * - * @author daisuke - */ -package org.jiemamy.model.dataset; - +/** + * Jiemamyモデルのうち、主にテーブルに記録された「データ」を定義するパッケージ。 + * + * <p>ここまでの順序だてた把握により、Jiemamyのコアモデルはほぼ把握できたはずである。</p> + * + * <p>全体把握の際は、このパッケージの次に{@link org.jiemamy.model.dataset}パッケージを把握するとよい。</p> + * + * @author daisuke + */ +package org.jiemamy.model.dataset; + Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/dataset/package-info.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/BuiltinDataType.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/BuiltinDataType.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/BuiltinDataType.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,67 +1,67 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/12/30 - * - * 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.datatype; - -import org.jiemamy.utils.Adaptable; - -/** - * DBに本来組み込まれているデータ型を表すインターフェイス。つまり、Domain型ではないプリミティブなデータ型の記述子。 - * - * @since 0.2 - * @author daisuke - */ -public interface BuiltinDataType extends DataType, Adaptable { - - /** - * 型カテゴリを取得する。 - * - * @return 型カテゴリ. 未設定の場合は{@code null} - * @since 0.2 - */ - DataTypeCategory getCategory(); - - /** - * データ型名を取得する。 - * - * @return データ型名. 未設定の場合は型カテゴリ名を返す - * @since 0.2 - */ - String getTypeName(); - - /** - * 型カテゴリを設定する。 - * - * <p>未設定とする場合は{@code null}を与えるが、モデルとしては無効となる。</p> - * - * @param category 型カテゴリ - * @since 0.2 - */ - void setCategory(DataTypeCategory category); - - /** - * データ型名を設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param typeName データ型名 - * @since 0.2 - */ - void setTypeName(String typeName); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/12/30 + * + * 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.datatype; + +import org.jiemamy.utils.Adaptable; + +/** + * DBに本来組み込まれているデータ型を表すインターフェイス。つまり、Domain型ではないプリミティブなデータ型の記述子。 + * + * @since 0.2 + * @author daisuke + */ +public interface BuiltinDataType extends DataType, Adaptable { + + /** + * 型カテゴリを取得する。 + * + * @return 型カテゴリ. 未設定の場合は{@code null} + * @since 0.2 + */ + DataTypeCategory getCategory(); + + /** + * データ型名を取得する。 + * + * @return データ型名. 未設定の場合は型カテゴリ名を返す + * @since 0.2 + */ + String getTypeName(); + + /** + * 型カテゴリを設定する。 + * + * <p>未設定とする場合は{@code null}を与えるが、モデルとしては無効となる。</p> + * + * @param category 型カテゴリ + * @since 0.2 + */ + void setCategory(DataTypeCategory category); + + /** + * データ型名を設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param typeName データ型名 + * @since 0.2 + */ + void setTypeName(String typeName); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/BuiltinDataType.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataType.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataType.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataType.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,39 +1,39 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/12/10 - * - * 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.datatype; - -import org.jiemamy.ReferenceResolver; - -/** - * 型記述子。 - * - * @author daisuke - */ -public interface DataType { - - /** - * {@link DataType}を{@link BuiltinDataType}に変換する。 - * - * @param resolver リゾルバ - * @return 変換結果 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - */ - BuiltinDataType toBuiltinDataType(ReferenceResolver resolver); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/12/10 + * + * 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.datatype; + +import org.jiemamy.ReferenceResolver; + +/** + * 型記述子。 + * + * @author daisuke + */ +public interface DataType { + + /** + * {@link DataType}を{@link BuiltinDataType}に変換する。 + * + * @param resolver リゾルバ + * @return 変換結果 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + */ + BuiltinDataType toBuiltinDataType(ReferenceResolver resolver); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataType.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataTypeAdapter.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataTypeAdapter.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataTypeAdapter.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,38 +1,38 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/07/20 - * - * 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.datatype; - -/** - * {@link DataType}用のアダプタ。 - * - * @author daisuke - */ -public interface DataTypeAdapter { - - /** - * 渡されたアダプタが持つ型に対する追加情報を、自クラスにコピーする。 - * - * @param src コピー元アダプタ - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws IllegalArgumentException 引数に自分と同じクラスのインスタンス以外を与えた場合 - * @since 0.2 - */ - void copy(DataTypeAdapter src); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/07/20 + * + * 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.datatype; + +/** + * {@link DataType}用のアダプタ。 + * + * @author daisuke + */ +public interface DataTypeAdapter { + + /** + * 渡されたアダプタが持つ型に対する追加情報を、自クラスにコピーする。 + * + * @param src コピー元アダプタ + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws IllegalArgumentException 引数に自分と同じクラスのインスタンス以外を与えた場合 + * @since 0.2 + */ + void copy(DataTypeAdapter src); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataTypeAdapter.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataTypeCategory.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataTypeCategory.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataTypeCategory.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,134 +1,134 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/02/08 - * - * 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.datatype; - -import java.sql.Types; - -/** - * データ型のカテゴリを表す列挙型。 - * - * @author daisuke - */ -public enum DataTypeCategory { - - /** CHARACTER型 */ - CHARACTER(Types.CHAR, LiteralType.CHARACTER), - - /** VARCHAR型 */ - VARCHAR(Types.VARCHAR, LiteralType.CHARACTER), - - /** CLOB型 */ - CLOB(Types.CLOB, LiteralType.CHARACTER), - - /** BLOB型 */ - BLOB(Types.BLOB, LiteralType.CHARACTER), - - /** BIT型 */ - BIT(Types.BIT, LiteralType.CHARACTER), - - /** VARBIT型 */ - VARBIT(Types.OTHER, LiteralType.CHARACTER), - - /** NUMERIC型 */ - NUMERIC(Types.NUMERIC, LiteralType.NUMERIC), - - /** DECIMAL型 */ - DECIMAL(Types.DECIMAL, LiteralType.NUMERIC), - - /** INTEGER型 */ - INTEGER(Types.INTEGER, LiteralType.NUMERIC), - - /** SMALLINT型 */ - SMALLINT(Types.SMALLINT, LiteralType.NUMERIC), - - /** FLOAT型 */ - FLOAT(Types.FLOAT, LiteralType.NUMERIC), - - /** REAL型 */ - REAL(Types.REAL, LiteralType.NUMERIC), - - /** DOUBLE型 */ - DOUBLE(Types.DOUBLE, LiteralType.NUMERIC), - - /** BOOLEAN型 */ - BOOLEAN(Types.BOOLEAN, LiteralType.BOOLEAN), - - /** DATE型 */ - DATE(Types.DATE, LiteralType.DATE), - - /** TIME型 */ - TIME(Types.TIME, LiteralType.TIME), - - /** TIMESTAMP型 */ - TIMESTAMP(Types.TIMESTAMP, LiteralType.TIMESTAMP), - - /** INTERVAL型 */ - INTERVAL(Types.OTHER, LiteralType.INTERVAL), - - /** その他型 */ - OTHER(Types.OTHER, LiteralType.CHARACTER); - - /** - * {@link Types}の値から、カテゴリを取得する。 - * - * @param sqlType {@link Types}の値 - * @return カテゴリ. 適切なカテゴリが見つからなかった場合は{@code null} - * @since 0.2 - */ - public static DataTypeCategory fromSqlType(int sqlType) { - for (DataTypeCategory category : values()) { - if (category.sqlType == sqlType) { - return category; - } - } - return OTHER; - } - - - private LiteralType literalType; - - private final int sqlType; - - - DataTypeCategory(int sqlType, LiteralType literalType) { - assert literalType != null; - this.sqlType = sqlType; - this.literalType = literalType; - } - - /** - * このカテゴリのリテラルの種類を取得する。 - * - * @return リテラルの種類 - * @since 0.2 - */ - public LiteralType getLiteralType() { - return literalType; - } - - /** - * このカテゴリの{@link Types}の値を取得する。 - * - * @return {@link Types}の値 - * @since 0.2 - */ - public int getSqlType() { - return sqlType; - } -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/02/08 + * + * 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.datatype; + +import java.sql.Types; + +/** + * データ型のカテゴリを表す列挙型。 + * + * @author daisuke + */ +public enum DataTypeCategory { + + /** CHARACTER型 */ + CHARACTER(Types.CHAR, LiteralType.CHARACTER), + + /** VARCHAR型 */ + VARCHAR(Types.VARCHAR, LiteralType.CHARACTER), + + /** CLOB型 */ + CLOB(Types.CLOB, LiteralType.CHARACTER), + + /** BLOB型 */ + BLOB(Types.BLOB, LiteralType.CHARACTER), + + /** BIT型 */ + BIT(Types.BIT, LiteralType.CHARACTER), + + /** VARBIT型 */ + VARBIT(Types.OTHER, LiteralType.CHARACTER), + + /** NUMERIC型 */ + NUMERIC(Types.NUMERIC, LiteralType.NUMERIC), + + /** DECIMAL型 */ + DECIMAL(Types.DECIMAL, LiteralType.NUMERIC), + + /** INTEGER型 */ + INTEGER(Types.INTEGER, LiteralType.NUMERIC), + + /** SMALLINT型 */ + SMALLINT(Types.SMALLINT, LiteralType.NUMERIC), + + /** FLOAT型 */ + FLOAT(Types.FLOAT, LiteralType.NUMERIC), + + /** REAL型 */ + REAL(Types.REAL, LiteralType.NUMERIC), + + /** DOUBLE型 */ + DOUBLE(Types.DOUBLE, LiteralType.NUMERIC), + + /** BOOLEAN型 */ + BOOLEAN(Types.BOOLEAN, LiteralType.BOOLEAN), + + /** DATE型 */ + DATE(Types.DATE, LiteralType.DATE), + + /** TIME型 */ + TIME(Types.TIME, LiteralType.TIME), + + /** TIMESTAMP型 */ + TIMESTAMP(Types.TIMESTAMP, LiteralType.TIMESTAMP), + + /** INTERVAL型 */ + INTERVAL(Types.OTHER, LiteralType.INTERVAL), + + /** その他型 */ + OTHER(Types.OTHER, LiteralType.CHARACTER); + + /** + * {@link Types}の値から、カテゴリを取得する。 + * + * @param sqlType {@link Types}の値 + * @return カテゴリ. 適切なカテゴリが見つからなかった場合は{@code null} + * @since 0.2 + */ + public static DataTypeCategory fromSqlType(int sqlType) { + for (DataTypeCategory category : values()) { + if (category.sqlType == sqlType) { + return category; + } + } + return OTHER; + } + + + private LiteralType literalType; + + private final int sqlType; + + + DataTypeCategory(int sqlType, LiteralType literalType) { + assert literalType != null; + this.sqlType = sqlType; + this.literalType = literalType; + } + + /** + * このカテゴリのリテラルの種類を取得する。 + * + * @return リテラルの種類 + * @since 0.2 + */ + public LiteralType getLiteralType() { + return literalType; + } + + /** + * このカテゴリの{@link Types}の値を取得する。 + * + * @return {@link Types}の値 + * @since 0.2 + */ + public int getSqlType() { + return sqlType; + } +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataTypeCategory.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataTypeHolder.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataTypeHolder.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataTypeHolder.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,48 +1,48 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/03/23 - * - * 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.datatype; - -/** - * データ型({@link DataType})を保持するモデルを表すインターフェイス。 - * - * @param <T> 型記述子の型 - * @since 0.2 - * @author daisuke - */ -public interface DataTypeHolder<T extends DataType> { - - /** - * 型記述子を取得する。 - * - * @return 型記述子. 未設定の場合は{@code null} - * @since 0.2 - */ - T getDataType(); - - /** - * 型記述子を設定する。 - * - * <p>未設定とする場合は{@code null}を与えるが、モデルとしては無効となる。</p> - * - * @param dataType 型記述子 - * @since 0.2 - */ - void setDataType(T dataType); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/03/23 + * + * 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.datatype; + +/** + * データ型({@link DataType})を保持するモデルを表すインターフェイス。 + * + * @param <T> 型記述子の型 + * @since 0.2 + * @author daisuke + */ +public interface DataTypeHolder<T extends DataType> { + + /** + * 型記述子を取得する。 + * + * @return 型記述子. 未設定の場合は{@code null} + * @since 0.2 + */ + T getDataType(); + + /** + * 型記述子を設定する。 + * + * <p>未設定とする場合は{@code null}を与えるが、モデルとしては無効となる。</p> + * + * @param dataType 型記述子 + * @since 0.2 + */ + void setDataType(T dataType); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataTypeHolder.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataTypeMold.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataTypeMold.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataTypeMold.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,38 +1,38 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/03/18 - * - * 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.datatype; - -/** - * データ型インスタンスを生成するための鋳型情報を表すインターフェイス。 - * - * @param <T> この鋳型から生成されるデータ型の型 - * @since 0.2 - * @author daisuke - */ -public interface DataTypeMold<T extends DataType> { - - /** - * 型名を取得する。 - * - * @return 型名 - * @since 0.2 - */ - String getName(); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/03/18 + * + * 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.datatype; + +/** + * データ型インスタンスを生成するための鋳型情報を表すインターフェイス。 + * + * @param <T> この鋳型から生成されるデータ型の型 + * @since 0.2 + * @author daisuke + */ +public interface DataTypeMold<T extends DataType> { + + /** + * 型名を取得する。 + * + * @return 型名 + * @since 0.2 + */ + String getName(); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DataTypeMold.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DomainModel.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DomainModel.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DomainModel.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,149 +1,149 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/09/17 - * - * 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.datatype; - -import java.util.List; - -import org.jiemamy.model.JiemamyElement; -import org.jiemamy.model.attribute.constraint.ColumnCheckConstraint; -import org.jiemamy.model.attribute.constraint.NotNullConstraint; - -/** - * ドメインを表すモデルインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface DomainModel extends JiemamyElement, DataTypeMold<DomainRef>, DataTypeHolder<BuiltinDataType> { - - /** - * {@inheritDoc} - * @throws IllegalStateException dataTypeを設定する前にこのメソッドをコールした場合 - */ - <T>T getAdapter(Class<T> adapterClass); - - /** - * {@inheritDoc} - * @throws IllegalStateException dataTypeを設定する前にこのメソッドをコールした場合 - */ - List<Object> getAdapters(); - - /** - * チェック制約を取得する。 - * - * @return チェック制約. 未設定の場合は{@code null} - * @since 0.2 - */ - ColumnCheckConstraint getCheckConstraint(); - - /** - * 説明文を取得する。 - * - * @return 説明文. 未設定の場合は{@code null} - * @since 0.2 - */ - String getDescription(); - - /** - * 論理名を取得する。 - * - * @return 論理名. 未設定の場合は{@code null} - * @since 0.2 - */ - String getLogicalName(); - - /** - * ドメイン名を取得する。 - * - * @return ドメイン名. 未設定の場合は{@code null} - * @since 0.2 - */ - String getName(); - - /** - * NOT NULL制約を取得する。 - * - * @return NOT NULL制約. 未設定の場合は{@code null} - * @since 0.2 - */ - NotNullConstraint getNotNullConstraint(); - - /** - * {@inheritDoc} - * @throws IllegalStateException dataTypeを設定する前にこのメソッドをコールした場合 - */ - boolean hasAdapter(Class<?> adapterClass); - - /** - * {@inheritDoc} - * @throws IllegalStateException dataTypeを設定する前にこのメソッドをコールした場合 - */ - void registerAdapter(Object adapter); - - /** - * チェック制約を設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param check チェック制約 - * @since 0.2 - */ - void setCheckConstraint(ColumnCheckConstraint check); - - /** - * 説明文を設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param description 説明文 - * @since 0.2 - */ - void setDescription(String description); - - /** - * 論理名を設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param logicalName 論理名 - * @since 0.2 - */ - void setLogicalName(String logicalName); - - /** - * ドメイン名を設定する。 - * - * <p>未設定とする場合は{@code null}を与えるが、モデルとしては無効となる。</p> - * - * @param name ドメイン名 - * @since 0.2 - */ - void setName(String name); - - /** - * NOT NULL制約を設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param notNull NOT NULL制約 - * @since 0.2 - */ - void setNotNullConstraint(NotNullConstraint notNull); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/09/17 + * + * 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.datatype; + +import java.util.List; + +import org.jiemamy.model.JiemamyElement; +import org.jiemamy.model.attribute.constraint.ColumnCheckConstraint; +import org.jiemamy.model.attribute.constraint.NotNullConstraint; + +/** + * ドメインを表すモデルインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface DomainModel extends JiemamyElement, DataTypeMold<DomainRef>, DataTypeHolder<BuiltinDataType> { + + /** + * {@inheritDoc} + * @throws IllegalStateException dataTypeを設定する前にこのメソッドをコールした場合 + */ + <T>T getAdapter(Class<T> adapterClass); + + /** + * {@inheritDoc} + * @throws IllegalStateException dataTypeを設定する前にこのメソッドをコールした場合 + */ + List<Object> getAdapters(); + + /** + * チェック制約を取得する。 + * + * @return チェック制約. 未設定の場合は{@code null} + * @since 0.2 + */ + ColumnCheckConstraint getCheckConstraint(); + + /** + * 説明文を取得する。 + * + * @return 説明文. 未設定の場合は{@code null} + * @since 0.2 + */ + String getDescription(); + + /** + * 論理名を取得する。 + * + * @return 論理名. 未設定の場合は{@code null} + * @since 0.2 + */ + String getLogicalName(); + + /** + * ドメイン名を取得する。 + * + * @return ドメイン名. 未設定の場合は{@code null} + * @since 0.2 + */ + String getName(); + + /** + * NOT NULL制約を取得する。 + * + * @return NOT NULL制約. 未設定の場合は{@code null} + * @since 0.2 + */ + NotNullConstraint getNotNullConstraint(); + + /** + * {@inheritDoc} + * @throws IllegalStateException dataTypeを設定する前にこのメソッドをコールした場合 + */ + boolean hasAdapter(Class<?> adapterClass); + + /** + * {@inheritDoc} + * @throws IllegalStateException dataTypeを設定する前にこのメソッドをコールした場合 + */ + void registerAdapter(Object adapter); + + /** + * チェック制約を設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param check チェック制約 + * @since 0.2 + */ + void setCheckConstraint(ColumnCheckConstraint check); + + /** + * 説明文を設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param description 説明文 + * @since 0.2 + */ + void setDescription(String description); + + /** + * 論理名を設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param logicalName 論理名 + * @since 0.2 + */ + void setLogicalName(String logicalName); + + /** + * ドメイン名を設定する。 + * + * <p>未設定とする場合は{@code null}を与えるが、モデルとしては無効となる。</p> + * + * @param name ドメイン名 + * @since 0.2 + */ + void setName(String name); + + /** + * NOT NULL制約を設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param notNull NOT NULL制約 + * @since 0.2 + */ + void setNotNullConstraint(NotNullConstraint notNull); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DomainModel.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DomainRef.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DomainRef.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DomainRef.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,31 +1,31 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/01/19 - * - * 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.datatype; - -import org.jiemamy.model.ElementReference; - -/** - * {@link DomainModel}の参照オブジェクト。 - * - * @since 0.2 - * @author daisuke - */ -public interface DomainRef extends ElementReference<DomainModel>, DataType { - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/01/19 + * + * 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.datatype; + +import org.jiemamy.model.ElementReference; + +/** + * {@link DomainModel}の参照オブジェクト。 + * + * @since 0.2 + * @author daisuke + */ +public interface DomainRef extends ElementReference<DomainModel>, DataType { + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/DomainRef.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/LiteralType.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/LiteralType.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/LiteralType.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,136 +1,136 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/02/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.datatype; - -/** - * リテラルの種類をあらわす列挙型。 - * - * @since 0.2 - * @author daisuke - */ -public enum LiteralType { - - /** 文字(列)リテラル */ - CHARACTER { - - @Override - public String convert(String value) { - if (value == null) { - return "NULL"; - } - return "'" + value + "'"; - } - }, - /** 数字リテラル */ - NUMERIC { - - @Override - public String convert(String value) { - if (value == null) { - return "NULL"; - } - return value; - } - }, - /** 真偽値リテラル */ - BOOLEAN { - - @Override - public String convert(String value) { - if (value == null) { - return "NULL"; - } - return value; - } - }, - /** 日付リテラル */ - DATE { - - @Override - public String convert(String value) { - if (value == null) { - return "NULL"; - } - return "DATE '" + value + "'"; - } - }, - /** 時間リテラル */ - TIME { - - @Override - public String convert(String value) { - if (value == null) { - return "NULL"; - } - return "TIME '" + value + "'"; - } - }, - /** タイムスタンプリテラル */ - TIMESTAMP { - - @Override - public String convert(String value) { - if (value == null) { - return "NULL"; - } - return "TIMESTAMP '" + value + "'"; - } - }, - /** インターバルリテラル */ - INTERVAL { - - @Override - public String convert(String value) { - if (value == null) { - return "NULL"; - } - return "INTERVAL " + value; - } - }, - - /** NULLリテラル */ - NULL { - - @Override - public String convert(String value) { - return "NULL"; - } - }, - - /** SQLフラグメント */ - FRAGMENT { - - @Override - public String convert(String value) { - if (value == null) { - return ""; - } - return value; - } - }; - - /** - * 値をリテラル表記に変換する。 - * - * @param value 値 - * @return リテラル表記 - * @since 0.2 - */ - public abstract String convert(String value); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/02/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.datatype; + +/** + * リテラルの種類をあらわす列挙型。 + * + * @since 0.2 + * @author daisuke + */ +public enum LiteralType { + + /** 文字(列)リテラル */ + CHARACTER { + + @Override + public String convert(String value) { + if (value == null) { + return "NULL"; + } + return "'" + value + "'"; + } + }, + /** 数字リテラル */ + NUMERIC { + + @Override + public String convert(String value) { + if (value == null) { + return "NULL"; + } + return value; + } + }, + /** 真偽値リテラル */ + BOOLEAN { + + @Override + public String convert(String value) { + if (value == null) { + return "NULL"; + } + return value; + } + }, + /** 日付リテラル */ + DATE { + + @Override + public String convert(String value) { + if (value == null) { + return "NULL"; + } + return "DATE '" + value + "'"; + } + }, + /** 時間リテラル */ + TIME { + + @Override + public String convert(String value) { + if (value == null) { + return "NULL"; + } + return "TIME '" + value + "'"; + } + }, + /** タイムスタンプリテラル */ + TIMESTAMP { + + @Override + public String convert(String value) { + if (value == null) { + return "NULL"; + } + return "TIMESTAMP '" + value + "'"; + } + }, + /** インターバルリテラル */ + INTERVAL { + + @Override + public String convert(String value) { + if (value == null) { + return "NULL"; + } + return "INTERVAL " + value; + } + }, + + /** NULLリテラル */ + NULL { + + @Override + public String convert(String value) { + return "NULL"; + } + }, + + /** SQLフラグメント */ + FRAGMENT { + + @Override + public String convert(String value) { + if (value == null) { + return ""; + } + return value; + } + }; + + /** + * 値をリテラル表記に変換する。 + * + * @param value 値 + * @return リテラル表記 + * @since 0.2 + */ + public abstract String convert(String value); +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/LiteralType.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/PrecisionedDataTypeAdapter.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/PrecisionedDataTypeAdapter.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/PrecisionedDataTypeAdapter.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,141 +1,141 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/07/20 - * - * 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.datatype.adapter; - -import org.jiemamy.model.Adapter; -import org.jiemamy.model.AdapterType; -import org.jiemamy.model.datatype.DataTypeAdapter; - -/** - * 精度とスケールを持つDataType用のアダプタ。 - * - * @author daisuke - */ - @ Adapter(AdapterType.MODEL) -public class PrecisionedDataTypeAdapter implements DataTypeAdapter { - - /** 精度 */ - private Integer precision; - - /** スケール */ - private Integer scale; - - - public void copy(DataTypeAdapter src) { - if (src == null) { - throw new IllegalArgumentException("The validated object is null"); - } - if (src instanceof PrecisionedDataTypeAdapter) { - precision = ((PrecisionedDataTypeAdapter) src).precision; - scale = ((PrecisionedDataTypeAdapter) src).scale; - } else { - throw new IllegalArgumentException(src.getClass().toString() + " (expected is " + this.getClass().getName() - + ")"); - } - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - final PrecisionedDataTypeAdapter other = (PrecisionedDataTypeAdapter) obj; - if (precision == null) { - if (other.precision != null) { - return false; - } - } else if (precision.equals(other.precision) == false) { - return false; - } - if (scale == null) { - if (other.scale != null) { - return false; - } - } else if (scale.equals(other.scale) == false) { - return false; - } - return true; - } - - /** - * 精度を取得する。 - * - * @return 精度 - */ - public Integer getPrecision() { - return precision; - } - - /** - * スケールを取得する。 - * - * @return スケール - */ - public Integer getScale() { - return scale; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((precision == null) ? 0 : precision.hashCode()); - result = prime * result + ((scale == null) ? 0 : scale.hashCode()); - return result; - } - - /** - * 精度を設定する。 - * - * @param precision 精度 - */ - public void setPrecision(Integer precision) { - this.precision = precision; - } - - /** - * スケールを設定する。 - * - * @param scale スケール - */ - public void setScale(Integer scale) { - this.scale = scale; - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - if (precision != null) { - sb.append("("); - sb.append(precision); - if (scale != null) { - sb.append(", "); - sb.append(scale); - } - sb.append(")"); - } - return sb.toString(); - } -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/07/20 + * + * 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.datatype.adapter; + +import org.jiemamy.model.Adapter; +import org.jiemamy.model.AdapterType; +import org.jiemamy.model.datatype.DataTypeAdapter; + +/** + * 精度とスケールを持つDataType用のアダプタ。 + * + * @author daisuke + */ + @ Adapter(AdapterType.MODEL) +public class PrecisionedDataTypeAdapter implements DataTypeAdapter { + + /** 精度 */ + private Integer precision; + + /** スケール */ + private Integer scale; + + + public void copy(DataTypeAdapter src) { + if (src == null) { + throw new IllegalArgumentException("The validated object is null"); + } + if (src instanceof PrecisionedDataTypeAdapter) { + precision = ((PrecisionedDataTypeAdapter) src).precision; + scale = ((PrecisionedDataTypeAdapter) src).scale; + } else { + throw new IllegalArgumentException(src.getClass().toString() + " (expected is " + this.getClass().getName() + + ")"); + } + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + final PrecisionedDataTypeAdapter other = (PrecisionedDataTypeAdapter) obj; + if (precision == null) { + if (other.precision != null) { + return false; + } + } else if (precision.equals(other.precision) == false) { + return false; + } + if (scale == null) { + if (other.scale != null) { + return false; + } + } else if (scale.equals(other.scale) == false) { + return false; + } + return true; + } + + /** + * 精度を取得する。 + * + * @return 精度 + */ + public Integer getPrecision() { + return precision; + } + + /** + * スケールを取得する。 + * + * @return スケール + */ + public Integer getScale() { + return scale; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((precision == null) ? 0 : precision.hashCode()); + result = prime * result + ((scale == null) ? 0 : scale.hashCode()); + return result; + } + + /** + * 精度を設定する。 + * + * @param precision 精度 + */ + public void setPrecision(Integer precision) { + this.precision = precision; + } + + /** + * スケールを設定する。 + * + * @param scale スケール + */ + public void setScale(Integer scale) { + this.scale = scale; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + if (precision != null) { + sb.append("("); + sb.append(precision); + if (scale != null) { + sb.append(", "); + sb.append(scale); + } + sb.append(")"); + } + return sb.toString(); + } +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/PrecisionedDataTypeAdapter.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/SerialDataTypeAdapter.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/SerialDataTypeAdapter.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/SerialDataTypeAdapter.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,97 +1,97 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/12/10 - * - * 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.datatype.adapter; - -import org.jiemamy.model.Adapter; -import org.jiemamy.model.AdapterType; -import org.jiemamy.model.datatype.DataTypeAdapter; - -/** - * シリアル(通し番号)型であることを表すアダプタ。 - * - * @author daisuke - */ - @ Adapter(AdapterType.MODEL) -public class SerialDataTypeAdapter implements DataTypeAdapter { - - /** シリアル(通し番号)型であるどうか */ - private Boolean serial; - - - public void copy(DataTypeAdapter src) { - // nothing to do - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - final SerialDataTypeAdapter other = (SerialDataTypeAdapter) obj; - if (serial == null) { - if (other.serial != null) { - return false; - } - } else if (serial.equals(other.serial) == false) { - return false; - } - return true; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((serial == null) ? 0 : serial.hashCode()); - return result; - } - - /** - * シリアル(通し番号)型であるどうかを取得する。 - * - * @return シリアル(通し番号)型であれば{@code true} - */ - public Boolean isSerial() { - return serial; - } - - /** - * シリアル(通し番号)型であるどうかを設定する。 - * - * @param serial シリアル(通し番号)型であるどうか - */ - public void setSerial(Boolean serial) { - this.serial = serial; - } - - @Override - public String toString() { - if (serial != null && serial) { - return "SERIAL"; - } - return ""; - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/12/10 + * + * 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.datatype.adapter; + +import org.jiemamy.model.Adapter; +import org.jiemamy.model.AdapterType; +import org.jiemamy.model.datatype.DataTypeAdapter; + +/** + * シリアル(通し番号)型であることを表すアダプタ。 + * + * @author daisuke + */ + @ Adapter(AdapterType.MODEL) +public class SerialDataTypeAdapter implements DataTypeAdapter { + + /** シリアル(通し番号)型であるどうか */ + private Boolean serial; + + + public void copy(DataTypeAdapter src) { + // nothing to do + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + final SerialDataTypeAdapter other = (SerialDataTypeAdapter) obj; + if (serial == null) { + if (other.serial != null) { + return false; + } + } else if (serial.equals(other.serial) == false) { + return false; + } + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((serial == null) ? 0 : serial.hashCode()); + return result; + } + + /** + * シリアル(通し番号)型であるどうかを取得する。 + * + * @return シリアル(通し番号)型であれば{@code true} + */ + public Boolean isSerial() { + return serial; + } + + /** + * シリアル(通し番号)型であるどうかを設定する。 + * + * @param serial シリアル(通し番号)型であるどうか + */ + public void setSerial(Boolean serial) { + this.serial = serial; + } + + @Override + public String toString() { + if (serial != null && serial) { + return "SERIAL"; + } + return ""; + } + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/SerialDataTypeAdapter.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/SizedDataTypeAdapter.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/SizedDataTypeAdapter.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/SizedDataTypeAdapter.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,106 +1,106 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/07/20 - * - * 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.datatype.adapter; - -import org.jiemamy.model.Adapter; -import org.jiemamy.model.AdapterType; -import org.jiemamy.model.datatype.DataTypeAdapter; - -/** - * サイズを持つDataType用のアダプタ。 - * @author daisuke - */ - @ Adapter(AdapterType.MODEL) -public class SizedDataTypeAdapter implements DataTypeAdapter { - - /** サイズ */ - private Integer size; - - - public void copy(DataTypeAdapter src) { - if (src == null) { - throw new IllegalArgumentException("The validated object is null"); - } - if (src instanceof SizedDataTypeAdapter) { - size = ((SizedDataTypeAdapter) src).size; - } else { - throw new IllegalArgumentException(src.getClass().toString() + " (expected is " + this.getClass().getName() - + ")"); - } - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - final SizedDataTypeAdapter other = (SizedDataTypeAdapter) obj; - if (size == null) { - if (other.size != null) { - return false; - } - } else if (size.equals(other.size) == false) { - return false; - } - return true; - } - - /** - * サイズを取得する。 - * - * @return サイズ - */ - public Integer getSize() { - return size; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((size == null) ? 0 : size.hashCode()); - return result; - } - - /** - * サイズを設定する。 - * - * @param size サイズ - */ - public void setSize(Integer size) { - this.size = size; - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - if (size != null) { - sb.append("("); - sb.append(size); - sb.append(")"); - } - return sb.toString(); - } -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/07/20 + * + * 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.datatype.adapter; + +import org.jiemamy.model.Adapter; +import org.jiemamy.model.AdapterType; +import org.jiemamy.model.datatype.DataTypeAdapter; + +/** + * サイズを持つDataType用のアダプタ。 + * @author daisuke + */ + @ Adapter(AdapterType.MODEL) +public class SizedDataTypeAdapter implements DataTypeAdapter { + + /** サイズ */ + private Integer size; + + + public void copy(DataTypeAdapter src) { + if (src == null) { + throw new IllegalArgumentException("The validated object is null"); + } + if (src instanceof SizedDataTypeAdapter) { + size = ((SizedDataTypeAdapter) src).size; + } else { + throw new IllegalArgumentException(src.getClass().toString() + " (expected is " + this.getClass().getName() + + ")"); + } + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + final SizedDataTypeAdapter other = (SizedDataTypeAdapter) obj; + if (size == null) { + if (other.size != null) { + return false; + } + } else if (size.equals(other.size) == false) { + return false; + } + return true; + } + + /** + * サイズを取得する。 + * + * @return サイズ + */ + public Integer getSize() { + return size; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((size == null) ? 0 : size.hashCode()); + return result; + } + + /** + * サイズを設定する。 + * + * @param size サイズ + */ + public void setSize(Integer size) { + this.size = size; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + if (size != null) { + sb.append("("); + sb.append(size); + sb.append(")"); + } + return sb.toString(); + } +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/SizedDataTypeAdapter.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/TimezonedDataTypeAdapter.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/TimezonedDataTypeAdapter.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/TimezonedDataTypeAdapter.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,107 +1,107 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/07/20 - * - * 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.datatype.adapter; - -import org.jiemamy.model.Adapter; -import org.jiemamy.model.AdapterType; -import org.jiemamy.model.datatype.DataTypeAdapter; - -/** - * タイムゾーン管理の有無を持つDataType用のアダプタ。 - * - * @author daisuke - */ - @ Adapter(AdapterType.MODEL) -public class TimezonedDataTypeAdapter implements DataTypeAdapter { - - /** タイムゾーンを管理するかどうか */ - private Boolean withTimezone; - - - public void copy(DataTypeAdapter src) { - if (src == null) { - throw new IllegalArgumentException("The validated object is null"); - } - if (src instanceof TimezonedDataTypeAdapter) { - withTimezone = ((TimezonedDataTypeAdapter) src).withTimezone; - } else { - throw new IllegalArgumentException(src.getClass().toString() + " (expected is " + this.getClass().getName() - + ")"); - } - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - final TimezonedDataTypeAdapter other = (TimezonedDataTypeAdapter) obj; - if (withTimezone == null) { - if (other.withTimezone != null) { - return false; - } - } else if (withTimezone.equals(other.withTimezone) == false) { - return false; - } - return true; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((withTimezone == null) ? 0 : withTimezone.hashCode()); - return result; - } - - /** - * タイムゾーンを管理するかどうかを取得する。 - * - * @return 精度 - */ - public Boolean isWithTimezone() { - return withTimezone; - } - - /** - * タイムゾーンを管理するかどうかを設定する。 - * - * @param withTimezone 精度 - */ - public void setWithTimezone(Boolean withTimezone) { - this.withTimezone = withTimezone; - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - if (withTimezone != null) { - sb.append(" "); - sb.append(withTimezone ? "WITH" : "WITHOUT"); - sb.append(" TIMEZONE"); - } - return sb.toString(); - } -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/07/20 + * + * 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.datatype.adapter; + +import org.jiemamy.model.Adapter; +import org.jiemamy.model.AdapterType; +import org.jiemamy.model.datatype.DataTypeAdapter; + +/** + * タイムゾーン管理の有無を持つDataType用のアダプタ。 + * + * @author daisuke + */ + @ Adapter(AdapterType.MODEL) +public class TimezonedDataTypeAdapter implements DataTypeAdapter { + + /** タイムゾーンを管理するかどうか */ + private Boolean withTimezone; + + + public void copy(DataTypeAdapter src) { + if (src == null) { + throw new IllegalArgumentException("The validated object is null"); + } + if (src instanceof TimezonedDataTypeAdapter) { + withTimezone = ((TimezonedDataTypeAdapter) src).withTimezone; + } else { + throw new IllegalArgumentException(src.getClass().toString() + " (expected is " + this.getClass().getName() + + ")"); + } + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + final TimezonedDataTypeAdapter other = (TimezonedDataTypeAdapter) obj; + if (withTimezone == null) { + if (other.withTimezone != null) { + return false; + } + } else if (withTimezone.equals(other.withTimezone) == false) { + return false; + } + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((withTimezone == null) ? 0 : withTimezone.hashCode()); + return result; + } + + /** + * タイムゾーンを管理するかどうかを取得する。 + * + * @return 精度 + */ + public Boolean isWithTimezone() { + return withTimezone; + } + + /** + * タイムゾーンを管理するかどうかを設定する。 + * + * @param withTimezone 精度 + */ + public void setWithTimezone(Boolean withTimezone) { + this.withTimezone = withTimezone; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + if (withTimezone != null) { + sb.append(" "); + sb.append(withTimezone ? "WITH" : "WITHOUT"); + sb.append(" TIMEZONE"); + } + return sb.toString(); + } +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/TimezonedDataTypeAdapter.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/package-info.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/package-info.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/package-info.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,9 +1,9 @@ -/** - * Jiemamyモデルの「データ型」に対する基本的なアダプタの実装を提供するパッケージ。 - * - * <p>このパッケージは、データ型に対する拡張を行うアダプタクラスを含む。</p> - * - * @author daisuke - */ -package org.jiemamy.model.datatype.adapter; - +/** + * Jiemamyモデルの「データ型」に対する基本的なアダプタの実装を提供するパッケージ。 + * + * <p>このパッケージは、データ型に対する拡張を行うアダプタクラスを含む。</p> + * + * @author daisuke + */ +package org.jiemamy.model.datatype.adapter; + Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/adapter/package-info.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/package-info.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/package-info.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/package-info.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,56 +1,56 @@ -/** - * Jiemamyモデルのうち、主に「データ型」を定義するパッケージ。 - * - * <p>{@link org.jiemamy.model.datatype.DataType}を基底にして、 - * 組み込みデータ型やドメインなどのサブインターフェイスを定義している。</p> - * - * <p>データ型は、Jiemamyモデルの中で最も複雑な構成となっている。declarationとreferenceの概念について - * ({@link org.jiemamy.model.JiemamyElement}参照)理解した上で把握するとよい。</p> - * - * <p>{@link org.jiemamy.model.entity.TableRef}は{@link org.jiemamy.model.entity.TableModel}のreferenceである。 - * これと同じ考え方で、 {@link org.jiemamy.model.datatype.DomainRef}は {@link org.jiemamy.model.datatype.DomainModel} - * のreferenceである。</p> - * - * <p>DB組み込みデータ型がカラムの型として設定される際、組み込みデータ型は定義されるわけではなく、組み込みデータ型を参照するだけで - * あるため、{@link org.jiemamy.model.attribute.ColumnModel#getDataType()}により取得できるデータ型は、 - * {@link org.jiemamy.model.datatype.BuiltinDataType}となり、この{@link org.jiemamy.model.datatype.BuiltinDataType}が - * {@link org.jiemamy.model.datatype.DataType}のサブインターフェイスとなっている。 </p> - * - * <p>ドメインがカラムの型として設定される際、ドメインは定義されるわけではなく、ドメイン定義を参照するだけであるため、 - * {@link org.jiemamy.model.attribute.ColumnModel#getDataType()}により取得できるデータ型は、{@link org.jiemamy.model.datatype.DomainRef} - * となり、この{@link org.jiemamy.model.datatype.DomainRef}が{@link org.jiemamy.model.datatype.DataType}のサブ - * インターフェイスとなっている。 </p> - * - * <p>表にまとめると、以下の通り</p> - * - * <table border> - * <tr> - * <th>概念</th> - * <th>宣言型 declaration</th> - * <th>参照型 reference</th> - * </tr> - * <tr> - * <td>テーブル</td> - * <td>{@link org.jiemamy.model.entity.TableModel}</td> - * <td>{@link org.jiemamy.model.entity.TableRef}</td> - * </tr> - * <tr> - * <td>ドメイン</td> - * <td>{@link org.jiemamy.model.datatype.DomainModel}</td> - * <td>{@link org.jiemamy.model.datatype.DomainRef} implements {@link org.jiemamy.model.datatype.DataType}</td> - * </tr> - * <tr> - * <td>組み込みデータ型</td> - * <td>(オブジェクト化されていない)</td> - * <td>{@link org.jiemamy.model.datatype.BuiltinDataType} implements {@link org.jiemamy.model.datatype.DataType}</td> - * </tr> - * </table> - * - * <p>全体把握の際は、このパッケージの次に{@code org.jiemamy.model.index}パッケージを把握するとよい。</p> - * - * @author daisuke - * @see org.jiemamy.model.JiemamyElement - * @see org.jiemamy.model.ElementReference - */ -package org.jiemamy.model.datatype; - +/** + * Jiemamyモデルのうち、主に「データ型」を定義するパッケージ。 + * + * <p>{@link org.jiemamy.model.datatype.DataType}を基底にして、 + * 組み込みデータ型やドメインなどのサブインターフェイスを定義している。</p> + * + * <p>データ型は、Jiemamyモデルの中で最も複雑な構成となっている。declarationとreferenceの概念について + * ({@link org.jiemamy.model.JiemamyElement}参照)理解した上で把握するとよい。</p> + * + * <p>{@link org.jiemamy.model.entity.TableRef}は{@link org.jiemamy.model.entity.TableModel}のreferenceである。 + * これと同じ考え方で、 {@link org.jiemamy.model.datatype.DomainRef}は {@link org.jiemamy.model.datatype.DomainModel} + * のreferenceである。</p> + * + * <p>DB組み込みデータ型がカラムの型として設定される際、組み込みデータ型は定義されるわけではなく、組み込みデータ型を参照するだけで + * あるため、{@link org.jiemamy.model.attribute.ColumnModel#getDataType()}により取得できるデータ型は、 + * {@link org.jiemamy.model.datatype.BuiltinDataType}となり、この{@link org.jiemamy.model.datatype.BuiltinDataType}が + * {@link org.jiemamy.model.datatype.DataType}のサブインターフェイスとなっている。 </p> + * + * <p>ドメインがカラムの型として設定される際、ドメインは定義されるわけではなく、ドメイン定義を参照するだけであるため、 + * {@link org.jiemamy.model.attribute.ColumnModel#getDataType()}により取得できるデータ型は、{@link org.jiemamy.model.datatype.DomainRef} + * となり、この{@link org.jiemamy.model.datatype.DomainRef}が{@link org.jiemamy.model.datatype.DataType}のサブ + * インターフェイスとなっている。 </p> + * + * <p>表にまとめると、以下の通り</p> + * + * <table border> + * <tr> + * <th>概念</th> + * <th>宣言型 declaration</th> + * <th>参照型 reference</th> + * </tr> + * <tr> + * <td>テーブル</td> + * <td>{@link org.jiemamy.model.entity.TableModel}</td> + * <td>{@link org.jiemamy.model.entity.TableRef}</td> + * </tr> + * <tr> + * <td>ドメイン</td> + * <td>{@link org.jiemamy.model.datatype.DomainModel}</td> + * <td>{@link org.jiemamy.model.datatype.DomainRef} implements {@link org.jiemamy.model.datatype.DataType}</td> + * </tr> + * <tr> + * <td>組み込みデータ型</td> + * <td>(オブジェクト化されていない)</td> + * <td>{@link org.jiemamy.model.datatype.BuiltinDataType} implements {@link org.jiemamy.model.datatype.DataType}</td> + * </tr> + * </table> + * + * <p>全体把握の際は、このパッケージの次に{@code org.jiemamy.model.index}パッケージを把握するとよい。</p> + * + * @author daisuke + * @see org.jiemamy.model.JiemamyElement + * @see org.jiemamy.model.ElementReference + */ +package org.jiemamy.model.datatype; + Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/datatype/package-info.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/EntityModel.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/EntityModel.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/EntityModel.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,162 +1,162 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/09/17 - * - * 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.entity; - -import java.util.Collection; - -import org.jiemamy.model.JiemamyElement; -import org.jiemamy.model.script.AroundScript; -import org.jiemamy.utils.Advisable; - -/** - * リレーショナルデータベースモデルにおける「実体」を表すモデルインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface EntityModel extends JiemamyElement, Advisable<EntityModel> { - - /** - * このエンティティ<b>に</b>依存しているエンティティ(A → {@code this})の集合を取得する。 - * - * <ul> - * <li>外部キー制約によってこのエンティティを参照しているテーブル</li> - * <li>このエンティティに依存したビュー</li> - * </ul> - * - * @param recursive 再帰的に検索する場合は{@code true}、そうでない場合は{@code false} - * @return エンティティの集合 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 - */ - Collection<EntityModel> findSubEntities(boolean recursive); - - /** - * このエンティティ<b>が</b>依存している({@code this} → A)エンティティの集合を取得する。 - * - * <ul> - * <li>このテーブルの外部キー制約が参照しているテーブル</li> - * <li>このビューが参照しているテーブル</li> - * </ul> - * - * @param recursive 再帰的に検索する場合は{@code true}、そうでない場合は{@code false} - * @return エンティティの集合 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 - */ - Collection<EntityModel> findSuperEntities(boolean recursive); - - /** - * 開始スクリプトを取得する。 - * - * @return 開始スクリプト. 未設定の場合は{@code null} - * @since 0.3 - * @deprecated use {@link #getAroundScript()} and {@link AroundScript#getScript(org.jiemamy.model.script.Position)} - */ - @Deprecated - String getBeginScript(); - - /** - * 説明文を取得する。 - * - * @return 説明文. 未設定の場合は{@code null} - * @since 0.2 - */ - String getDescription(); - - /** - * 終了スクリプトを取得する。 - * - * @return 終了スクリプト. 未設定の場合は{@code null} - * @since 0.3 - * @deprecated use {@link #getAroundScript()} and {@link AroundScript#getScript(org.jiemamy.model.script.Position)} - */ - @Deprecated - String getEndScript(); - - /** - * 論理名を取得する。 - * - * @return 論理名. 未設定の場合は{@code null} - * @since 0.2 - */ - String getLogicalName(); - - /** - * エンティティ名を取得する。 - * - * @return エンティティ名. 未設定の場合は{@code null} - * @since 0.2 - */ - String getName(); - - /** - * 開始スクリプトを設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param beginScript 開始スクリプト - * @since 0.2 - * @deprecated use {@link #getAroundScript()} and {@link AroundScript#setScript(org.jiemamy.model.script.Position, String)} - */ - @Deprecated - void setBeginScript(String beginScript); - - /** - * 説明文を設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param description 説明文 - * @since 0.2 - */ - void setDescription(String description); - - /** - * 終了スクリプトを設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param endScript 終了スクリプト - * @since 0.2 - * @deprecated use {@link #getAroundScript()} and {@link AroundScript#setScript(org.jiemamy.model.script.Position, String)} - */ - @Deprecated - void setEndScript(String endScript); - - /** - * 論理名を設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param logicalName 論理名 - * @since 0.2 - */ - void setLogicalName(String logicalName); - - /** - * エンティティ名を設定する。 - * - * <p>未設定とする場合は{@code null}を与えるが、モデルとしては無効となる。</p> - * - * @param name エンティティ名 - * @since 0.2 - */ - void setName(String name); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/09/17 + * + * 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.entity; + +import java.util.Collection; + +import org.jiemamy.model.JiemamyElement; +import org.jiemamy.model.script.AroundScript; +import org.jiemamy.utils.Advisable; + +/** + * リレーショナルデータベースモデルにおける「実体」を表すモデルインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface EntityModel extends JiemamyElement, Advisable<EntityModel> { + + /** + * このエンティティ<b>に</b>依存しているエンティティ(A → {@code this})の集合を取得する。 + * + * <ul> + * <li>外部キー制約によってこのエンティティを参照しているテーブル</li> + * <li>このエンティティに依存したビュー</li> + * </ul> + * + * @param recursive 再帰的に検索する場合は{@code true}、そうでない場合は{@code false} + * @return エンティティの集合 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 + */ + Collection<EntityModel> findSubEntities(boolean recursive); + + /** + * このエンティティ<b>が</b>依存している({@code this} → A)エンティティの集合を取得する。 + * + * <ul> + * <li>このテーブルの外部キー制約が参照しているテーブル</li> + * <li>このビューが参照しているテーブル</li> + * </ul> + * + * @param recursive 再帰的に検索する場合は{@code true}、そうでない場合は{@code false} + * @return エンティティの集合 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 + */ + Collection<EntityModel> findSuperEntities(boolean recursive); + + /** + * 開始スクリプトを取得する。 + * + * @return 開始スクリプト. 未設定の場合は{@code null} + * @since 0.3 + * @deprecated use {@link #getAroundScript()} and {@link AroundScript#getScript(org.jiemamy.model.script.Position)} + */ + @Deprecated + String getBeginScript(); + + /** + * 説明文を取得する。 + * + * @return 説明文. 未設定の場合は{@code null} + * @since 0.2 + */ + String getDescription(); + + /** + * 終了スクリプトを取得する。 + * + * @return 終了スクリプト. 未設定の場合は{@code null} + * @since 0.3 + * @deprecated use {@link #getAroundScript()} and {@link AroundScript#getScript(org.jiemamy.model.script.Position)} + */ + @Deprecated + String getEndScript(); + + /** + * 論理名を取得する。 + * + * @return 論理名. 未設定の場合は{@code null} + * @since 0.2 + */ + String getLogicalName(); + + /** + * エンティティ名を取得する。 + * + * @return エンティティ名. 未設定の場合は{@code null} + * @since 0.2 + */ + String getName(); + + /** + * 開始スクリプトを設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param beginScript 開始スクリプト + * @since 0.2 + * @deprecated use {@link #getAroundScript()} and {@link AroundScript#setScript(org.jiemamy.model.script.Position, String)} + */ + @Deprecated + void setBeginScript(String beginScript); + + /** + * 説明文を設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param description 説明文 + * @since 0.2 + */ + void setDescription(String description); + + /** + * 終了スクリプトを設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param endScript 終了スクリプト + * @since 0.2 + * @deprecated use {@link #getAroundScript()} and {@link AroundScript#setScript(org.jiemamy.model.script.Position, String)} + */ + @Deprecated + void setEndScript(String endScript); + + /** + * 論理名を設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param logicalName 論理名 + * @since 0.2 + */ + void setLogicalName(String logicalName); + + /** + * エンティティ名を設定する。 + * + * <p>未設定とする場合は{@code null}を与えるが、モデルとしては無効となる。</p> + * + * @param name エンティティ名 + * @since 0.2 + */ + void setName(String name); +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/EntityModel.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/TableModel.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/TableModel.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/TableModel.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,160 +1,160 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/09/17 - * - * 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.entity; - -import java.util.List; - -import org.jiemamy.exception.ElementNotFoundException; -import org.jiemamy.exception.TooManyElementsException; -import org.jiemamy.model.attribute.AttributeModel; -import org.jiemamy.model.attribute.ColumnModel; -import org.jiemamy.model.attribute.constraint.ForeignKey; -import org.jiemamy.model.attribute.constraint.PrimaryKey; -import org.jiemamy.model.index.IndexModel; - -/** - * リレーショナルデータベースにおける「テーブル」を表すモデルインターフェイス。 - * - * @author daisuke - */ -public interface TableModel extends EntityModel { - - /** - * 指定した型を持つ属性を取得する。 - * - * @param <T> 属性の型 - * @param clazz 属性の型 - * @return 属性 - * @throws TooManyElementsException 複数の属性が見つかった場合 - * @throws ElementNotFoundException 属性が見つからなかった場合 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 - */ - <T extends AttributeModel>T findAttribute(Class<T> clazz); - - /** - * 指定した型を持つ属性を取得する。 - * - * @param <T> 属性の型 - * @param clazz 属性の型 - * @param columnAttr カラム属性も検索対象とする場合は{@code true}、そうでない場合は{@code false} - * @return 属性 - * @throws TooManyElementsException 複数の属性が見つかった場合 - * @throws ElementNotFoundException 属性が見つからなかった場合 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 - */ - <T extends AttributeModel>T findAttribute(Class<T> clazz, boolean columnAttr); - - /** - * 指定した型を持つ属性のリストを取得する。 - * - * <p>返される{@link List}は他に影響を及ぼさない独立したインスタンスである。</p> - * - * @param <T> 属性の型 - * @param clazz 検索する型 - * @return 属性のリスト - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 - */ - <T extends AttributeModel>List<T> findAttributes(Class<T> clazz); - - /** - * 指定した型を持つ属性のリストを取得する。 - * - * <p>返される{@link List}は他に影響を及ぼさない独立したインスタンスである。</p> - * - * @param <T> 属性の型 - * @param clazz 検索する型 - * @param columnAttr カラム属性も検索対象とする場合は{@code true}、そうでない場合は{@code false} - * @return 属性のリスト - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 - */ - <T extends AttributeModel>List<T> findAttributes(Class<T> clazz, boolean columnAttr); - - /** - * 指定した名前を持つカラムを取得する。 - * - * @param columnName カラム名 - * @return 見つかったカラム - * @throws TooManyElementsException 同名のカラムが複数見つかった場合 - * @throws ElementNotFoundException カラムが見つからなかった場合 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 - */ - ColumnModel findColumn(String columnName); - - /** - * カラムのリストを取得する。 - * - * <p>返される{@link List}は他に影響を及ぼさない独立したインスタンスである。</p> - * - * @return カラムのリスト - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 - */ - List<ColumnModel> findColumns(); - - /** - * 外部キー制約のリストを取得する。 - * - * <p>返される{@link List}は他に影響を及ぼさない独立したインスタンスである。</p> - * - * @return 外部キー制約のリスト - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 - */ - List<ForeignKey> findForeignKeys(); - - /** - * このテーブルの主キーを取得する。 - * - * <p>テーブルに対して設定された主キーだけではなく、カラムに対して設定された主キーも検索対象となる。</p> - * - * @return 主キー - * @throws TooManyElementsException 複数の主キーが見つかった場合 - * @throws ElementNotFoundException 主キーが存在しない場合 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 - */ - PrimaryKey findPrimaryKey(); - - /** - * 属性のリストを取得する。 - * - * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link List}を直接操作することで、 - * このオブジェクトのフィールドとして保持される{@link List}を変更することができる。</p> - * - * @return 属性のリスト - * @since 0.2 - */ - List<AttributeModel> getAttributes(); - - /** - * インデックスのリストを取得する。 - * - * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link List}を直接操作することで、 - * このオブジェクトのフィールドとして保持される{@link List}を変更することができる。</p> - * - * @return インデックスのリスト - * @since 0.2 - */ - List<IndexModel> getIndexes(); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/09/17 + * + * 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.entity; + +import java.util.List; + +import org.jiemamy.exception.ElementNotFoundException; +import org.jiemamy.exception.TooManyElementsException; +import org.jiemamy.model.attribute.AttributeModel; +import org.jiemamy.model.attribute.ColumnModel; +import org.jiemamy.model.attribute.constraint.ForeignKey; +import org.jiemamy.model.attribute.constraint.PrimaryKey; +import org.jiemamy.model.index.IndexModel; + +/** + * リレーショナルデータベースにおける「テーブル」を表すモデルインターフェイス。 + * + * @author daisuke + */ +public interface TableModel extends EntityModel { + + /** + * 指定した型を持つ属性を取得する。 + * + * @param <T> 属性の型 + * @param clazz 属性の型 + * @return 属性 + * @throws TooManyElementsException 複数の属性が見つかった場合 + * @throws ElementNotFoundException 属性が見つからなかった場合 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 + */ + <T extends AttributeModel>T findAttribute(Class<T> clazz); + + /** + * 指定した型を持つ属性を取得する。 + * + * @param <T> 属性の型 + * @param clazz 属性の型 + * @param columnAttr カラム属性も検索対象とする場合は{@code true}、そうでない場合は{@code false} + * @return 属性 + * @throws TooManyElementsException 複数の属性が見つかった場合 + * @throws ElementNotFoundException 属性が見つからなかった場合 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 + */ + <T extends AttributeModel>T findAttribute(Class<T> clazz, boolean columnAttr); + + /** + * 指定した型を持つ属性のリストを取得する。 + * + * <p>返される{@link List}は他に影響を及ぼさない独立したインスタンスである。</p> + * + * @param <T> 属性の型 + * @param clazz 検索する型 + * @return 属性のリスト + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 + */ + <T extends AttributeModel>List<T> findAttributes(Class<T> clazz); + + /** + * 指定した型を持つ属性のリストを取得する。 + * + * <p>返される{@link List}は他に影響を及ぼさない独立したインスタンスである。</p> + * + * @param <T> 属性の型 + * @param clazz 検索する型 + * @param columnAttr カラム属性も検索対象とする場合は{@code true}、そうでない場合は{@code false} + * @return 属性のリスト + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 + */ + <T extends AttributeModel>List<T> findAttributes(Class<T> clazz, boolean columnAttr); + + /** + * 指定した名前を持つカラムを取得する。 + * + * @param columnName カラム名 + * @return 見つかったカラム + * @throws TooManyElementsException 同名のカラムが複数見つかった場合 + * @throws ElementNotFoundException カラムが見つからなかった場合 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 + */ + ColumnModel findColumn(String columnName); + + /** + * カラムのリストを取得する。 + * + * <p>返される{@link List}は他に影響を及ぼさない独立したインスタンスである。</p> + * + * @return カラムのリスト + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 + */ + List<ColumnModel> findColumns(); + + /** + * 外部キー制約のリストを取得する。 + * + * <p>返される{@link List}は他に影響を及ぼさない独立したインスタンスである。</p> + * + * @return 外部キー制約のリスト + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 + */ + List<ForeignKey> findForeignKeys(); + + /** + * このテーブルの主キーを取得する。 + * + * <p>テーブルに対して設定された主キーだけではなく、カラムに対して設定された主キーも検索対象となる。</p> + * + * @return 主キー + * @throws TooManyElementsException 複数の主キーが見つかった場合 + * @throws ElementNotFoundException 主キーが存在しない場合 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws UnsupportedOperationException 実装がこのメソッドをサポートしない場合 + */ + PrimaryKey findPrimaryKey(); + + /** + * 属性のリストを取得する。 + * + * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link List}を直接操作することで、 + * このオブジェクトのフィールドとして保持される{@link List}を変更することができる。</p> + * + * @return 属性のリスト + * @since 0.2 + */ + List<AttributeModel> getAttributes(); + + /** + * インデックスのリストを取得する。 + * + * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link List}を直接操作することで、 + * このオブジェクトのフィールドとして保持される{@link List}を変更することができる。</p> + * + * @return インデックスのリスト + * @since 0.2 + */ + List<IndexModel> getIndexes(); +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/TableModel.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/TableRef.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/TableRef.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/TableRef.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,31 +1,31 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/01/19 - * - * 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.entity; - -import org.jiemamy.model.ElementReference; - -/** - * {@link TableModel}の参照オブジェクト。 - * - * @since 0.2 - * @author daisuke - */ -public interface TableRef extends ElementReference<TableModel> { - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/01/19 + * + * 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.entity; + +import org.jiemamy.model.ElementReference; + +/** + * {@link TableModel}の参照オブジェクト。 + * + * @since 0.2 + * @author daisuke + */ +public interface TableRef extends ElementReference<TableModel> { + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/TableRef.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/ViewModel.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/ViewModel.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/ViewModel.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,47 +1,47 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/09/17 - * - * 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.entity; - -/** - * リレーショナルデータベースにおける「ビュー」を表すモデルインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface ViewModel extends EntityModel { - - /** - * VIEW定義SELECT文を取得する。 - * - * @return VIEW定義SELECT文. 未設定の場合は{@code null} - * @since 0.2 - */ - String getDefinition(); - - /** - * VIEW定義SELECT文を設定する。 - * - * <p>未設定とする場合は{@code null}を与えるが、モデルとしては無効となる。</p> - * - * @param definition VIEW定義SELECT文 - * @since 0.2 - */ - void setDefinition(String definition); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/09/17 + * + * 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.entity; + +/** + * リレーショナルデータベースにおける「ビュー」を表すモデルインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface ViewModel extends EntityModel { + + /** + * VIEW定義SELECT文を取得する。 + * + * @return VIEW定義SELECT文. 未設定の場合は{@code null} + * @since 0.2 + */ + String getDefinition(); + + /** + * VIEW定義SELECT文を設定する。 + * + * <p>未設定とする場合は{@code null}を与えるが、モデルとしては無効となる。</p> + * + * @param definition VIEW定義SELECT文 + * @since 0.2 + */ + void setDefinition(String definition); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/ViewModel.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/package-info.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/package-info.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/package-info.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,12 +1,12 @@ -/** - * Jiemamyモデルのうち、データベースモデルの「実体」(テーブルやビュー)を定義するパッケージ。 - * - * <p>{@link org.jiemamy.model.entity.EntityModel}を基底にして、 - * テーブルなどのサブインターフェイスを定義している。</p> - * - * <p>全体把握の際は、このパッケージの次に{@code org.jiemamy.model.attribute}パッケージを把握するとよい。</p> - * - * @author daisuke - */ -package org.jiemamy.model.entity; - +/** + * Jiemamyモデルのうち、データベースモデルの「実体」(テーブルやビュー)を定義するパッケージ。 + * + * <p>{@link org.jiemamy.model.entity.EntityModel}を基底にして、 + * テーブルなどのサブインターフェイスを定義している。</p> + * + * <p>全体把握の際は、このパッケージの次に{@code org.jiemamy.model.attribute}パッケージを把握するとよい。</p> + * + * @author daisuke + */ +package org.jiemamy.model.entity; + Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/entity/package-info.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/index/IndexColumnModel.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/index/IndexColumnModel.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/index/IndexColumnModel.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,83 +1,83 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/09/17 - * - * 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.index; - -import org.jiemamy.model.JiemamyElement; -import org.jiemamy.model.attribute.ColumnRef; - -/** - * インデックス対象のカラムを表すモデルインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface IndexColumnModel extends JiemamyElement { - - /** - * インデックス対象カラムを取得する。 - * - * @return インデックス対象カラム. 未設定の場合は{@code null} - * @since 0.2 - */ - ColumnRef getColumnRef(); - - /** - * カラムソート方式を取得する。 - * - * @return カラムソート方式. 未設定の場合は{@code null} - * @since 0.2 - */ - SortOrder getSortOrder(); - - /** - * インデックス対象カラムを設定する。 - * - * <p>未設定とする場合は{@code null}を与えるが、モデルとしては無効となる。</p> - * - * @param column インデックス対象カラム - * @since 0.2 - */ - void setColumnRef(ColumnRef column); - - /** - * カラムソート方式を設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param sortType カラムソート方式 - * @since 0.2 - */ - void setSortOrder(SortOrder sortType); - - - /** - * ソート順を表す列挙型。 - * - * @since 0.2 - * @author daisuke - */ - public static enum SortOrder { - - /** 昇順ソート */ - ASC, - - /** 降順ソート */ - DESC - } -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/09/17 + * + * 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.index; + +import org.jiemamy.model.JiemamyElement; +import org.jiemamy.model.attribute.ColumnRef; + +/** + * インデックス対象のカラムを表すモデルインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface IndexColumnModel extends JiemamyElement { + + /** + * インデックス対象カラムを取得する。 + * + * @return インデックス対象カラム. 未設定の場合は{@code null} + * @since 0.2 + */ + ColumnRef getColumnRef(); + + /** + * カラムソート方式を取得する。 + * + * @return カラムソート方式. 未設定の場合は{@code null} + * @since 0.2 + */ + SortOrder getSortOrder(); + + /** + * インデックス対象カラムを設定する。 + * + * <p>未設定とする場合は{@code null}を与えるが、モデルとしては無効となる。</p> + * + * @param column インデックス対象カラム + * @since 0.2 + */ + void setColumnRef(ColumnRef column); + + /** + * カラムソート方式を設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param sortType カラムソート方式 + * @since 0.2 + */ + void setSortOrder(SortOrder sortType); + + + /** + * ソート順を表す列挙型。 + * + * @since 0.2 + * @author daisuke + */ + public static enum SortOrder { + + /** 昇順ソート */ + ASC, + + /** 降順ソート */ + DESC + } +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/index/IndexColumnModel.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/index/IndexModel.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/index/IndexModel.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/index/IndexModel.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,77 +1,77 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/09/17 - * - * 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.index; - -import java.util.List; - -import org.jiemamy.model.JiemamyElement; - -/** - * インデックスを表すモデルインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface IndexModel extends JiemamyElement { - - /** - * インデックスカラムのリストを取得する。 - * - * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link List}を直接操作することで、 - * このオブジェクトのフィールドとして保持される{@link List}を変更することができる。</p> - * - * @return インデックスカラムのリスト - * @since 0.2 - */ - List<IndexColumnModel> getIndexColumns(); - - /** - * インデックス名を取得する。 - * - * @return インデックス名. 未設定の場合は{@code null} - * @since 0.2 - */ - String getName(); - - /** - * ユニークインデックスか否かを取得する。 - * - * @return ユニークインデックスか否か - * @since 0.2 - */ - boolean isUnique(); - - /** - * インデックス名を設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param name インデックス名 - * @since 0.2 - */ - void setName(String name); - - /** - * ユニークインデックスか否かを設定する。 - * - * @param unique ユニークインデックスか否か - * @since 0.2 - */ - void setUnique(boolean unique); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/09/17 + * + * 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.index; + +import java.util.List; + +import org.jiemamy.model.JiemamyElement; + +/** + * インデックスを表すモデルインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface IndexModel extends JiemamyElement { + + /** + * インデックスカラムのリストを取得する。 + * + * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link List}を直接操作することで、 + * このオブジェクトのフィールドとして保持される{@link List}を変更することができる。</p> + * + * @return インデックスカラムのリスト + * @since 0.2 + */ + List<IndexColumnModel> getIndexColumns(); + + /** + * インデックス名を取得する。 + * + * @return インデックス名. 未設定の場合は{@code null} + * @since 0.2 + */ + String getName(); + + /** + * ユニークインデックスか否かを取得する。 + * + * @return ユニークインデックスか否か + * @since 0.2 + */ + boolean isUnique(); + + /** + * インデックス名を設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param name インデックス名 + * @since 0.2 + */ + void setName(String name); + + /** + * ユニークインデックスか否かを設定する。 + * + * @param unique ユニークインデックスか否か + * @since 0.2 + */ + void setUnique(boolean unique); +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/index/IndexModel.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/index/package-info.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/index/package-info.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/index/package-info.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,9 +1,9 @@ -/** - * Jiemamyモデルのうち、主にテーブルに対する「インデックス」を定義するパッケージ。 - * - * <p>全体把握の際は、このパッケージの次に{@code org.jiemamy.model.dataset}パッケージを把握するとよい。</p> - * - * @author daisuke - */ -package org.jiemamy.model.index; - +/** + * Jiemamyモデルのうち、主にテーブルに対する「インデックス」を定義するパッケージ。 + * + * <p>全体把握の際は、このパッケージの次に{@code org.jiemamy.model.dataset}パッケージを把握するとよい。</p> + * + * @author daisuke + */ +package org.jiemamy.model.index; + Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/index/package-info.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/package-info.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/package-info.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/package-info.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,15 +1,15 @@ -/** - * Jiemamyモデル(DBの状態=スキーマ及びデータ)を定義するパッケージ。 - * - * <p>このパッケージ以下が、Jiemamyの主要な仕様となっている。 - * その時点で有効な(意味を成す=孤児でない)全てのモデルは {@link org.jiemamy.model.RootModel} を起点に辿る事ができる。 - * ユーザはこの {@link org.jiemamy.model.RootModel} を中心に各種モデル操作を行う。</p> - * - * <p>多くのモデルは {@link org.jiemamy.model.JiemamyElement}インターフェイスを実装している。</p> - * - * <p>全体把握の際は、このパッケージの次に{@code org.jiemamy.model.entity}パッケージを把握するとよい。</p> - * - * @author daisuke - */ -package org.jiemamy.model; - +/** + * Jiemamyモデル(DBの状態=スキーマ及びデータ)を定義するパッケージ。 + * + * <p>このパッケージ以下が、Jiemamyの主要な仕様となっている。 + * その時点で有効な(意味を成す=孤児でない)全てのモデルは {@link org.jiemamy.model.RootModel} を起点に辿る事ができる。 + * ユーザはこの {@link org.jiemamy.model.RootModel} を中心に各種モデル操作を行う。</p> + * + * <p>多くのモデルは {@link org.jiemamy.model.JiemamyElement}インターフェイスを実装している。</p> + * + * <p>全体把握の際は、このパッケージの次に{@code org.jiemamy.model.entity}パッケージを把握するとよい。</p> + * + * @author daisuke + */ +package org.jiemamy.model; + Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/package-info.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/script/AroundScript.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/script/AroundScript.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/script/AroundScript.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,81 +1,81 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/09/14 - * - * 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.script; - -import org.jiemamy.ServiceLocator; -import org.jiemamy.utils.Advisable; - -/** - * 開始/終了スクリプトモデル。 - * - * @param <T> 周辺スクリプト挿入対象モデルの型 - * @since 0.3 - * @author daisuke - */ -public interface AroundScript<T extends Advisable<?>> { - - /** - * スクリプトを取得する。 - * - * @param position スクリプト挿入位置 - * @return スクリプト - * @since 0.3 - */ - String getScript(Position position); - - /** - * スクリプトエンジンのクラス名を取得する。 - * - * @param position スクリプト挿入位置 - * @return スクリプトエンジンのクラス名 - * @since 0.3 - */ - String getScriptEngineClassName(Position position); - - /** - * スクリプトを実行し、結果を得る。 - * - * @param serviceLocator サービスロケータ - * @param position スクリプト挿入位置 - * @param target 周辺スクリプト挿入対象モデル - * @return スクリプト実行結果 - * @throws ClassNotFoundException スクリプトエンジンのクラスが解決できない場合 - * @since 0.3 - */ - String process(ServiceLocator serviceLocator, Position position, T target) throws ClassNotFoundException; - - /** - * スクリプトを設定する。 - * - * @param position スクリプト挿入位置 - * @param script スクリプト - * @since 0.3 - */ - void setScript(Position position, String script); - - /** - * スクリプトエンジンのクラス名を設定する。 - * - * @param position スクリプト挿入位置 - * @param scriptEngineClassName スクリプトエンジンのクラス名 - * @since 0.3 - */ - void setScriptEngineClassName(Position position, String scriptEngineClassName); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/09/14 + * + * 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.script; + +import org.jiemamy.ServiceLocator; +import org.jiemamy.utils.Advisable; + +/** + * 開始/終了スクリプトモデル。 + * + * @param <T> 周辺スクリプト挿入対象モデルの型 + * @since 0.3 + * @author daisuke + */ +public interface AroundScript<T extends Advisable<?>> { + + /** + * スクリプトを取得する。 + * + * @param position スクリプト挿入位置 + * @return スクリプト + * @since 0.3 + */ + String getScript(Position position); + + /** + * スクリプトエンジンのクラス名を取得する。 + * + * @param position スクリプト挿入位置 + * @return スクリプトエンジンのクラス名 + * @since 0.3 + */ + String getScriptEngineClassName(Position position); + + /** + * スクリプトを実行し、結果を得る。 + * + * @param serviceLocator サービスロケータ + * @param position スクリプト挿入位置 + * @param target 周辺スクリプト挿入対象モデル + * @return スクリプト実行結果 + * @throws ClassNotFoundException スクリプトエンジンのクラスが解決できない場合 + * @since 0.3 + */ + String process(ServiceLocator serviceLocator, Position position, T target) throws ClassNotFoundException; + + /** + * スクリプトを設定する。 + * + * @param position スクリプト挿入位置 + * @param script スクリプト + * @since 0.3 + */ + void setScript(Position position, String script); + + /** + * スクリプトエンジンのクラス名を設定する。 + * + * @param position スクリプト挿入位置 + * @param scriptEngineClassName スクリプトエンジンのクラス名 + * @since 0.3 + */ + void setScriptEngineClassName(Position position, String scriptEngineClassName); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/script/AroundScript.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/script/Position.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/script/Position.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/script/Position.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,34 +1,34 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/09/19 - * - * 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.script; - -/** - * 周辺スクリプトの挿入位置をあらわす列挙型。 - * - * @since 0.3 - * @author daisuke - */ -public enum Position { - - /** 開始スクリプト */ - BEGIN, - - /** 終了スクリプト */ - END -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/09/19 + * + * 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.script; + +/** + * 周辺スクリプトの挿入位置をあらわす列挙型。 + * + * @since 0.3 + * @author daisuke + */ +public enum Position { + + /** 開始スクリプト */ + BEGIN, + + /** 終了スクリプト */ + END +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/script/Position.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/script/ScriptEngine.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/script/ScriptEngine.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/script/ScriptEngine.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,41 +1,41 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/09/14 - * - * 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.script; - -import org.jiemamy.utils.Advisable; - -/** - * スクリプトの処理エンジンインターフェイス。 - * - * @since 0.3 - * @author daisuke - */ -public interface ScriptEngine { - - /** - * 周辺スクリプトを実行し、結果を得る。 - * - * @param target 周辺スクリプト挿入対象モデル - * @param script 実行するスクリプト - * @return スクリプト実行結果 - * @since 0.3 - */ - String process(Advisable<?> target, String script); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/09/14 + * + * 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.script; + +import org.jiemamy.utils.Advisable; + +/** + * スクリプトの処理エンジンインターフェイス。 + * + * @since 0.3 + * @author daisuke + */ +public interface ScriptEngine { + + /** + * 周辺スクリプトを実行し、結果を得る。 + * + * @param target 周辺スクリプト挿入対象モデル + * @param script 実行するスクリプト + * @return スクリプト実行結果 + * @since 0.3 + */ + String process(Advisable<?> target, String script); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/script/ScriptEngine.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/sql/SqlStatement.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/sql/SqlStatement.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/sql/SqlStatement.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,64 +1,64 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/12/04 - * - * 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.sql; - -import java.util.List; - -import org.jiemamy.formatter.SqlFormatter; - -/** - * SQL文をあらわすインターフェイス。 - * - * <p>このインターフェイスの実装は、各DB実装に依存している。</p> - * - * @since 0.2 - * @author daisuke - */ -public interface SqlStatement { - - /** - * SQL文に変換する。 - * - * <p>変換ロジックには、環境によって定められたデフォルトのロジックが用いられる。</p> - * - * @return SQL文 - * @since 0.2 - */ - String toString(); - - /** - * 指定したフォーマッタを用いてSQL文に変換する。 - * - * @param formatter フォーマッタ - * @return SQL文 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - String toString(SqlFormatter formatter); - - /** - * トークンシーケンスに変換する。 - * - * <p>返される{@link List}は他に影響を及ぼさない独立したインスタンスである。</p> - * - * @return トークンシーケンス - * @since 0.2 - */ - List<Token> toTokens(); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/12/04 + * + * 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.sql; + +import java.util.List; + +import org.jiemamy.formatter.SqlFormatter; + +/** + * SQL文をあらわすインターフェイス。 + * + * <p>このインターフェイスの実装は、各DB実装に依存している。</p> + * + * @since 0.2 + * @author daisuke + */ +public interface SqlStatement { + + /** + * SQL文に変換する。 + * + * <p>変換ロジックには、環境によって定められたデフォルトのロジックが用いられる。</p> + * + * @return SQL文 + * @since 0.2 + */ + String toString(); + + /** + * 指定したフォーマッタを用いてSQL文に変換する。 + * + * @param formatter フォーマッタ + * @return SQL文 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + String toString(SqlFormatter formatter); + + /** + * トークンシーケンスに変換する。 + * + * <p>返される{@link List}は他に影響を及ぼさない独立したインスタンスである。</p> + * + * @return トークンシーケンス + * @since 0.2 + */ + List<Token> toTokens(); +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/sql/SqlStatement.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/sql/Token.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/sql/Token.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/sql/Token.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,38 +1,38 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/02/11 - * - * 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.sql; - -/** - * トークンをあらわすインターフェイス。 - * - * <p>このインターフェイスの実装は、イミュータブルでなければならない。</p> - * - * @since 0.2 - * @author daisuke - */ -public interface Token { - - /** - * トークンを文字列に変換する。 - * - * @return 文字列 - * @since 0.2 - */ - String toString(); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/02/11 + * + * 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.sql; + +/** + * トークンをあらわすインターフェイス。 + * + * <p>このインターフェイスの実装は、イミュータブルでなければならない。</p> + * + * @since 0.2 + * @author daisuke + */ +public interface Token { + + /** + * トークンを文字列に変換する。 + * + * @return 文字列 + * @since 0.2 + */ + String toString(); +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/sql/Token.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/sql/package-info.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/sql/package-info.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/sql/package-info.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,7 +1,7 @@ -/** - * Jiemamyモデルのうち、主に「SQL文」を定義するパッケージ。 - * - * @author daisuke - */ -package org.jiemamy.model.sql; - +/** + * Jiemamyモデルのうち、主に「SQL文」を定義するパッケージ。 + * + * @author daisuke + */ +package org.jiemamy.model.sql; + Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/model/sql/package-info.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/package-info.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/package-info.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/package-info.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,27 +1,27 @@ -/** - * Jiemamyのルートパッケージ。 - * - * <p>このパッケージは、Jiemamyモデルに対する各種操作の中枢となる仕様を含む。 - * 特に{@link org.jiemamy.Jiemamy}クラスはJiemamyの制御の起点となる最も重要なクラスである。</p> - * - * <p>Jiemamyは、Jiemamy自身のバグを検知した場合、{@link org.jiemamy.exception.UnexpectedConditionError} - * をスローする。このエラーがスローされた場合は、確実にJiemamy実装のバグである。 - * また、各メソッドを呼び出した際、Javadocに記述されていない例外がスローされた場合も、 - * Jiemamyのバグ(実装バグ、またはJavadoc記述ミス等による仕様バグ)であると判断します。 - * もしバグを発見された際には、Jiemamy Project 宛てにバグレポートを頂ければ幸いです。</p> - * - * <ul> - * <li>Jiemamy Projectホーム http://jiemamy.org/</li> - * <li>Jiemamy JIRA (バグ追跡) http://jira.jiemamy.org/</li> - * <li>Jiemamy-users メーリングリスト http://lists.sourceforge.jp/mailman/listinfo/jiemamy-users</li> - * </ul> - * - * <p>JIRAのカテゴリが不明な場合は、<a href="http://jira.jiemamy.org/jira/browse/GEN">統括プロジェクト</a> - * に対して課題登録をして頂ければ問題ありません。コミッタが適切なカテゴリに移動を行います。</p> - * - * <p>全体把握の際は、このパッケージの次に{@code org.jiemamy.model}パッケージを把握するとよい。</p> - * - * @author daisuke - */ -package org.jiemamy; - +/** + * Jiemamyのルートパッケージ。 + * + * <p>このパッケージは、Jiemamyモデルに対する各種操作の中枢となる仕様を含む。 + * 特に{@link org.jiemamy.Jiemamy}クラスはJiemamyの制御の起点となる最も重要なクラスである。</p> + * + * <p>Jiemamyは、Jiemamy自身のバグを検知した場合、{@link org.jiemamy.exception.UnexpectedConditionError} + * をスローする。このエラーがスローされた場合は、確実にJiemamy実装のバグである。 + * また、各メソッドを呼び出した際、Javadocに記述されていない例外がスローされた場合も、 + * Jiemamyのバグ(実装バグ、またはJavadoc記述ミス等による仕様バグ)であると判断します。 + * もしバグを発見された際には、Jiemamy Project 宛てにバグレポートを頂ければ幸いです。</p> + * + * <ul> + * <li>Jiemamy Projectホーム http://jiemamy.org/</li> + * <li>Jiemamy JIRA (バグ追跡) http://jira.jiemamy.org/</li> + * <li>Jiemamy-users メーリングリスト http://lists.sourceforge.jp/mailman/listinfo/jiemamy-users</li> + * </ul> + * + * <p>JIRAのカテゴリが不明な場合は、<a href="http://jira.jiemamy.org/jira/browse/GEN">統括プロジェクト</a> + * に対して課題登録をして頂ければ問題ありません。コミッタが適切なカテゴリに移動を行います。</p> + * + * <p>全体把握の際は、このパッケージの次に{@code org.jiemamy.model}パッケージを把握するとよい。</p> + * + * @author daisuke + */ +package org.jiemamy; + Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/package-info.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/serializer/JiemamySerializer.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/serializer/JiemamySerializer.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/serializer/JiemamySerializer.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,59 +1,59 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/06/09 - * - * 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.serializer; - -import java.io.InputStream; -import java.io.OutputStream; - -import org.jiemamy.model.RootModel; - -/** - * シリアライザインターフェイス。 - * - * <p>シリアライザの実装クラスはステートレスでなければならない。</p> - * - * @author daisuke - */ -public interface JiemamySerializer { - - /** - * {@link InputStream} から {@link RootModel} にデシリアライズする。 - * - * <p>{@code null}を返してはならない。</p> - * - * @param in デシリアライズするInputStream - * @return デシリアライズしたRootModel - * @throws SerializationException デシリアライズに失敗した時 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - RootModel deserialize(InputStream in) throws SerializationException; - - /** - * {@link RootModel} を {@link InputStream} にシリアライズする。 - * - * @param rootModel シリアライズする {@link RootModel} - * @param out シリアライズ結果を出力するstream - * @throws SerializationException シリアライズに失敗した時 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void serialize(RootModel rootModel, OutputStream out) throws SerializationException; - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/06/09 + * + * 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.serializer; + +import java.io.InputStream; +import java.io.OutputStream; + +import org.jiemamy.model.RootModel; + +/** + * シリアライザインターフェイス。 + * + * <p>シリアライザの実装クラスはステートレスでなければならない。</p> + * + * @author daisuke + */ +public interface JiemamySerializer { + + /** + * {@link InputStream} から {@link RootModel} にデシリアライズする。 + * + * <p>{@code null}を返してはならない。</p> + * + * @param in デシリアライズするInputStream + * @return デシリアライズしたRootModel + * @throws SerializationException デシリアライズに失敗した時 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + RootModel deserialize(InputStream in) throws SerializationException; + + /** + * {@link RootModel} を {@link InputStream} にシリアライズする。 + * + * @param rootModel シリアライズする {@link RootModel} + * @param out シリアライズ結果を出力するstream + * @throws SerializationException シリアライズに失敗した時 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void serialize(RootModel rootModel, OutputStream out) throws SerializationException; + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/serializer/JiemamySerializer.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/serializer/SerializationException.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/serializer/SerializationException.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/serializer/SerializationException.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,71 +1,71 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/11/10 - * - * 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.serializer; - -import org.jiemamy.exception.JiemamyException; - -/** - * シリアライズ・デシリアライズに失敗した時にスローされる。 - * - * @author daisuke - */ - @ SuppressWarnings("serial") -public class SerializationException extends JiemamyException { - - /** - * インスタンスを生成する。 - * - * @since 0.2 - */ - public SerializationException() { - super(); - } - - /** - * インスタンスを生成する。 - * - * @param message 例外メッセージ - * @since 0.2 - */ - public SerializationException(String message) { - super(message); - } - - /** - * インスタンスを生成する。 - * - * @param message 例外メッセージ - * @param cause 起因例外 - * @since 0.2 - */ - public SerializationException(String message, Throwable cause) { - super(message, cause); - } - - /** - * インスタンスを生成する。 - * - * @param cause 起因例外 - * @since 0.2 - */ - public SerializationException(Throwable cause) { - super(cause); - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/11/10 + * + * 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.serializer; + +import org.jiemamy.exception.JiemamyException; + +/** + * シリアライズ・デシリアライズに失敗した時にスローされる。 + * + * @author daisuke + */ + @ SuppressWarnings("serial") +public class SerializationException extends JiemamyException { + + /** + * インスタンスを生成する。 + * + * @since 0.2 + */ + public SerializationException() { + super(); + } + + /** + * インスタンスを生成する。 + * + * @param message 例外メッセージ + * @since 0.2 + */ + public SerializationException(String message) { + super(message); + } + + /** + * インスタンスを生成する。 + * + * @param message 例外メッセージ + * @param cause 起因例外 + * @since 0.2 + */ + public SerializationException(String message, Throwable cause) { + super(message, cause); + } + + /** + * インスタンスを生成する。 + * + * @param cause 起因例外 + * @since 0.2 + */ + public SerializationException(Throwable cause) { + super(cause); + } + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/serializer/SerializationException.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/serializer/package-info.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/serializer/package-info.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/serializer/package-info.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,11 +1,11 @@ -/** - * JiemamyのObjectモデルとXMLモデル間のシリアライズ・デシリアライズを行うロジッククラス(シリアライザ)の - * 仕様を定義するパッケージ。 - * - * <p>このパッケージは、コンポーザ仕様を規定するインターフェイスを含む。 - * {@link org.jiemamy.serializer.JiemamySerializer}が、このパッケージの主要インターフェイスである。</p> - * - * @author daisuke - */ -package org.jiemamy.serializer; - +/** + * JiemamyのObjectモデルとXMLモデル間のシリアライズ・デシリアライズを行うロジッククラス(シリアライザ)の + * 仕様を定義するパッケージ。 + * + * <p>このパッケージは、コンポーザ仕様を規定するインターフェイスを含む。 + * {@link org.jiemamy.serializer.JiemamySerializer}が、このパッケージの主要インターフェイスである。</p> + * + * @author daisuke + */ +package org.jiemamy.serializer; + Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/serializer/package-info.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/Adaptable.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/Adaptable.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/Adaptable.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,104 +1,104 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/07/19 - * - * 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; - -import java.util.List; - -import org.jiemamy.model.Adapter; - -/** - * アダプタを適用可能な型である事を示すインターフェイス。 - * - * <p>Extension Objectパターンを実現するインターフェイス。 - * Eclipseに実装されたIAdaptableインターフェイスと同様の考え方のインターフェイスである。</p> - * - * <p>cf. http://d.hatena.ne.jp/daisuke-m/20081212/1229083116</p> - * - * @since 0.2 - * @author daisuke - */ -public interface Adaptable { - - /** - * このオブジェクトにまつわる、指定した型を持つアダプタのインスタンスを取得する。 - * - * <p>このメソッドは{@code null}を返さない。</p> - * - * <p>指定した型に一致するものが複数あった場合は、より先に登録されたアダプタが返される。</p> - * - * @param <T> アダプタを表すクラス - * @param adapterClass アダプタを表すクラス - * @return アダプタのインスタンス - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws AdapterNotFoundException 登録されていないアダプタを取得しようとした場合 - * @since 0.2 - */ - <T>T getAdapter(Class<T> adapterClass); - - /** - * このオブジェクトが持つアダプタのリストを取得する。 - * - * <p>このメソッドは、インスタンスの持つ{@link List}の防御コピーを返す。返される{@link List}を直接操作しても、 - * このオブジェクトの属性を操作することはできない。ただし、コレクションの要素はコピーされない、シャローコピーである。</p> - * - * @return アダプタのリスト - * @throws UnsupportedOperationException アダプタのリストを提供しない場合 - * @since 0.2 - */ - List<Object> getAdapters(); - - /** - * 指定したアダプタを持つ(取得可能)かどうか調べる。 - * - * @param adapterClass アダプタクラス - * @return 適用可能の場合{@code true}、そうでない場合は{@code false} - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - boolean hasAdapter(Class<?> adapterClass); - - /** - * アダプタを登録する。 - * - * <p>アダプタは、その実装クラスまたは上流の型のいずれかに{@link Adapter}アノテーションをつけなければならない。 - * また、その場合そのアダプタは、同一性判別のため{@link Object#equals(Object)}メソッドをオーバーライド - * していなければならない。</p> - * - * @param adapter 登録するアダプタ - * @throws UnsupportedOperationException アダプタの追加登録をサポートしない場合 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws IllegalArgumentException 引数のクラスに{@link Adapter}アノテーションがついていない場合 - * @since 0.2 - */ - void registerAdapter(Object adapter); - - /** - * 指定した型のアダプタを削除する。 - * - * <p>{@link #getAdapter(Class)}で取得されるアダプタが削除される。</p> - * - * @param <T> アダプタを表すクラス - * @param adapterClass アダプタクラス - * @return 削除されたアダプタのインスタンス - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @throws AdapterNotFoundException 登録されていないアダプタを削除しようとした場合 - * @since 0.2 - */ - <T>T unregisterAdapter(Class<T> adapterClass); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/07/19 + * + * 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; + +import java.util.List; + +import org.jiemamy.model.Adapter; + +/** + * アダプタを適用可能な型である事を示すインターフェイス。 + * + * <p>Extension Objectパターンを実現するインターフェイス。 + * Eclipseに実装されたIAdaptableインターフェイスと同様の考え方のインターフェイスである。</p> + * + * <p>cf. http://d.hatena.ne.jp/daisuke-m/20081212/1229083116</p> + * + * @since 0.2 + * @author daisuke + */ +public interface Adaptable { + + /** + * このオブジェクトにまつわる、指定した型を持つアダプタのインスタンスを取得する。 + * + * <p>このメソッドは{@code null}を返さない。</p> + * + * <p>指定した型に一致するものが複数あった場合は、より先に登録されたアダプタが返される。</p> + * + * @param <T> アダプタを表すクラス + * @param adapterClass アダプタを表すクラス + * @return アダプタのインスタンス + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws AdapterNotFoundException 登録されていないアダプタを取得しようとした場合 + * @since 0.2 + */ + <T>T getAdapter(Class<T> adapterClass); + + /** + * このオブジェクトが持つアダプタのリストを取得する。 + * + * <p>このメソッドは、インスタンスの持つ{@link List}の防御コピーを返す。返される{@link List}を直接操作しても、 + * このオブジェクトの属性を操作することはできない。ただし、コレクションの要素はコピーされない、シャローコピーである。</p> + * + * @return アダプタのリスト + * @throws UnsupportedOperationException アダプタのリストを提供しない場合 + * @since 0.2 + */ + List<Object> getAdapters(); + + /** + * 指定したアダプタを持つ(取得可能)かどうか調べる。 + * + * @param adapterClass アダプタクラス + * @return 適用可能の場合{@code true}、そうでない場合は{@code false} + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + boolean hasAdapter(Class<?> adapterClass); + + /** + * アダプタを登録する。 + * + * <p>アダプタは、その実装クラスまたは上流の型のいずれかに{@link Adapter}アノテーションをつけなければならない。 + * また、その場合そのアダプタは、同一性判別のため{@link Object#equals(Object)}メソッドをオーバーライド + * していなければならない。</p> + * + * @param adapter 登録するアダプタ + * @throws UnsupportedOperationException アダプタの追加登録をサポートしない場合 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws IllegalArgumentException 引数のクラスに{@link Adapter}アノテーションがついていない場合 + * @since 0.2 + */ + void registerAdapter(Object adapter); + + /** + * 指定した型のアダプタを削除する。 + * + * <p>{@link #getAdapter(Class)}で取得されるアダプタが削除される。</p> + * + * @param <T> アダプタを表すクラス + * @param adapterClass アダプタクラス + * @return 削除されたアダプタのインスタンス + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @throws AdapterNotFoundException 登録されていないアダプタを削除しようとした場合 + * @since 0.2 + */ + <T>T unregisterAdapter(Class<T> adapterClass); +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/Adaptable.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/AdapterNotFoundException.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/AdapterNotFoundException.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/AdapterNotFoundException.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,55 +1,55 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/02/26 - * - * 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; - -/** - * {@link Adaptable#getAdapter(Class)}により、登録されていないアダプタを取得しようとした場合。 - * - * @since 0.2 - * @author daisuke - */ - @ SuppressWarnings("serial") -public class AdapterNotFoundException extends RuntimeException { - - /** 見つけられなかったアダプタの型 */ - private final Class<?> adapterClass; - - - /** - * インスタンスを生成する。 - * - * @param adapterClass 見つけられなかったアダプタの型 - * @since 0.2 - */ - public AdapterNotFoundException(Class<?> adapterClass) { - super(adapterClass.getName()); - this.adapterClass = adapterClass; - } - - /** - * 見つけられなかったアダプタの型を取得する。 - * - * @return 見つけられなかったアダプタの型 - * @since 0.2 - */ - public Class<?> getAdapterClass() { - return adapterClass; - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/02/26 + * + * 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; + +/** + * {@link Adaptable#getAdapter(Class)}により、登録されていないアダプタを取得しようとした場合。 + * + * @since 0.2 + * @author daisuke + */ + @ SuppressWarnings("serial") +public class AdapterNotFoundException extends RuntimeException { + + /** 見つけられなかったアダプタの型 */ + private final Class<?> adapterClass; + + + /** + * インスタンスを生成する。 + * + * @param adapterClass 見つけられなかったアダプタの型 + * @since 0.2 + */ + public AdapterNotFoundException(Class<?> adapterClass) { + super(adapterClass.getName()); + this.adapterClass = adapterClass; + } + + /** + * 見つけられなかったアダプタの型を取得する。 + * + * @return 見つけられなかったアダプタの型 + * @since 0.2 + */ + public Class<?> getAdapterClass() { + return adapterClass; + } + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/AdapterNotFoundException.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/Advisable.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/Advisable.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/Advisable.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,41 +1,41 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/09/14 - * - * 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; - -import org.jiemamy.model.JiemamyElement; -import org.jiemamy.model.script.AroundScript; - -/** - * モデルのSQL出力前後に、任意のスクリプトを挿入可能なモデル。 - * - * @param <T> 周辺スクリプトの出力対象となる型 - * @since 0.3 - * @author daisuke - */ -public interface Advisable<T extends Advisable<?>> extends JiemamyElement { - - /** - * 周辺スクリプトを取得する。 - * - * @return 周辺スクリプト - * @since 0.3 - */ - AroundScript<T> getAroundScript(); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/09/14 + * + * 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; + +import org.jiemamy.model.JiemamyElement; +import org.jiemamy.model.script.AroundScript; + +/** + * モデルのSQL出力前後に、任意のスクリプトを挿入可能なモデル。 + * + * @param <T> 周辺スクリプトの出力対象となる型 + * @since 0.3 + * @author daisuke + */ +public interface Advisable<T extends Advisable<?>> extends JiemamyElement { + + /** + * 周辺スクリプトを取得する。 + * + * @return 周辺スクリプト + * @since 0.3 + */ + AroundScript<T> getAroundScript(); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/Advisable.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/DatabaseConnectionConfig.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/DatabaseConnectionConfig.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/DatabaseConnectionConfig.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,66 +1,66 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/04/06 - * - * 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; - -import java.net.URL; - -/** - * DB接続に必要な設定情報を供給するインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface DatabaseConnectionConfig { - - /** - * ドライバの完全修飾クラス名を取得する。 - * - * @return ドライバの完全修飾クラス名. 未設定の場合は{@code null} - */ - String getDriverClassName(); - - /** - * ドライバJARファイルのパス配列を取得する。 - * - * @return ドライバJARファイルのパス配列. 未設定の場合は{@code null} - */ - URL[] getDriverJarPaths(); - - /** - * 接続パスワードを取得する。 - * - * @return 接続パスワード. 未設定の場合は{@code null} - */ - String getPassword(); - - /** - * 接続URIを取得する。 - * - * @return 接続URI. 未設定の場合は{@code null} - */ - String getUri(); - - /** - * 接続ユーザ名を取得する。 - * - * @return 接続ユーザ名. 未設定の場合は{@code null} - */ - String getUsername(); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/04/06 + * + * 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; + +import java.net.URL; + +/** + * DB接続に必要な設定情報を供給するインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface DatabaseConnectionConfig { + + /** + * ドライバの完全修飾クラス名を取得する。 + * + * @return ドライバの完全修飾クラス名. 未設定の場合は{@code null} + */ + String getDriverClassName(); + + /** + * ドライバJARファイルのパス配列を取得する。 + * + * @return ドライバJARファイルのパス配列. 未設定の場合は{@code null} + */ + URL[] getDriverJarPaths(); + + /** + * 接続パスワードを取得する。 + * + * @return 接続パスワード. 未設定の場合は{@code null} + */ + String getPassword(); + + /** + * 接続URIを取得する。 + * + * @return 接続URI. 未設定の場合は{@code null} + */ + String getUri(); + + /** + * 接続ユーザ名を取得する。 + * + * @return 接続ユーザ名. 未設定の場合は{@code null} + */ + String getUsername(); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/DatabaseConnectionConfig.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/Disablable.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/Disablable.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/Disablable.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,52 +1,52 @@ -/* - * Copyright 2007-2009 Jiemamy Project 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; - -import org.jiemamy.composer.Exporter; -import org.jiemamy.model.Adapter; -import org.jiemamy.model.AdapterType; - -/** - * {@link Exporter}に対する非処理指示可能を表すアダプタインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ - @ Adapter(AdapterType.MODEL) -public interface Disablable { - - /** - * エクスポート対象として無効かどうかを取得する。 - * - * @return エクスポート対象として無効かどうか. 未設定の場合は{@code null} - * @since 0.2 - */ - Boolean isDisabled(); - - /** - * エクスポート対象として無効かどうかを設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param disabled エクスポート対象として無効かどうか - * @since 0.2 - */ - void setDisabled(Boolean disabled); - -} +/* + * Copyright 2007-2009 Jiemamy Project 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; + +import org.jiemamy.composer.Exporter; +import org.jiemamy.model.Adapter; +import org.jiemamy.model.AdapterType; + +/** + * {@link Exporter}に対する非処理指示可能を表すアダプタインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ + @ Adapter(AdapterType.MODEL) +public interface Disablable { + + /** + * エクスポート対象として無効かどうかを取得する。 + * + * @return エクスポート対象として無効かどうか. 未設定の場合は{@code null} + * @since 0.2 + */ + Boolean isDisabled(); + + /** + * エクスポート対象として無効かどうかを設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param disabled エクスポート対象として無効かどうか + * @since 0.2 + */ + void setDisabled(Boolean disabled); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/Disablable.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/package-info.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/package-info.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/package-info.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,7 +1,7 @@ -/** - * Jiemamyのユーティリティクラスの仕様を定義するパッケージ。 - * - * @author daisuke - */ -package org.jiemamy.utils; - +/** + * Jiemamyのユーティリティクラスの仕様を定義するパッケージ。 + * + * @author daisuke + */ +package org.jiemamy.utils; + Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/utils/package-info.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/validator/CannotFixException.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/validator/CannotFixException.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/validator/CannotFixException.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,30 +1,30 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/01/21 - * - * 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.validator; - -/** - * {@link Problem#quickFix(org.jiemamy.model.RootModel)}が不可能な場合。 - * - * @since 0.2 - * @author daisuke - */ - @ SuppressWarnings("serial") -public class CannotFixException extends RuntimeException { - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/01/21 + * + * 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.validator; + +/** + * {@link Problem#quickFix(org.jiemamy.model.RootModel)}が不可能な場合。 + * + * @since 0.2 + * @author daisuke + */ + @ SuppressWarnings("serial") +public class CannotFixException extends RuntimeException { + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/validator/CannotFixException.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/validator/Problem.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/validator/Problem.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/validator/Problem.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,138 +1,138 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/01/21 - * - * 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.validator; - -import java.util.Locale; - -import org.jiemamy.model.RootModel; - -/** - * バリデータに指摘された問題インターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface Problem { - - /** - * クイックフィックスが可能な問題かどうかを調べる。 - * - * @return 可能な場合は{@code true}、そうでない場合は{@code false} - * @since 0.2 - */ - boolean canQuickFix(); - - /** - * エラーコードを取得する。 - * - * <p>{@code null}を返してはならない。</p> - * - * @return エラーコード - * @since 0.2 - */ - String getErrorCode(); - - /** - * 指摘事項を説明するメッセージをデフォルトのロケールで取得する。 - * - * <p>デフォルトロケールにおけるメッセージがなかった場合は、 {@link Locale#US} におけるメッセージを返す。</p> - * - * <p>{@code null}を返してはならない。</p> - * - * @return 指摘事項を説明するメッセージ - * @since 0.2 - */ - String getMessage(); - - /** - * 指摘事項を説明するメッセージを指定のロケールで取得する。 - * - * <p>指定ロケールにおけるメッセージがなかった場合は、デフォルトロケール, {@link Locale#US} におけるメッセージを返す。</p> - * - * <p>{@code null}を返してはならない。</p> - * - * @param locale ロケール - * @return 指摘事項を説明するメッセージ - * @since 0.2 - */ - String getMessage(Locale locale); - - /** - * 問題の重要度を取得する。 - * - * <p>{@code null}を返してはならない。</p> - * - * @return 問題の重要度 - * @since 0.2 - */ - Severity getSeverity(); - - /** - * クイックフィックスを施し、問題を自動修正する。 - * - * @param rootModel 修正対象モデル - * @throws CannotFixException クイックフィックスが不可能な問題である場合 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void quickFix(RootModel rootModel); - - - /** - * 問題の重要度を表す列挙型。 - * - * @since 0.2 - * @author daisuke - */ - public enum Severity { - - /** 致命的なエラー: 正常にモデルをパースできない・SQLに変換できない状態 */ - FATAL(5), - - /** 一般的なエラー: このままSQL化してもDBがsyntax error等を出すであろう状態 */ - ERROR(4), - - /** 警告: SQL化してDBに適用可能だが、RDB理論的に望ましくない状態 */ - WARN(3), - - /** 通知: RDB理論的に問題はないけど実務的にアレだよね系の状態 */ - NOTICE(2), - - /** 情報: 問題でなないが、何かしらの情報を表現したい場合 */ - INFO(1); - - /** 重要度を数値化した値 */ - private final int value; - - - Severity(int value) { - this.value = value; - } - - /** - * 重要度を数値化した値を取得する。 - * - * @return 重要度を数値化した値 - * @since 0.2 - */ - public int getValue() { - return value; - } - } -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/01/21 + * + * 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.validator; + +import java.util.Locale; + +import org.jiemamy.model.RootModel; + +/** + * バリデータに指摘された問題インターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface Problem { + + /** + * クイックフィックスが可能な問題かどうかを調べる。 + * + * @return 可能な場合は{@code true}、そうでない場合は{@code false} + * @since 0.2 + */ + boolean canQuickFix(); + + /** + * エラーコードを取得する。 + * + * <p>{@code null}を返してはならない。</p> + * + * @return エラーコード + * @since 0.2 + */ + String getErrorCode(); + + /** + * 指摘事項を説明するメッセージをデフォルトのロケールで取得する。 + * + * <p>デフォルトロケールにおけるメッセージがなかった場合は、 {@link Locale#US} におけるメッセージを返す。</p> + * + * <p>{@code null}を返してはならない。</p> + * + * @return 指摘事項を説明するメッセージ + * @since 0.2 + */ + String getMessage(); + + /** + * 指摘事項を説明するメッセージを指定のロケールで取得する。 + * + * <p>指定ロケールにおけるメッセージがなかった場合は、デフォルトロケール, {@link Locale#US} におけるメッセージを返す。</p> + * + * <p>{@code null}を返してはならない。</p> + * + * @param locale ロケール + * @return 指摘事項を説明するメッセージ + * @since 0.2 + */ + String getMessage(Locale locale); + + /** + * 問題の重要度を取得する。 + * + * <p>{@code null}を返してはならない。</p> + * + * @return 問題の重要度 + * @since 0.2 + */ + Severity getSeverity(); + + /** + * クイックフィックスを施し、問題を自動修正する。 + * + * @param rootModel 修正対象モデル + * @throws CannotFixException クイックフィックスが不可能な問題である場合 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void quickFix(RootModel rootModel); + + + /** + * 問題の重要度を表す列挙型。 + * + * @since 0.2 + * @author daisuke + */ + public enum Severity { + + /** 致命的なエラー: 正常にモデルをパースできない・SQLに変換できない状態 */ + FATAL(5), + + /** 一般的なエラー: このままSQL化してもDBがsyntax error等を出すであろう状態 */ + ERROR(4), + + /** 警告: SQL化してDBに適用可能だが、RDB理論的に望ましくない状態 */ + WARN(3), + + /** 通知: RDB理論的に問題はないけど実務的にアレだよね系の状態 */ + NOTICE(2), + + /** 情報: 問題でなないが、何かしらの情報を表現したい場合 */ + INFO(1); + + /** 重要度を数値化した値 */ + private final int value; + + + Severity(int value) { + this.value = value; + } + + /** + * 重要度を数値化した値を取得する。 + * + * @return 重要度を数値化した値 + * @since 0.2 + */ + public int getValue() { + return value; + } + } +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/validator/Problem.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/validator/Validator.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/validator/Validator.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/validator/Validator.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,43 +1,43 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/01/21 - * - * 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.validator; - -import java.util.Collection; - -import org.jiemamy.model.RootModel; - -/** - * モデルの妥当性を検査するバリデータのインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface Validator { - - /** - * モデルのバリデーションを行う。 - * - * @param rootModel バリデーション対象 - * @return バリデーションの結果. 問題がなかった場合は、空の{@link Collection}を返す。 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - Collection<Problem> validate(RootModel rootModel); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/01/21 + * + * 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.validator; + +import java.util.Collection; + +import org.jiemamy.model.RootModel; + +/** + * モデルの妥当性を検査するバリデータのインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface Validator { + + /** + * モデルのバリデーションを行う。 + * + * @param rootModel バリデーション対象 + * @return バリデーションの結果. 問題がなかった場合は、空の{@link Collection}を返す。 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + Collection<Problem> validate(RootModel rootModel); + +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/validator/Validator.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/CoreNamespace.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/CoreNamespace.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/CoreNamespace.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,82 +1,82 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/11/05 - * - * 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.xml; - -import java.net.URI; -import java.net.URISyntaxException; - -import org.jiemamy.exception.UnexpectedConditionError; - -/** - * XML名前空間定数クラス。 - * - * @since 0.2 - * @author daisuke - */ -public enum CoreNamespace implements JiemamyNamespace { - - /** XML Namespace specifications */ - NS_XMLNS("xmlns", "http://www.w3.org/2000/xmlns/", ""), - - /** XML Schema */ - NS_XSD("xsd", "http://www.w3.org/2001/XMLSchema", ""), - - /** XML Schema instance */ - NS_XSI("xsi", "http://www.w3.org/2001/XMLSchema-instance", ""), - - /** Jiemamy core specifications */ - NS_CORE("", "http://jiemamy.org/xml/ns/core", "http://jiemamy.org/xml/0.3/jiemamy-core.xsd"), - - /** Jiemamy core specifications */ - NS_DEFAULT("core", "http://jiemamy.org/xml/ns/core", "http://jiemamy.org/xml/0.3/jiemamy-core.xsd"), - - /** */ - NONE("", "", ""); - - /** 名前空間prefix */ - private final String prefix; - - /** 名前空間URL */ - private final URI namespaceURI; - - private final String xmlSchemaLocation; - - - CoreNamespace(String prefix, String namespaceURI, String xmlSchemaLocation) { - this.prefix = prefix; - try { - this.namespaceURI = new URI(namespaceURI); - this.xmlSchemaLocation = xmlSchemaLocation; - } catch (URISyntaxException e) { - throw new UnexpectedConditionError("URI記述ミス?", e); - } - } - - public URI getNamespaceURI() { - return namespaceURI; - } - - public String getPrefix() { - return prefix; - } - - public String getXmlSchemaLocation() { - return xmlSchemaLocation; - } -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/11/05 + * + * 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.xml; + +import java.net.URI; +import java.net.URISyntaxException; + +import org.jiemamy.exception.UnexpectedConditionError; + +/** + * XML名前空間定数クラス。 + * + * @since 0.2 + * @author daisuke + */ +public enum CoreNamespace implements JiemamyNamespace { + + /** XML Namespace specifications */ + NS_XMLNS("xmlns", "http://www.w3.org/2000/xmlns/", ""), + + /** XML Schema */ + NS_XSD("xsd", "http://www.w3.org/2001/XMLSchema", ""), + + /** XML Schema instance */ + NS_XSI("xsi", "http://www.w3.org/2001/XMLSchema-instance", ""), + + /** Jiemamy core specifications */ + NS_CORE("", "http://jiemamy.org/xml/ns/core", "http://jiemamy.org/xml/0.3/jiemamy-core.xsd"), + + /** Jiemamy core specifications */ + NS_DEFAULT("core", "http://jiemamy.org/xml/ns/core", "http://jiemamy.org/xml/0.3/jiemamy-core.xsd"), + + /** */ + NONE("", "", ""); + + /** 名前空間prefix */ + private final String prefix; + + /** 名前空間URL */ + private final URI namespaceURI; + + private final String xmlSchemaLocation; + + + CoreNamespace(String prefix, String namespaceURI, String xmlSchemaLocation) { + this.prefix = prefix; + try { + this.namespaceURI = new URI(namespaceURI); + this.xmlSchemaLocation = xmlSchemaLocation; + } catch (URISyntaxException e) { + throw new UnexpectedConditionError("URI記述ミス?", e); + } + } + + public URI getNamespaceURI() { + return namespaceURI; + } + + public String getPrefix() { + return prefix; + } + + public String getXmlSchemaLocation() { + return xmlSchemaLocation; + } +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/CoreNamespace.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/CoreQName.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/CoreQName.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/CoreQName.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,234 +1,234 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/12/15 - * - * 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.xml; - -import javax.xml.namespace.QName; - -/** - * Jiemamy XML Modelにおける、XMLのノード(要素や属性)の完全修飾名を保持する列挙型。 - * - * @since 0.2 - * @author daisuke - */ -public enum CoreQName implements JiemamyQName { - - /***/ - JIEMAMY(CoreNamespace.NS_CORE, "jiemamy"), - - // -------- - - /***/ - DIALECT(CoreNamespace.NS_CORE, "dialect"), - - /***/ - SCHEMA_NAME(CoreNamespace.NS_CORE, "schemaName"), - - /***/ - BEGIN_SCRIPT(CoreNamespace.NS_CORE, "beginScript"), - - /***/ - END_SCRIPT(CoreNamespace.NS_CORE, "endScript"), - - /***/ - DESCRIPTION(CoreNamespace.NS_CORE, "description"), - - /***/ - NAME(CoreNamespace.NS_CORE, "name"), - - /***/ - LOGICAL_NAME(CoreNamespace.NS_CORE, "logicalName"), - - // -------- - - /***/ - DOMAINS(CoreNamespace.NS_CORE, "domains"), - - /***/ - DOMAIN(CoreNamespace.NS_CORE, "domain"), - - // -------- - - /***/ - ENTITIES(CoreNamespace.NS_CORE, "entities"), - - /***/ - TABLE(CoreNamespace.NS_CORE, "table"), - - /***/ - VIEW(CoreNamespace.NS_CORE, "view"), - - // -------- - - /***/ - ATTRIBUTES(CoreNamespace.NS_CORE, "attributes"), - - /***/ - PRIMARY_KEY(CoreNamespace.NS_CORE, "primaryKey"), - - /***/ - UNIQUE_KEY(CoreNamespace.NS_CORE, "uniqueKey"), - - /***/ - FOREIGN_KEY(CoreNamespace.NS_CORE, "foreignKey"), - - /***/ - TABLE_CHECK_CONSTRAINT(CoreNamespace.NS_CORE, "tableCheck"), - - /***/ - COLUMN(CoreNamespace.NS_CORE, "column"), - - /***/ - REFERENCE_COLUMNS(CoreNamespace.NS_CORE, "referenceColumns"), - - // -------- - - /***/ - INDEXES(CoreNamespace.NS_CORE, "indexes"), - - /***/ - INDEX(CoreNamespace.NS_CORE, "index"), - - /***/ - UNIQUE(CoreNamespace.NS_CORE, "unique"), - - /***/ - INDEX_COLUMNNS(CoreNamespace.NS_CORE, "indexColumns"), - - /***/ - INDEX_COLUMNN(CoreNamespace.NS_CORE, "indexColumn"), - - /***/ - SORT_ORDER(CoreNamespace.NS_CORE, "sortOrder"), - - // -------- - - /***/ - DATA_TYPE(CoreNamespace.NS_CORE, "dataType"), - - /***/ - TYPE_CATEGORY(CoreNamespace.NS_CORE, "typeCategory"), - - /***/ - TYPE_NAME(CoreNamespace.NS_CORE, "typeName"), - - /***/ - ADAPTER(CoreNamespace.NS_CORE, "adapter"), - - /***/ - DEFAULT_VALUE(CoreNamespace.NS_CORE, "defaultValue"), - - /***/ - NOT_NULL(CoreNamespace.NS_CORE, "notNull"), - - /***/ - COLUMN_UNIQUE_KEY(CoreNamespace.NS_CORE, "columnUniqueKey"), - - /***/ - COLUMN_PRIMARY_KEY(CoreNamespace.NS_CORE, "columnPrimaryKey"), - - /***/ - COLUMN_CHECK_CONSTRAINT(CoreNamespace.NS_CORE, "columnCheck"), - - /***/ - EXPRESSION(CoreNamespace.NS_CORE, "expression"), - - /***/ - DEFINITION(CoreNamespace.NS_CORE, "definition"), - - /***/ - MATCH_TYPE(CoreNamespace.NS_CORE, "matchType"), - - /***/ - ON_DELETE(CoreNamespace.NS_CORE, "onDelete"), - - /***/ - ON_UPDATE(CoreNamespace.NS_CORE, "onUpdate"), - - /***/ - DEFERRABILITY(CoreNamespace.NS_CORE, "deferrability"), - - /***/ - DEFERRABLE(CoreNamespace.NS_CORE, "deferrable"), - - /***/ - INITIALLY_CHECK_TIME(CoreNamespace.NS_CORE, "initiallyCheckTime"), - - // -------- - - /***/ - DATASETS(CoreNamespace.NS_CORE, "dataSets"), - - /***/ - DATASET(CoreNamespace.NS_CORE, "dataSet"), - - /***/ - RECORD(CoreNamespace.NS_CORE, "record"), - - // -------- - - /***/ - COLUMN_REFS(CoreNamespace.NS_CORE, "columnRefs"), - - /***/ - COLUMN_REF(CoreNamespace.NS_CORE, "columnRef"), - - /***/ - TABLE_REF(CoreNamespace.NS_CORE, "tableRef"), - - /***/ - ENTITY_REF(CoreNamespace.NS_CORE, "entityRef"), - - // -------- Attributes - - /***/ - VERSION(CoreNamespace.NONE, "version"), - - /***/ - ID(CoreNamespace.NONE, "id"), - - /***/ - REF(CoreNamespace.NONE, "ref"), - - /***/ - CLASS(CoreNamespace.NONE, "class"), - - /***/ - ENGINE(CoreNamespace.NONE, "engine"); - - /** XML仕様における完全修飾名 */ - private final QName qName; - - - CoreQName(JiemamyNamespace namespace, String localPart) { - qName = new QName(namespace.getNamespaceURI().toString(), localPart, namespace.getPrefix()); - } - - public QName getQName() { - return qName; - } - - public String getQNameString() { - String prefix = isEmpty(qName.getPrefix()) ? "" : qName.getPrefix() + ":"; - return prefix + qName.getLocalPart(); - } - - private boolean isEmpty(String str) { - return str == null || str.length() == 0; - } -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/12/15 + * + * 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.xml; + +import javax.xml.namespace.QName; + +/** + * Jiemamy XML Modelにおける、XMLのノード(要素や属性)の完全修飾名を保持する列挙型。 + * + * @since 0.2 + * @author daisuke + */ +public enum CoreQName implements JiemamyQName { + + /***/ + JIEMAMY(CoreNamespace.NS_CORE, "jiemamy"), + + // -------- + + /***/ + DIALECT(CoreNamespace.NS_CORE, "dialect"), + + /***/ + SCHEMA_NAME(CoreNamespace.NS_CORE, "schemaName"), + + /***/ + BEGIN_SCRIPT(CoreNamespace.NS_CORE, "beginScript"), + + /***/ + END_SCRIPT(CoreNamespace.NS_CORE, "endScript"), + + /***/ + DESCRIPTION(CoreNamespace.NS_CORE, "description"), + + /***/ + NAME(CoreNamespace.NS_CORE, "name"), + + /***/ + LOGICAL_NAME(CoreNamespace.NS_CORE, "logicalName"), + + // -------- + + /***/ + DOMAINS(CoreNamespace.NS_CORE, "domains"), + + /***/ + DOMAIN(CoreNamespace.NS_CORE, "domain"), + + // -------- + + /***/ + ENTITIES(CoreNamespace.NS_CORE, "entities"), + + /***/ + TABLE(CoreNamespace.NS_CORE, "table"), + + /***/ + VIEW(CoreNamespace.NS_CORE, "view"), + + // -------- + + /***/ + ATTRIBUTES(CoreNamespace.NS_CORE, "attributes"), + + /***/ + PRIMARY_KEY(CoreNamespace.NS_CORE, "primaryKey"), + + /***/ + UNIQUE_KEY(CoreNamespace.NS_CORE, "uniqueKey"), + + /***/ + FOREIGN_KEY(CoreNamespace.NS_CORE, "foreignKey"), + + /***/ + TABLE_CHECK_CONSTRAINT(CoreNamespace.NS_CORE, "tableCheck"), + + /***/ + COLUMN(CoreNamespace.NS_CORE, "column"), + + /***/ + REFERENCE_COLUMNS(CoreNamespace.NS_CORE, "referenceColumns"), + + // -------- + + /***/ + INDEXES(CoreNamespace.NS_CORE, "indexes"), + + /***/ + INDEX(CoreNamespace.NS_CORE, "index"), + + /***/ + UNIQUE(CoreNamespace.NS_CORE, "unique"), + + /***/ + INDEX_COLUMNNS(CoreNamespace.NS_CORE, "indexColumns"), + + /***/ + INDEX_COLUMNN(CoreNamespace.NS_CORE, "indexColumn"), + + /***/ + SORT_ORDER(CoreNamespace.NS_CORE, "sortOrder"), + + // -------- + + /***/ + DATA_TYPE(CoreNamespace.NS_CORE, "dataType"), + + /***/ + TYPE_CATEGORY(CoreNamespace.NS_CORE, "typeCategory"), + + /***/ + TYPE_NAME(CoreNamespace.NS_CORE, "typeName"), + + /***/ + ADAPTER(CoreNamespace.NS_CORE, "adapter"), + + /***/ + DEFAULT_VALUE(CoreNamespace.NS_CORE, "defaultValue"), + + /***/ + NOT_NULL(CoreNamespace.NS_CORE, "notNull"), + + /***/ + COLUMN_UNIQUE_KEY(CoreNamespace.NS_CORE, "columnUniqueKey"), + + /***/ + COLUMN_PRIMARY_KEY(CoreNamespace.NS_CORE, "columnPrimaryKey"), + + /***/ + COLUMN_CHECK_CONSTRAINT(CoreNamespace.NS_CORE, "columnCheck"), + + /***/ + EXPRESSION(CoreNamespace.NS_CORE, "expression"), + + /***/ + DEFINITION(CoreNamespace.NS_CORE, "definition"), + + /***/ + MATCH_TYPE(CoreNamespace.NS_CORE, "matchType"), + + /***/ + ON_DELETE(CoreNamespace.NS_CORE, "onDelete"), + + /***/ + ON_UPDATE(CoreNamespace.NS_CORE, "onUpdate"), + + /***/ + DEFERRABILITY(CoreNamespace.NS_CORE, "deferrability"), + + /***/ + DEFERRABLE(CoreNamespace.NS_CORE, "deferrable"), + + /***/ + INITIALLY_CHECK_TIME(CoreNamespace.NS_CORE, "initiallyCheckTime"), + + // -------- + + /***/ + DATASETS(CoreNamespace.NS_CORE, "dataSets"), + + /***/ + DATASET(CoreNamespace.NS_CORE, "dataSet"), + + /***/ + RECORD(CoreNamespace.NS_CORE, "record"), + + // -------- + + /***/ + COLUMN_REFS(CoreNamespace.NS_CORE, "columnRefs"), + + /***/ + COLUMN_REF(CoreNamespace.NS_CORE, "columnRef"), + + /***/ + TABLE_REF(CoreNamespace.NS_CORE, "tableRef"), + + /***/ + ENTITY_REF(CoreNamespace.NS_CORE, "entityRef"), + + // -------- Attributes + + /***/ + VERSION(CoreNamespace.NONE, "version"), + + /***/ + ID(CoreNamespace.NONE, "id"), + + /***/ + REF(CoreNamespace.NONE, "ref"), + + /***/ + CLASS(CoreNamespace.NONE, "class"), + + /***/ + ENGINE(CoreNamespace.NONE, "engine"); + + /** XML仕様における完全修飾名 */ + private final QName qName; + + + CoreQName(JiemamyNamespace namespace, String localPart) { + qName = new QName(namespace.getNamespaceURI().toString(), localPart, namespace.getPrefix()); + } + + public QName getQName() { + return qName; + } + + public String getQNameString() { + String prefix = isEmpty(qName.getPrefix()) ? "" : qName.getPrefix() + ":"; + return prefix + qName.getLocalPart(); + } + + private boolean isEmpty(String str) { + return str == null || str.length() == 0; + } +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/CoreQName.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/JiemamyNamespace.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/JiemamyNamespace.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/JiemamyNamespace.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,53 +1,53 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/02/03 - * - * 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.xml; - -import java.net.URI; - -/** - * Jiemamyで使用するXML名前空間を表すインターフェイス。 - * - * @author daisuke - */ -public interface JiemamyNamespace { - - /** - * 名前空間URLを取得する。 - * - * @return 名前空間URI - * @since 0.2 - */ - URI getNamespaceURI(); - - /** - * 名前空間prefixを取得する。 - * - * @return 名前空間prefix - * @since 0.2 - */ - String getPrefix(); - - /** - * XMLスキーマリソースが存在するURLを取得する。 - * - * @return XMLスキーマリソースが存在するURL. may be null. - * @since 0.2 - */ - String getXmlSchemaLocation(); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/02/03 + * + * 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.xml; + +import java.net.URI; + +/** + * Jiemamyで使用するXML名前空間を表すインターフェイス。 + * + * @author daisuke + */ +public interface JiemamyNamespace { + + /** + * 名前空間URLを取得する。 + * + * @return 名前空間URI + * @since 0.2 + */ + URI getNamespaceURI(); + + /** + * 名前空間prefixを取得する。 + * + * @return 名前空間prefix + * @since 0.2 + */ + String getPrefix(); + + /** + * XMLスキーマリソースが存在するURLを取得する。 + * + * @return XMLスキーマリソースが存在するURL. may be null. + * @since 0.2 + */ + String getXmlSchemaLocation(); +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/JiemamyNamespace.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/JiemamyQName.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/JiemamyQName.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/JiemamyQName.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,52 +1,52 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/01/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.xml; - -import javax.xml.namespace.QName; - -/** - * Jiemamyで使用するXML完全修飾名を表すインターフェイス。 - * - * @author daisuke - */ -public interface JiemamyQName { - - /** - * XMLノード完全修飾名を取得する。 - * - * @return XMLノード完全修飾名 - * @since 0.2 - */ - QName getQName(); - - /** - * 完全修飾名文字列を取得する。 - * - * <pre> - * prefix=empty, localPart="foo" = "foo" - * prefix=empty, localPart="bar" = "bar" - * prefix="foo", localPart="foo" = "foo:foo" - * prefix="bar", localPart="foo" = "bar:foo" - * </pre> - * - * @return 完全修飾名文字列 - * @since 0.2 - */ - String getQNameString(); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/01/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.xml; + +import javax.xml.namespace.QName; + +/** + * Jiemamyで使用するXML完全修飾名を表すインターフェイス。 + * + * @author daisuke + */ +public interface JiemamyQName { + + /** + * XMLノード完全修飾名を取得する。 + * + * @return XMLノード完全修飾名 + * @since 0.2 + */ + QName getQName(); + + /** + * 完全修飾名文字列を取得する。 + * + * <pre> + * prefix=empty, localPart="foo" = "foo" + * prefix=empty, localPart="bar" = "bar" + * prefix="foo", localPart="foo" = "foo:foo" + * prefix="bar", localPart="foo" = "bar:foo" + * </pre> + * + * @return 完全修飾名文字列 + * @since 0.2 + */ + String getQNameString(); +} Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/JiemamyQName.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/package-info.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/package-info.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/package-info.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,7 +1,7 @@ -/** - * JiemamyのXMLモデルの仕様を定義するパッケージ。 - * - * @author daisuke - */ -package org.jiemamy.xml; - +/** + * JiemamyのXMLモデルの仕様を定義するパッケージ。 + * + * @author daisuke + */ +package org.jiemamy.xml; + Property changes on: zeus/trunk/jiemamy-spec-core/src/main/java/org/jiemamy/xml/package-info.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/javadoc/overview.html =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/javadoc/overview.html 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/javadoc/overview.html 2009-09-20 17:35:30 UTC (rev 3646) @@ -5,14 +5,14 @@ <title>Jiemamy Core Specification</title> </head> <body> - -<p>Jiemamyは、データベースの状態(スキーマと、そこにINSERTされているデータ)を管理するためのクラスライブラリである。</p> - -<p>Jiemamyクラスを起点とし、Jiemamyモデルと呼ばれるDBの状態を表現するモデルクラスを生成・構築し、用意された各種APIによる操作を行う。 -モデル化されたDBの状態は、再びDBに適用するためのSQLに変換することができる。また、変換先はSQLだけでなく、HTMLによる仕様書や、 -ERダイアグラム画像、JPAエンティティクラス群など、様々な表現形式にエクスポートすることを想定している。</p> - -<p>また、エクスポートだけではなく、各種表現形式からのインポートも可能である。</p> - + +<p>Jiemamyは、データベースの状態(スキーマと、そこにINSERTされているデータ)を管理するためのクラスライブラリである。</p> + +<p>Jiemamyクラスを起点とし、Jiemamyモデルと呼ばれるDBの状態を表現するモデルクラスを生成・構築し、用意された各種APIによる操作を行う。 +モデル化されたDBの状態は、再びDBに適用するためのSQLに変換することができる。また、変換先はSQLだけでなく、HTMLによる仕様書や、 +ERダイアグラム画像、JPAエンティティクラス群など、様々な表現形式にエクスポートすることを想定している。</p> + +<p>また、エクスポートだけではなく、各種表現形式からのインポートも可能である。</p> + </body> </html> \ No newline at end of file Property changes on: zeus/trunk/jiemamy-spec-core/src/main/javadoc/overview.html ___________________________________________________________________ Modified: svn:mime-type - text/plain + text/html Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/resources/jiemamy-core.xsd =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/resources/jiemamy-core.xsd 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/resources/jiemamy-core.xsd 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,696 +1,696 @@ -<?xml version="1.0" encoding="UTF-8"?> -<xsd:schema - targetNamespace="http://jiemamy.org/xml/ns/core" - xmlns="http://jiemamy.org/xml/ns/core" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - elementFormDefault="qualified" - attributeFormDefault="unqualified" - version="0.3"> - - <xsd:annotation> - <xsd:documentation xml:lang="en">Jiemamy model schema</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">Jiemamyモデルスキーマ</xsd:documentation> - </xsd:annotation> - - <xsd:element name="jiemamy"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Root element of Jiemamy model</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">Jiemamyモデルのルート要素</xsd:documentation> - <xsd:appinfo></xsd:appinfo> - </xsd:annotation> - <xsd:complexType> - <xsd:sequence maxOccurs="1" minOccurs="1"> - <xsd:element name="dialect" type="fqcnType"> - <xsd:annotation> - <xsd:documentation xml:lang="en">SQL Dialect</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">デフォルトで使用されるSQL方言を表す</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element name="schemaName" type="xsd:string" minOccurs="0"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Schema name</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">スキーマ名を表す</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="description" minOccurs="0"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Database description</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">データベースの説明文</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="beginScript" minOccurs="0" /> - <xsd:element ref="endScript" minOccurs="0" /> - <xsd:element name="domains"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Data type domain definition</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">ドメイン定義部</xsd:documentation> - </xsd:annotation> - <xsd:complexType> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element ref="domain"/> - </xsd:choice> - </xsd:complexType> - </xsd:element> - <xsd:element name="entities"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Entity definition</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">エンティティ定義部</xsd:documentation> - </xsd:annotation> - <xsd:complexType> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element ref="table"/> - <xsd:element ref="view"/> - </xsd:choice> - </xsd:complexType> - </xsd:element> - <xsd:element ref="dataSets"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Insert data definition</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">データセット定義部</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other"/> - </xsd:sequence> - <xsd:attribute name="id" type="uuidType" use="required"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Model ID of RootModel</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">RootModelのモデルID</xsd:documentation> - </xsd:annotation> - </xsd:attribute> - <xsd:attribute name="version" type="xsd:string" use="required"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Jiemamy model schema version.</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">スキーマのバージョン</xsd:documentation> - </xsd:annotation> - </xsd:attribute> - </xsd:complexType> - </xsd:element> - - - <xsd:element name="domain"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Data type domain</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">ドメイン</xsd:documentation> - </xsd:annotation> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="name"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Physical name of DOMAIN</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">ドメイン物理名</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="logicalName" minOccurs="0"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Logical name of DOMAIN</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">ドメイン論理名</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="description" minOccurs="0"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Domain description</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">ドメインの説明文</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="dataType" /> - <xsd:element ref="notNull" minOccurs="0"/> - <xsd:element ref="columnCheck" minOccurs="0"/> - <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="id" type="uuidType" use="required"/> - </xsd:complexType> - </xsd:element> - - - <xsd:element name="table"> - <xsd:annotation> - <xsd:documentation xml:lang="en">TABLE definition</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">テーブル定義</xsd:documentation> - </xsd:annotation> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="name"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Physical name of TABLE</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">テーブル物理名</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="logicalName" minOccurs="0"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Logical name of TABLE</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">テーブル論理名</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="description" minOccurs="0"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Table description</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">テーブルの説明文</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="beginScript" minOccurs="0" /> - <xsd:element ref="endScript" minOccurs="0" /> - <xsd:element name="attributes"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Attribute (i.e. Column) of TABLE definition</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">テーブルの属性(カラム等)定義部</xsd:documentation> - </xsd:annotation> - <xsd:complexType> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element ref="column" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element ref="primaryKey" minOccurs="0" /> - <xsd:element ref="uniqueKey" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element ref="foreignKey" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element ref="tableCheck" minOccurs="0" maxOccurs="unbounded" /> - </xsd:choice> - </xsd:complexType> - </xsd:element> - <xsd:element name="indexes" minOccurs="0"> - <xsd:complexType> - <xsd:sequence minOccurs="0" maxOccurs="unbounded"> - <xsd:element ref="index" /> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="id" type="uuidType" use="required" /> - </xsd:complexType> - </xsd:element> - - <xsd:element name="view"> - <xsd:annotation> - <xsd:documentation xml:lang="en">VIEW definition</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">ビュー定義</xsd:documentation> - </xsd:annotation> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="name"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Physical name of VIEW</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">ビュー物理名</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="logicalName" minOccurs="0"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Logical name of VIEW</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">ビュー論理名</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="description" minOccurs="0"> - <xsd:annotation> - <xsd:documentation xml:lang="en">View description</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">ビューの説明文</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="beginScript" minOccurs="0" /> - <xsd:element ref="endScript" minOccurs="0" /> - <xsd:element name="definition" type="xsd:string" /> - <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="id" type="uuidType" use="required" /> - </xsd:complexType> - </xsd:element> - - - <xsd:element name="column"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Column of table</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">テーブルのカラム</xsd:documentation> - </xsd:annotation> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="name"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Physical name of Column</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">カラム物理名</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="logicalName" minOccurs="0"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Logical name of Column</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">カラム論理名</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="description" minOccurs="0"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Column description</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">カラムの説明文</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="dataType" /> - <xsd:element ref="defaultValue" minOccurs="0" /> - <xsd:element ref="notNull" minOccurs="0"/> - <xsd:element ref="columnPrimaryKey" minOccurs="0"/> - <xsd:element ref="columnUniqueKey" minOccurs="0"/> - <xsd:element ref="columnCheck" minOccurs="0"/> - <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="id" type="uuidType" use="required" /> - </xsd:complexType> - </xsd:element> - - - <xsd:element name="columnPrimaryKey"> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="name" minOccurs="0"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Physical name of Column PRIMARY KEY</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">カラム主キー名</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="id" type="uuidType" use="required" /> - </xsd:complexType> - </xsd:element> - - <xsd:element name="columnUniqueKey"> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="name" minOccurs="0"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Physical name of Column UNIQUE key</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">カラム一意キー名</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="id" type="uuidType" use="required" /> - </xsd:complexType> - </xsd:element> - - - <xsd:element name="primaryKey"> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="name" minOccurs="0"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Physical name of Table PRIMARY KEY</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">テーブル主キー名</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="logicalName" minOccurs="0"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Logical name of Table PRIMARY KEY</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">テーブル主キー論理名</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="description" minOccurs="0"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Table primary key description</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">テーブル主キーの説明文</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="columnRefs" minOccurs="1"/> - <xsd:element ref="deferrability" minOccurs="0" /> - <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="id" type="uuidType" use="required" /> - </xsd:complexType> - </xsd:element> - - <xsd:element name="uniqueKey"> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="name" minOccurs="0"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Physical name of Table UNIQUE key</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">テーブル一意キー名</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="logicalName" minOccurs="0"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Logical name of Table UNIQUE key</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">テーブル一意キー論理名</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="description" minOccurs="0"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Table unique key description</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">テーブル一意キーの説明文</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="columnRefs" minOccurs="1"/> - <xsd:element ref="deferrability" minOccurs="0" /> - <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="id" type="uuidType" use="required" /> - </xsd:complexType> - </xsd:element> - - <xsd:element name="foreignKey"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Foreign key definition</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">外部キー</xsd:documentation> - </xsd:annotation> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="name" minOccurs="0"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Physical name of FOREIGN KEY</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">外部キー名</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="logicalName" minOccurs="0"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Logical name of FOREIGN KEY</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">外部キー論理名</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="description" minOccurs="0"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Foreign key description</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">外部キーの説明文</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="columnRefs" minOccurs="0"/> - <xsd:element name="referenceColumns" minOccurs="0"> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="columnRef" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:element ref="deferrability" minOccurs="0" /> - <xsd:element name="matchType" type="matchTypeType" minOccurs="0"/> - <xsd:element name="onDelete" type="referentialActionType" minOccurs="0" /> - <xsd:element name="onUpdate" type="referentialActionType" minOccurs="0" /> - <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="id" type="uuidType" use="required" /> - </xsd:complexType> - </xsd:element> - - <xsd:element name="deferrability"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="deferrable" type="xsd:boolean"/> - <xsd:element name="initiallyCheckTime" type="initiallyCheckTimeType" minOccurs="0"/> - </xsd:sequence> - <xsd:attribute name="id" type="uuidType" use="required" /> - </xsd:complexType> - </xsd:element> - - <xsd:element name="tableCheck"> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="name" minOccurs="0"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Physical name of Table CHECK constraint</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">テーブルCHECK制約名</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="logicalName" minOccurs="0" /> - <xsd:element ref="description" minOccurs="0" /> - <xsd:element name="expression" type="xsd:string" /> - <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - <xsd:attribute name="id" type="uuidType" use="required" /> - </xsd:complexType> - </xsd:element> - - <xsd:element name="index"> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="name"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Physical name of INDEX</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">インデックス名</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="indexColumns" /> - <xsd:element name="unique" type="xsd:boolean" /> - <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="id" type="uuidType" use="required" /> - </xsd:complexType> - </xsd:element> - - <xsd:element name="indexColumns"> - <xsd:complexType> - <xsd:sequence minOccurs="1" maxOccurs="unbounded"> - <xsd:element ref="indexColumn" /> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - - <xsd:element name="indexColumn"> - <xsd:complexType> - <xsd:sequence minOccurs="1" maxOccurs="unbounded"> - <xsd:element ref="name" minOccurs="0" /> - <xsd:element ref="columnRef" /> - <xsd:element name="sortOrder" type="sortOrderType" minOccurs="0" /> - </xsd:sequence> - <xsd:attribute name="id" type="uuidType" use="required" /> - </xsd:complexType> - </xsd:element> - - <xsd:element name="columnRefs"> - <xsd:complexType> - <xsd:sequence minOccurs="1" maxOccurs="unbounded"> - <xsd:element ref="columnRef" /> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - - <xsd:element name="columnRef"> - <xsd:complexType mixed="true"> - <xsd:attribute name="ref" type="uuidRefType" use="required" /> - </xsd:complexType> - </xsd:element> - - - <xsd:element name="beginScript"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Begin script output before target definition</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">開始スクリプト(このモデルのSQL表現を出力する直前に追加されるSQL文)</xsd:documentation> - </xsd:annotation> - <xsd:complexType mixed="true"> - <xsd:attribute name="engine" type="fqcnType" use="optional" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="endScript"> - <xsd:annotation> - <xsd:documentation xml:lang="en">End script output after target definition</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">終了スクリプト(このモデルのSQL表現を出力する直後に追加されるSQL文)</xsd:documentation> - </xsd:annotation> - <xsd:complexType mixed="true"> - <xsd:attribute name="engine" type="fqcnType" use="optional" /> - </xsd:complexType> - </xsd:element> - - - <xsd:element name="dataType"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Data type</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">データ型</xsd:documentation> - </xsd:annotation> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="typeCategory" minOccurs="0" type="typeCategoryType"/> - <xsd:element name="typeName" minOccurs="0" type="xsd:string"/> - <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - <!-- TODO refがある時は、子elementは無しとしたい --> - <xsd:attribute name="ref" type="uuidRefType" use="optional" /> - </xsd:complexType> - </xsd:element> - - <xsd:element name="notNull"> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="name" minOccurs="0"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Physical name of NOT NULL constraint</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">NOT NULL制約物理名</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="logicalName" minOccurs="0"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Logical name of NOT NULL constraint</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">NOT NULL制約論理名</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="description" minOccurs="0" /> - <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="id" type="uuidType" use="required" /> - </xsd:complexType> - </xsd:element> - - <xsd:element name="columnCheck"> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="name" minOccurs="0" /> - <xsd:element name="expression" type="xsd:string"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Physical name of Column CHECK constraint</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">カラムCHECK制約物理名</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="id" type="uuidType" use="required" /> - </xsd:complexType> - </xsd:element> - - <xsd:element name="adapter"> - <xsd:complexType> - <xsd:sequence> - <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/> - </xsd:sequence> - <xsd:attribute name="class" type="fqcnType" use="required" /> - </xsd:complexType> - </xsd:element> - - <xsd:element name="dataSets"> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="dataSet" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - - <xsd:element name="dataSet"> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="name" /> - <xsd:element ref="tableRef" maxOccurs="unbounded" /> - </xsd:sequence> - <xsd:attribute name="id" type="uuidType" use="required" /> - </xsd:complexType> - </xsd:element> - - <xsd:element name="tableRef"> - <xsd:complexType> - <xsd:choice maxOccurs="unbounded"> - <xsd:element name="record"> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="columnRef" maxOccurs="unbounded" /> - </xsd:sequence> - <xsd:attribute name="id" type="uuidType" use="required" /> - </xsd:complexType> - </xsd:element> - </xsd:choice> - <xsd:attribute name="ref" type="uuidRefType" use="required" /> - </xsd:complexType> - </xsd:element> - - <xsd:element name="name" type="xsd:string"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Physical name of Jiemamy model</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">モデル名</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element name="logicalName" type="xsd:string"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Logical name of Jiemamy model</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">モデル論理名</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element name="description" type="xsd:string"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Description for Jiemamy model</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">モデルに対する説明文</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element name="defaultValue" type="xsd:string" /> - - <!-- 単純型 --> - - <xsd:simpleType name="uuidType"> - <xsd:annotation> - <xsd:documentation xml:lang="en">UUID type</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">UUID定義型</xsd:documentation> - </xsd:annotation> - <xsd:restriction base="xsd:string"> - <!-- - <xsd:pattern value="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"/> - --> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="uuidRefType"><!-- TODO xsd:key要素を使って、存在しないIDを参照できないようにしたい --> - <xsd:annotation> - <xsd:documentation xml:lang="en">Reference to UUID type</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">UUID参照型</xsd:documentation> - </xsd:annotation> - <xsd:restriction base="xsd:string"> - <!-- - <xsd:pattern value="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"/> - --> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="fqcnType"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Fully qualified class name type</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">完全修飾クラス名型</xsd:documentation> - </xsd:annotation> - <xsd:restriction base="xsd:string"> - <xsd:pattern value="([A-Za-z][A-Za-z0-9]*\.)*[A-Za-z][A-Za-z0-9]*"/> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="typeCategoryType"> - <xsd:restriction base="xsd:token"> - <xsd:enumeration value="CHARACTER" /> - <xsd:enumeration value="VARCHAR" /> - <xsd:enumeration value="CLOB" /> - <xsd:enumeration value="BLOB" /> - <xsd:enumeration value="BIT" /> - <xsd:enumeration value="VARBIT" /> - <xsd:enumeration value="NUMERIC" /> - <xsd:enumeration value="DECIMAL" /> - <xsd:enumeration value="INTEGER" /> - <xsd:enumeration value="SMALLINT" /> - <xsd:enumeration value="FLOAT" /> - <xsd:enumeration value="REAL" /> - <xsd:enumeration value="DOUBLE" /> - <xsd:enumeration value="BOOLEAN" /> - <xsd:enumeration value="DATE" /> - <xsd:enumeration value="TIME" /> - <xsd:enumeration value="TIMESTAMP" /> - <xsd:enumeration value="INTERVAL" /> - <xsd:enumeration value="OTHER" /> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="referentialActionType"> - <xsd:annotation> - <xsd:documentation xml:lang="ja-JP">onDelete/onUpdateに設定できる値</xsd:documentation> - </xsd:annotation> - <xsd:restriction base="xsd:token"> - <xsd:enumeration value="CASCADE" /> - <xsd:enumeration value="SET_NULL" /> - <xsd:enumeration value="SET_DEFAULT" /> - <xsd:enumeration value="RESTRICT" /> - <xsd:enumeration value="NO_ACTION" /> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="matchTypeType"> - <xsd:restriction base="xsd:token"> - <xsd:enumeration value="SIMPLE" /> - <xsd:enumeration value="FULL" /> - <xsd:enumeration value="PARTIAL" /> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="initiallyCheckTimeType"> - <xsd:restriction base="xsd:token"> - <xsd:enumeration value="IMMEDIATE" /> - <xsd:enumeration value="DEFERRED" /> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="sortOrderType"> - <xsd:restriction base="xsd:token"> - <xsd:enumeration value="ASC" /> - <xsd:enumeration value="DESC" /> - </xsd:restriction> - </xsd:simpleType> - +<?xml version="1.0" encoding="UTF-8"?> +<xsd:schema + targetNamespace="http://jiemamy.org/xml/ns/core" + xmlns="http://jiemamy.org/xml/ns/core" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified" + attributeFormDefault="unqualified" + version="0.3"> + + <xsd:annotation> + <xsd:documentation xml:lang="en">Jiemamy model schema</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">Jiemamyモデルスキーマ</xsd:documentation> + </xsd:annotation> + + <xsd:element name="jiemamy"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Root element of Jiemamy model</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">Jiemamyモデルのルート要素</xsd:documentation> + <xsd:appinfo></xsd:appinfo> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence maxOccurs="1" minOccurs="1"> + <xsd:element name="dialect" type="fqcnType"> + <xsd:annotation> + <xsd:documentation xml:lang="en">SQL Dialect</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">デフォルトで使用されるSQL方言を表す</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="schemaName" type="xsd:string" minOccurs="0"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Schema name</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">スキーマ名を表す</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="description" minOccurs="0"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Database description</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">データベースの説明文</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="beginScript" minOccurs="0" /> + <xsd:element ref="endScript" minOccurs="0" /> + <xsd:element name="domains"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Data type domain definition</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">ドメイン定義部</xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element ref="domain"/> + </xsd:choice> + </xsd:complexType> + </xsd:element> + <xsd:element name="entities"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Entity definition</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">エンティティ定義部</xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element ref="table"/> + <xsd:element ref="view"/> + </xsd:choice> + </xsd:complexType> + </xsd:element> + <xsd:element ref="dataSets"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Insert data definition</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">データセット定義部</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other"/> + </xsd:sequence> + <xsd:attribute name="id" type="uuidType" use="required"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Model ID of RootModel</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">RootModelのモデルID</xsd:documentation> + </xsd:annotation> + </xsd:attribute> + <xsd:attribute name="version" type="xsd:string" use="required"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Jiemamy model schema version.</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">スキーマのバージョン</xsd:documentation> + </xsd:annotation> + </xsd:attribute> + </xsd:complexType> + </xsd:element> + + + <xsd:element name="domain"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Data type domain</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">ドメイン</xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="name"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Physical name of DOMAIN</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">ドメイン物理名</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="logicalName" minOccurs="0"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Logical name of DOMAIN</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">ドメイン論理名</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="description" minOccurs="0"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Domain description</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">ドメインの説明文</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="dataType" /> + <xsd:element ref="notNull" minOccurs="0"/> + <xsd:element ref="columnCheck" minOccurs="0"/> + <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="id" type="uuidType" use="required"/> + </xsd:complexType> + </xsd:element> + + + <xsd:element name="table"> + <xsd:annotation> + <xsd:documentation xml:lang="en">TABLE definition</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">テーブル定義</xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="name"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Physical name of TABLE</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">テーブル物理名</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="logicalName" minOccurs="0"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Logical name of TABLE</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">テーブル論理名</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="description" minOccurs="0"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Table description</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">テーブルの説明文</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="beginScript" minOccurs="0" /> + <xsd:element ref="endScript" minOccurs="0" /> + <xsd:element name="attributes"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Attribute (i.e. Column) of TABLE definition</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">テーブルの属性(カラム等)定義部</xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element ref="column" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element ref="primaryKey" minOccurs="0" /> + <xsd:element ref="uniqueKey" minOccurs="0" maxOccurs="unbounded" /> + <xsd:element ref="foreignKey" minOccurs="0" maxOccurs="unbounded" /> + <xsd:element ref="tableCheck" minOccurs="0" maxOccurs="unbounded" /> + </xsd:choice> + </xsd:complexType> + </xsd:element> + <xsd:element name="indexes" minOccurs="0"> + <xsd:complexType> + <xsd:sequence minOccurs="0" maxOccurs="unbounded"> + <xsd:element ref="index" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="id" type="uuidType" use="required" /> + </xsd:complexType> + </xsd:element> + + <xsd:element name="view"> + <xsd:annotation> + <xsd:documentation xml:lang="en">VIEW definition</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">ビュー定義</xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="name"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Physical name of VIEW</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">ビュー物理名</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="logicalName" minOccurs="0"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Logical name of VIEW</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">ビュー論理名</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="description" minOccurs="0"> + <xsd:annotation> + <xsd:documentation xml:lang="en">View description</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">ビューの説明文</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="beginScript" minOccurs="0" /> + <xsd:element ref="endScript" minOccurs="0" /> + <xsd:element name="definition" type="xsd:string" /> + <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="id" type="uuidType" use="required" /> + </xsd:complexType> + </xsd:element> + + + <xsd:element name="column"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Column of table</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">テーブルのカラム</xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="name"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Physical name of Column</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">カラム物理名</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="logicalName" minOccurs="0"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Logical name of Column</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">カラム論理名</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="description" minOccurs="0"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Column description</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">カラムの説明文</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="dataType" /> + <xsd:element ref="defaultValue" minOccurs="0" /> + <xsd:element ref="notNull" minOccurs="0"/> + <xsd:element ref="columnPrimaryKey" minOccurs="0"/> + <xsd:element ref="columnUniqueKey" minOccurs="0"/> + <xsd:element ref="columnCheck" minOccurs="0"/> + <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="id" type="uuidType" use="required" /> + </xsd:complexType> + </xsd:element> + + + <xsd:element name="columnPrimaryKey"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="name" minOccurs="0"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Physical name of Column PRIMARY KEY</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">カラム主キー名</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="id" type="uuidType" use="required" /> + </xsd:complexType> + </xsd:element> + + <xsd:element name="columnUniqueKey"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="name" minOccurs="0"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Physical name of Column UNIQUE key</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">カラム一意キー名</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="id" type="uuidType" use="required" /> + </xsd:complexType> + </xsd:element> + + + <xsd:element name="primaryKey"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="name" minOccurs="0"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Physical name of Table PRIMARY KEY</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">テーブル主キー名</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="logicalName" minOccurs="0"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Logical name of Table PRIMARY KEY</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">テーブル主キー論理名</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="description" minOccurs="0"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Table primary key description</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">テーブル主キーの説明文</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="columnRefs" minOccurs="1"/> + <xsd:element ref="deferrability" minOccurs="0" /> + <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="id" type="uuidType" use="required" /> + </xsd:complexType> + </xsd:element> + + <xsd:element name="uniqueKey"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="name" minOccurs="0"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Physical name of Table UNIQUE key</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">テーブル一意キー名</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="logicalName" minOccurs="0"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Logical name of Table UNIQUE key</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">テーブル一意キー論理名</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="description" minOccurs="0"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Table unique key description</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">テーブル一意キーの説明文</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="columnRefs" minOccurs="1"/> + <xsd:element ref="deferrability" minOccurs="0" /> + <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="id" type="uuidType" use="required" /> + </xsd:complexType> + </xsd:element> + + <xsd:element name="foreignKey"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Foreign key definition</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">外部キー</xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="name" minOccurs="0"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Physical name of FOREIGN KEY</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">外部キー名</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="logicalName" minOccurs="0"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Logical name of FOREIGN KEY</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">外部キー論理名</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="description" minOccurs="0"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Foreign key description</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">外部キーの説明文</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="columnRefs" minOccurs="0"/> + <xsd:element name="referenceColumns" minOccurs="0"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="columnRef" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element ref="deferrability" minOccurs="0" /> + <xsd:element name="matchType" type="matchTypeType" minOccurs="0"/> + <xsd:element name="onDelete" type="referentialActionType" minOccurs="0" /> + <xsd:element name="onUpdate" type="referentialActionType" minOccurs="0" /> + <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="id" type="uuidType" use="required" /> + </xsd:complexType> + </xsd:element> + + <xsd:element name="deferrability"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="deferrable" type="xsd:boolean"/> + <xsd:element name="initiallyCheckTime" type="initiallyCheckTimeType" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="id" type="uuidType" use="required" /> + </xsd:complexType> + </xsd:element> + + <xsd:element name="tableCheck"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="name" minOccurs="0"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Physical name of Table CHECK constraint</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">テーブルCHECK制約名</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="logicalName" minOccurs="0" /> + <xsd:element ref="description" minOccurs="0" /> + <xsd:element name="expression" type="xsd:string" /> + <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded" /> + </xsd:sequence> + <xsd:attribute name="id" type="uuidType" use="required" /> + </xsd:complexType> + </xsd:element> + + <xsd:element name="index"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="name"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Physical name of INDEX</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">インデックス名</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="indexColumns" /> + <xsd:element name="unique" type="xsd:boolean" /> + <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="id" type="uuidType" use="required" /> + </xsd:complexType> + </xsd:element> + + <xsd:element name="indexColumns"> + <xsd:complexType> + <xsd:sequence minOccurs="1" maxOccurs="unbounded"> + <xsd:element ref="indexColumn" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="indexColumn"> + <xsd:complexType> + <xsd:sequence minOccurs="1" maxOccurs="unbounded"> + <xsd:element ref="name" minOccurs="0" /> + <xsd:element ref="columnRef" /> + <xsd:element name="sortOrder" type="sortOrderType" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="id" type="uuidType" use="required" /> + </xsd:complexType> + </xsd:element> + + <xsd:element name="columnRefs"> + <xsd:complexType> + <xsd:sequence minOccurs="1" maxOccurs="unbounded"> + <xsd:element ref="columnRef" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="columnRef"> + <xsd:complexType mixed="true"> + <xsd:attribute name="ref" type="uuidRefType" use="required" /> + </xsd:complexType> + </xsd:element> + + + <xsd:element name="beginScript"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Begin script output before target definition</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">開始スクリプト(このモデルのSQL表現を出力する直前に追加されるSQL文)</xsd:documentation> + </xsd:annotation> + <xsd:complexType mixed="true"> + <xsd:attribute name="engine" type="fqcnType" use="optional" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="endScript"> + <xsd:annotation> + <xsd:documentation xml:lang="en">End script output after target definition</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">終了スクリプト(このモデルのSQL表現を出力する直後に追加されるSQL文)</xsd:documentation> + </xsd:annotation> + <xsd:complexType mixed="true"> + <xsd:attribute name="engine" type="fqcnType" use="optional" /> + </xsd:complexType> + </xsd:element> + + + <xsd:element name="dataType"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Data type</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">データ型</xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="typeCategory" minOccurs="0" type="typeCategoryType"/> + <xsd:element name="typeName" minOccurs="0" type="xsd:string"/> + <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <!-- TODO refがある時は、子elementは無しとしたい --> + <xsd:attribute name="ref" type="uuidRefType" use="optional" /> + </xsd:complexType> + </xsd:element> + + <xsd:element name="notNull"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="name" minOccurs="0"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Physical name of NOT NULL constraint</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">NOT NULL制約物理名</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="logicalName" minOccurs="0"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Logical name of NOT NULL constraint</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">NOT NULL制約論理名</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="description" minOccurs="0" /> + <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="id" type="uuidType" use="required" /> + </xsd:complexType> + </xsd:element> + + <xsd:element name="columnCheck"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="name" minOccurs="0" /> + <xsd:element name="expression" type="xsd:string"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Physical name of Column CHECK constraint</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">カラムCHECK制約物理名</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="adapter" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="id" type="uuidType" use="required" /> + </xsd:complexType> + </xsd:element> + + <xsd:element name="adapter"> + <xsd:complexType> + <xsd:sequence> + <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/> + </xsd:sequence> + <xsd:attribute name="class" type="fqcnType" use="required" /> + </xsd:complexType> + </xsd:element> + + <xsd:element name="dataSets"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="dataSet" minOccurs="0" maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="dataSet"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="name" /> + <xsd:element ref="tableRef" maxOccurs="unbounded" /> + </xsd:sequence> + <xsd:attribute name="id" type="uuidType" use="required" /> + </xsd:complexType> + </xsd:element> + + <xsd:element name="tableRef"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="record"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="columnRef" maxOccurs="unbounded" /> + </xsd:sequence> + <xsd:attribute name="id" type="uuidType" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + <xsd:attribute name="ref" type="uuidRefType" use="required" /> + </xsd:complexType> + </xsd:element> + + <xsd:element name="name" type="xsd:string"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Physical name of Jiemamy model</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">モデル名</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="logicalName" type="xsd:string"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Logical name of Jiemamy model</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">モデル論理名</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="description" type="xsd:string"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Description for Jiemamy model</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">モデルに対する説明文</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="defaultValue" type="xsd:string" /> + + <!-- 単純型 --> + + <xsd:simpleType name="uuidType"> + <xsd:annotation> + <xsd:documentation xml:lang="en">UUID type</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">UUID定義型</xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:string"> + <!-- + <xsd:pattern value="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"/> + --> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="uuidRefType"><!-- TODO xsd:key要素を使って、存在しないIDを参照できないようにしたい --> + <xsd:annotation> + <xsd:documentation xml:lang="en">Reference to UUID type</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">UUID参照型</xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:string"> + <!-- + <xsd:pattern value="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"/> + --> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="fqcnType"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Fully qualified class name type</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">完全修飾クラス名型</xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:string"> + <xsd:pattern value="([A-Za-z][A-Za-z0-9]*\.)*[A-Za-z][A-Za-z0-9]*"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="typeCategoryType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="CHARACTER" /> + <xsd:enumeration value="VARCHAR" /> + <xsd:enumeration value="CLOB" /> + <xsd:enumeration value="BLOB" /> + <xsd:enumeration value="BIT" /> + <xsd:enumeration value="VARBIT" /> + <xsd:enumeration value="NUMERIC" /> + <xsd:enumeration value="DECIMAL" /> + <xsd:enumeration value="INTEGER" /> + <xsd:enumeration value="SMALLINT" /> + <xsd:enumeration value="FLOAT" /> + <xsd:enumeration value="REAL" /> + <xsd:enumeration value="DOUBLE" /> + <xsd:enumeration value="BOOLEAN" /> + <xsd:enumeration value="DATE" /> + <xsd:enumeration value="TIME" /> + <xsd:enumeration value="TIMESTAMP" /> + <xsd:enumeration value="INTERVAL" /> + <xsd:enumeration value="OTHER" /> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="referentialActionType"> + <xsd:annotation> + <xsd:documentation xml:lang="ja-JP">onDelete/onUpdateに設定できる値</xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="CASCADE" /> + <xsd:enumeration value="SET_NULL" /> + <xsd:enumeration value="SET_DEFAULT" /> + <xsd:enumeration value="RESTRICT" /> + <xsd:enumeration value="NO_ACTION" /> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="matchTypeType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="SIMPLE" /> + <xsd:enumeration value="FULL" /> + <xsd:enumeration value="PARTIAL" /> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="initiallyCheckTimeType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="IMMEDIATE" /> + <xsd:enumeration value="DEFERRED" /> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="sortOrderType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="ASC" /> + <xsd:enumeration value="DESC" /> + </xsd:restriction> + </xsd:simpleType> + </xsd:schema> \ No newline at end of file Property changes on: zeus/trunk/jiemamy-spec-core/src/main/resources/jiemamy-core.xsd ___________________________________________________________________ Modified: svn:mime-type - text/plain + text/xml Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/main/resources/sample.xml =================================================================== --- zeus/trunk/jiemamy-spec-core/src/main/resources/sample.xml 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/main/resources/sample.xml 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,476 +1,476 @@ -<?xml version="1.0" encoding="UTF-8"?> -<jiemamy xmlns="http://jiemamy.org/xml/ns/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="d5a96af3-b1e9-4285-a8ef-c491ce5ae308" version="0.3" xsi:schemaLocation="http://jiemamy.org/xml/ns/core http://jiemamy.org/xml/0.3/jiemamy-core.xsd http://jiemamy.org/xml/ns/view http://jiemamy.org/xml/0.3/jiemamy-view.xsd"> - <dialect>org.jiemamy.dialect.mysql.MySqlDialect</dialect> - <schemaName>FOO</schemaName> - <description>Jiemamyテストモデル1</description> - <beginScript engine="org.jiemamy.script.PlainScriptEngine">BEGIN;</beginScript> - <endScript engine="org.jiemamy.script.PlainScriptEngine">COMMIT;</endScript> - <domains> - <domain id="2eec0aa0-5122-4eb7-833d-9f5a43e7abe9"> - <name>ID</name> - <dataType> - <typeCategory>INTEGER</typeCategory> - <typeName>INTEGER</typeName> - <adapter class="org.jiemamy.model.datatype.adapter.SerialDataTypeAdapter"> - <serial>true</serial> - </adapter> - </dataType> - <notNull id="af4845dc-7f3a-434d-b5ac-2f25b74d7e76"/> - <columnCheck id="48b76d76-b288-480a-afa4-111247379f8d"> - <name>hoge</name> - <expression>VALUE > 0</expression> - </columnCheck> - </domain> - <domain id="62f1e6ec-e6aa-4d52-a6c3-27dac086f2d7"> - <name>NAME</name> - <description>人名用の型です。</description> - <dataType> - <typeCategory>VARCHAR</typeCategory> - <typeName>VARCHAR</typeName> - <adapter class="org.jiemamy.model.datatype.adapter.SizedDataTypeAdapter"> - <size>32</size> - </adapter> - </dataType> - </domain> - </domains> - <entities> - <table id="9f522e56-809c-45fd-8416-39201014218b"> - <name>T_EMP</name> - <logicalName>従業員</logicalName> - <description>従業員マスタです。</description> - <beginScript engine="org.jiemamy.script.PlainScriptEngine">/* test end script */</beginScript> - <attributes> - <column id="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e"> - <name>ID</name> - <logicalName>従業員ID</logicalName> - <dataType ref="2eec0aa0-5122-4eb7-833d-9f5a43e7abe9"/> - </column> - <column id="248a429b-2159-4ebd-a791-eee42a059374"> - <name>EMP_NO</name> - <logicalName>従業員番号</logicalName> - <dataType> - <typeCategory>INTEGER</typeCategory> - <typeName>INTEGER</typeName> - </dataType> - <notNull id="05ee4c06-d8b5-4599-a7e9-1cda036ea2c7"> - <adapter class="org.jiemamy.utils.DisablableImpl"> - <disabled>true</disabled> - </adapter> - </notNull> - </column> - <column id="0e51b6df-43ab-408c-90ef-de13c6aab881"> - <name>EMP_NAME</name> - <logicalName>従業員名</logicalName> - <dataType ref="62f1e6ec-e6aa-4d52-a6c3-27dac086f2d7"/> - <defaultValue>no name</defaultValue> - <notNull id="41f178b9-2cb5-4dad-a6c0-48df2d5b1300"/> - <adapter class="org.jiemamy.model.attribute.RepresentationAdapter"> - <representation>true</representation> - </adapter> - </column> - <column id="3d21a85a-72de-41b3-99dd-f4cb94e58d84"> - <name>MGR_ID</name> - <logicalName>上司ID</logicalName> - <dataType> - <typeCategory>INTEGER</typeCategory> - <typeName>INTEGER</typeName> - </dataType> - </column> - <column id="f0b57eed-98ab-4c21-9855-218c592814dc"> - <name>HIREDATE</name> - <dataType> - <typeCategory>DATE</typeCategory> - <typeName>DATE</typeName> - </dataType> - <notNull id="2d66fd73-8d6b-41d8-b6b8-daec7d6c0c53"/> - </column> - <column id="80786549-dc2c-4c1c-bcbd-9f6fdec911d2"> - <name>SAL</name> - <dataType> - <typeCategory>NUMERIC</typeCategory> - <typeName>NUMERIC</typeName> - <adapter class="org.jiemamy.model.datatype.adapter.PrecisionedDataTypeAdapter"> - <precision>7</precision> - <scale>2</scale> - </adapter> - </dataType> - <notNull id="a446779a-4fb6-4a0f-8262-22daae856e85"/> - <columnCheck id="873f6660-7a61-4c2c-87a0-e922fa03b88c"> - <name>positive_sal</name> - <expression>SAL <= 0</expression> - </columnCheck> - </column> - <column id="4ae69b7a-7a0e-422a-89dc-0f0cff77565b"> - <name>DEPT_ID</name> - <dataType> - <typeCategory>INTEGER</typeCategory> - <typeName>INTEGER</typeName> - </dataType> - <notNull id="b9a0fdce-a965-4118-ae71-5dc7150f6d4e"/> - </column> - <primaryKey id="6145e6a0-9ff7-4033-999d-99d80392a48f"> - <name>emp_pkey</name> - <columnRefs> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e"/> - </columnRefs> - </primaryKey> - <foreignKey id="e43d3c43-33c8-4b02-aa42-83f2d868cfe6"> - <name>emp_mgr_id_fkey</name> - <columnRefs> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84"/> - </columnRefs> - <referenceColumns> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e"/> - </referenceColumns> - <deferrability id="9af096ba-8841-41ba-9dd4-02628b800bf0"> - <deferrable>true</deferrable> - <initiallyCheckTime>DEFERRED</initiallyCheckTime> - </deferrability> - <onDelete>SET_NULL</onDelete> - </foreignKey> - <foreignKey id="e7dd92b4-1d97-4be6-bab6-fa9fe26eb6ed"> - <name>emp_dept_id_fkey</name> - <columnRefs> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b"/> - </columnRefs> - <referenceColumns> - <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e"/> - </referenceColumns> - </foreignKey> - </attributes> - <indexes> - <index id="9abc9e01-4cdb-42fe-a495-93b56af35a1d"> - <name>IDX_EMP_NAME</name> - <indexColumns> - <indexColumn id="52d2b6aa-fff7-4c33-af13-f4d0b63e8e58"> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881"/> - <sortOrder>DESC</sortOrder> - </indexColumn> - </indexColumns> - <unique>false</unique> - </index> - </indexes> - </table> - <table id="d7489ed6-0add-443d-95cf-234376eb0455"> - <name>T_DEPT</name> - <description>部署マスタです。</description> - <beginScript engine="org.jiemamy.script.PlainScriptEngine">/* test begin script */</beginScript> - <attributes> - <column id="c7ed225d-92a6-4cc2-90de-60531804464e"> - <name>ID</name> - <logicalName>部署ID</logicalName> - <dataType ref="2eec0aa0-5122-4eb7-833d-9f5a43e7abe9"/> - <columnPrimaryKey id="8de55e65-ec48-467a-bac5-8eee2d71d41c"> - <name>dept_pkey</name> - </columnPrimaryKey> - </column> - <column id="2d951389-6bc7-49d7-8631-1d26fe17047e"> - <name>DEPT_NO</name> - <logicalName>部署番号</logicalName> - <dataType> - <typeCategory>INTEGER</typeCategory> - <typeName>INTEGER</typeName> - </dataType> - <notNull id="cc709f63-a886-4207-a316-58ad7f279e10"/> - </column> - <column id="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9"> - <name>DEPT_NAME</name> - <logicalName>部署名</logicalName> - <dataType> - <typeCategory>VARCHAR</typeCategory> - <typeName>VARCHAR</typeName> - <adapter class="org.jiemamy.model.datatype.adapter.SizedDataTypeAdapter"> - <size>20</size> - </adapter> - </dataType> - <notNull id="fab2f883-0489-4661-bd57-f04286188eef"/> - <adapter class="org.jiemamy.model.attribute.RepresentationAdapter"> - <representation>true</representation> - </adapter> - </column> - <column id="7bf79e76-07b8-43b6-a993-b8ef374a31f5"> - <name>LOC</name> - <logicalName>ロケーション</logicalName> - <dataType> - <typeCategory>VARCHAR</typeCategory> - <typeName>VARCHAR</typeName> - <adapter class="org.jiemamy.model.datatype.adapter.SizedDataTypeAdapter"> - <size>20</size> - </adapter> - </dataType> - <defaultValue>secret</defaultValue> - </column> - </attributes> - <indexes/> - </table> - <view id="516f7961-cb7b-48e2-990b-7fb0c750c3a4"> - <name>V_HIGH_SAL_EMP</name> - <logicalName>高給取り</logicalName> - <definition>SELECT * FROM T_EMP WHERE SAL > 2000;</definition> - </view> - </entities> - <dataSets> - <dataSet id="b73100b5-2d70-4b48-a825-311eacb63b2f"> - <name>データ群en</name> - <tableRef ref="9f522e56-809c-45fd-8416-39201014218b"> - <record id="6ce22d69-bd75-4822-946f-a51221fd45eb"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">1</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">10</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">SMITH</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">3</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2003-02-01</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">40</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">3</columnRef> - </record> - <record id="03962eb2-90ab-4cff-8fac-14e52e117361"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">2</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">20</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">ALLEN</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">3</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2000-03-04</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">50</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">4</columnRef> - </record> - <record id="f5f16c1e-4a41-4ccd-9c87-00c09c0e7609"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">3</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">30</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">WARD</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">1993-12-05</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">60</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">4</columnRef> - </record> - <record id="03a9e57f-3010-4d46-8024-1915c262749e"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">4</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">40</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">JONES</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">2</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2007-04-01</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">36</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">2</columnRef> - </record> - <record id="4206acce-b31f-4c2e-8682-4796254a4dca"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">5</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">50</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">MARTIN</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">1</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2002-05-30</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">30</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">3</columnRef> - </record> - <record id="6748ce0e-462d-44df-a536-18f14a3c2643"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">6</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">60</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">BLAKE</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">3</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2007-04-01</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">25</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">2</columnRef> - </record> - <record id="f8564bdf-f61c-4711-b606-69aed74324a6"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">7</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">70</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">CLARK</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">1</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2004-09-01</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">30</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">1</columnRef> - </record> - <record id="dd1cc8e1-7562-4539-86d8-5390d043325a"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">8</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">80</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">SCOTT</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">4</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2008-03-01</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">25</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">2</columnRef> - </record> - </tableRef> - <tableRef ref="d7489ed6-0add-443d-95cf-234376eb0455"> - <record id="176bfb08-99cb-4c76-bf8e-6979e0c7afb9"> - <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">1</columnRef> - <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">10</columnRef> - <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">ACCOUNTING</columnRef> - <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">NEW YORK</columnRef> - </record> - <record id="3971430b-ef1d-4e5a-b996-f2acfa7536c0"> - <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">2</columnRef> - <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">20</columnRef> - <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">RESEARCH</columnRef> - <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">DALLAS</columnRef> - </record> - <record id="0591cc1e-45a6-4598-b85a-20fae51b7991"> - <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">3</columnRef> - <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">30</columnRef> - <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">SALES</columnRef> - <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">CHICAGO</columnRef> - </record> - <record id="ac275955-4710-484a-b694-f7acc6ded08f"> - <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">4</columnRef> - <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">40</columnRef> - <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">OPERATIONS</columnRef> - <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">BOSTON</columnRef> - </record> - </tableRef> - </dataSet> - <dataSet id="91246ed4-1ef3-440e-bf12-40fa4439a71b"> - <name>データ群ja</name> - <tableRef ref="9f522e56-809c-45fd-8416-39201014218b"> - <record id="9365e670-1eff-4a23-90bd-f794b9742b10"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">1</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">10</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">鈴木 茂</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">3</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2003-02-01</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">40</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">3</columnRef> - </record> - <record id="90673863-ba77-461b-ab82-fffecd7e873b"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">2</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">20</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">内海 透</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">3</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2000-03-04</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">50</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">4</columnRef> - </record> - <record id="5bf32699-c2ff-4d96-9e26-2a3f3d7c7661"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">3</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">30</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">村瀬 武彦</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">1993-12-05</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">60</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">4</columnRef> - </record> - <record id="f164796f-ed85-48a0-98af-2f6045ee3a33"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">4</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">40</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">近藤 美樹</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">2</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2007-04-01</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">36</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">2</columnRef> - </record> - <record id="c10562ee-4ab9-40a5-8a21-83f331df5c85"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">5</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">50</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">榊 美子</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">1</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2002-05-30</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">30</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">3</columnRef> - </record> - <record id="29c9a655-f4ed-4753-aea6-1e21cb28f891"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">6</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">60</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">三浦 佑</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">3</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2007-04-01</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">25</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">2</columnRef> - </record> - <record id="b65b9b12-bb68-4845-a514-a57f0bd57616"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">7</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">70</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">前島 孝幸</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">1</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2004-09-01</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">30</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">1</columnRef> - </record> - <record id="0eb27151-323a-4679-bde4-0b01f561139f"> - <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">8</columnRef> - <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">80</columnRef> - <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">島崎 由比</columnRef> - <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">4</columnRef> - <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2008-03-01</columnRef> - <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">25</columnRef> - <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">2</columnRef> - </record> - </tableRef> - <tableRef ref="d7489ed6-0add-443d-95cf-234376eb0455"> - <record id="61671217-d61c-4f42-9985-4f6b2c970171"> - <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">1</columnRef> - <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">10</columnRef> - <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">経理部</columnRef> - <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">広島</columnRef> - </record> - <record id="171d019e-163f-42f6-82dc-15340798fdf4"> - <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">2</columnRef> - <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">20</columnRef> - <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">研究開発部</columnRef> - <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">京都</columnRef> - </record> - <record id="838344e6-093d-4202-aaca-bacf1a7ff376"> - <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">3</columnRef> - <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">30</columnRef> - <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">営業部</columnRef> - <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">東京</columnRef> - </record> - <record id="2f29bb19-0a20-4251-8052-568194e6101c"> - <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">4</columnRef> - <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">40</columnRef> - <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">経営本部</columnRef> - </record> - </tableRef> - </dataSet> - </dataSets> - <view:diagramPresentations xmlns:view="http://jiemamy.org/xml/ns/view"> - <view:diagramPresentation id="1deca0e8-6153-47ad-abe8-ac764f768d96"> - <name>全部表示する</name> - <view:mode>PHYSICAL</view:mode> - <view:level>ATTRTYPE</view:level> - <view:nodeProfiles> - <view:nodeProfile id="aa7caa23-7958-4bd0-a356-8f09d4b74f08"> - <view:nodeObjectRef ref="9f522e56-809c-45fd-8416-39201014218b"/> - <view:boundary height="-1" width="-1" x="360" y="60"/> - </view:nodeProfile> - <view:nodeProfile id="eb6506ef-4a25-4296-b6d7-c08741f19d5a"> - <view:nodeObjectRef ref="d7489ed6-0add-443d-95cf-234376eb0455"/> - <view:boundary height="-1" width="-1" x="60" y="60"/> - </view:nodeProfile> - <view:nodeProfile id="2387bfd0-7106-44ad-a34e-24231bbea6d5"> - <view:nodeObjectRef ref="516f7961-cb7b-48e2-990b-7fb0c750c3a4"/> - <view:boundary height="-1" width="-1" x="60" y="270"/> - </view:nodeProfile> - <view:nodeProfile id="2689d193-52a1-4fd4-a14c-9857274518c5"> - <view:sticky id="43beb884-2562-4480-8030-bb797f701783"> - <view:contents>メモーー</view:contents> - </view:sticky> - <view:boundary color="#0a0b0c" height="-1" width="-1" x="360" y="270"/> - </view:nodeProfile> - </view:nodeProfiles> - <view:connectionProfiles> - <view:connectionProfile id="366b547f-a2a6-42b2-a3a4-38745436c425"> - <view:connectionObjectRef ref="e43d3c43-33c8-4b02-aa42-83f2d868cfe6"/> - <view:bendpoints> - <view:bendpoint x="310" y="60"/> - <view:bendpoint x="360" y="10"/> - </view:bendpoints> - </view:connectionProfile> - <view:connectionProfile id="e5b3d709-2aea-4e26-a90c-b8f438d2da9d"> - <view:connectionObjectRef ref="e7dd92b4-1d97-4be6-bab6-fa9fe26eb6ed"/> - </view:connectionProfile> - </view:connectionProfiles> - </view:diagramPresentation> - <view:diagramPresentation id="53c7cdb7-1512-46c7-8ee3-aadec6007896"> - <name>一部表示する</name> - <view:mode>PHYSICAL</view:mode> - <view:level>ATTRTYPE</view:level> - <view:nodeProfiles> - <view:nodeProfile id="d71ff015-101c-4669-8745-312d1da34efe"> - <view:nodeObjectRef ref="9f522e56-809c-45fd-8416-39201014218b"/> - <view:boundary height="-1" width="-1" x="60" y="60"/> - </view:nodeProfile> - <view:nodeProfile id="2df7718f-d71e-4dbf-8327-e0ad36f03d5d"> - <view:nodeObjectRef ref="516f7961-cb7b-48e2-990b-7fb0c750c3a4"/> - <view:boundary height="-1" width="-1" x="270" y="270"/> - </view:nodeProfile> - </view:nodeProfiles> - <view:connectionProfiles> - <view:connectionProfile id="b615f111-5143-4b12-bfdb-9a06806a9ace"> - <view:connectionObjectRef ref="e7dd92b4-1d97-4be6-bab6-fa9fe26eb6ed"/> - </view:connectionProfile> - </view:connectionProfiles> - </view:diagramPresentation> - </view:diagramPresentations> -</jiemamy> +<?xml version="1.0" encoding="UTF-8"?> +<jiemamy xmlns="http://jiemamy.org/xml/ns/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="d5a96af3-b1e9-4285-a8ef-c491ce5ae308" version="0.3" xsi:schemaLocation="http://jiemamy.org/xml/ns/core http://jiemamy.org/xml/0.3/jiemamy-core.xsd http://jiemamy.org/xml/ns/view http://jiemamy.org/xml/0.3/jiemamy-view.xsd"> + <dialect>org.jiemamy.dialect.mysql.MySqlDialect</dialect> + <schemaName>FOO</schemaName> + <description>Jiemamyテストモデル1</description> + <beginScript engine="org.jiemamy.script.PlainScriptEngine">BEGIN;</beginScript> + <endScript engine="org.jiemamy.script.PlainScriptEngine">COMMIT;</endScript> + <domains> + <domain id="2eec0aa0-5122-4eb7-833d-9f5a43e7abe9"> + <name>ID</name> + <dataType> + <typeCategory>INTEGER</typeCategory> + <typeName>INTEGER</typeName> + <adapter class="org.jiemamy.model.datatype.adapter.SerialDataTypeAdapter"> + <serial>true</serial> + </adapter> + </dataType> + <notNull id="af4845dc-7f3a-434d-b5ac-2f25b74d7e76"/> + <columnCheck id="48b76d76-b288-480a-afa4-111247379f8d"> + <name>hoge</name> + <expression>VALUE > 0</expression> + </columnCheck> + </domain> + <domain id="62f1e6ec-e6aa-4d52-a6c3-27dac086f2d7"> + <name>NAME</name> + <description>人名用の型です。</description> + <dataType> + <typeCategory>VARCHAR</typeCategory> + <typeName>VARCHAR</typeName> + <adapter class="org.jiemamy.model.datatype.adapter.SizedDataTypeAdapter"> + <size>32</size> + </adapter> + </dataType> + </domain> + </domains> + <entities> + <table id="9f522e56-809c-45fd-8416-39201014218b"> + <name>T_EMP</name> + <logicalName>従業員</logicalName> + <description>従業員マスタです。</description> + <beginScript engine="org.jiemamy.script.PlainScriptEngine">/* test end script */</beginScript> + <attributes> + <column id="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e"> + <name>ID</name> + <logicalName>従業員ID</logicalName> + <dataType ref="2eec0aa0-5122-4eb7-833d-9f5a43e7abe9"/> + </column> + <column id="248a429b-2159-4ebd-a791-eee42a059374"> + <name>EMP_NO</name> + <logicalName>従業員番号</logicalName> + <dataType> + <typeCategory>INTEGER</typeCategory> + <typeName>INTEGER</typeName> + </dataType> + <notNull id="05ee4c06-d8b5-4599-a7e9-1cda036ea2c7"> + <adapter class="org.jiemamy.utils.DisablableImpl"> + <disabled>true</disabled> + </adapter> + </notNull> + </column> + <column id="0e51b6df-43ab-408c-90ef-de13c6aab881"> + <name>EMP_NAME</name> + <logicalName>従業員名</logicalName> + <dataType ref="62f1e6ec-e6aa-4d52-a6c3-27dac086f2d7"/> + <defaultValue>no name</defaultValue> + <notNull id="41f178b9-2cb5-4dad-a6c0-48df2d5b1300"/> + <adapter class="org.jiemamy.model.attribute.RepresentationAdapter"> + <representation>true</representation> + </adapter> + </column> + <column id="3d21a85a-72de-41b3-99dd-f4cb94e58d84"> + <name>MGR_ID</name> + <logicalName>上司ID</logicalName> + <dataType> + <typeCategory>INTEGER</typeCategory> + <typeName>INTEGER</typeName> + </dataType> + </column> + <column id="f0b57eed-98ab-4c21-9855-218c592814dc"> + <name>HIREDATE</name> + <dataType> + <typeCategory>DATE</typeCategory> + <typeName>DATE</typeName> + </dataType> + <notNull id="2d66fd73-8d6b-41d8-b6b8-daec7d6c0c53"/> + </column> + <column id="80786549-dc2c-4c1c-bcbd-9f6fdec911d2"> + <name>SAL</name> + <dataType> + <typeCategory>NUMERIC</typeCategory> + <typeName>NUMERIC</typeName> + <adapter class="org.jiemamy.model.datatype.adapter.PrecisionedDataTypeAdapter"> + <precision>7</precision> + <scale>2</scale> + </adapter> + </dataType> + <notNull id="a446779a-4fb6-4a0f-8262-22daae856e85"/> + <columnCheck id="873f6660-7a61-4c2c-87a0-e922fa03b88c"> + <name>positive_sal</name> + <expression>SAL <= 0</expression> + </columnCheck> + </column> + <column id="4ae69b7a-7a0e-422a-89dc-0f0cff77565b"> + <name>DEPT_ID</name> + <dataType> + <typeCategory>INTEGER</typeCategory> + <typeName>INTEGER</typeName> + </dataType> + <notNull id="b9a0fdce-a965-4118-ae71-5dc7150f6d4e"/> + </column> + <primaryKey id="6145e6a0-9ff7-4033-999d-99d80392a48f"> + <name>emp_pkey</name> + <columnRefs> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e"/> + </columnRefs> + </primaryKey> + <foreignKey id="e43d3c43-33c8-4b02-aa42-83f2d868cfe6"> + <name>emp_mgr_id_fkey</name> + <columnRefs> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84"/> + </columnRefs> + <referenceColumns> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e"/> + </referenceColumns> + <deferrability id="9af096ba-8841-41ba-9dd4-02628b800bf0"> + <deferrable>true</deferrable> + <initiallyCheckTime>DEFERRED</initiallyCheckTime> + </deferrability> + <onDelete>SET_NULL</onDelete> + </foreignKey> + <foreignKey id="e7dd92b4-1d97-4be6-bab6-fa9fe26eb6ed"> + <name>emp_dept_id_fkey</name> + <columnRefs> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b"/> + </columnRefs> + <referenceColumns> + <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e"/> + </referenceColumns> + </foreignKey> + </attributes> + <indexes> + <index id="9abc9e01-4cdb-42fe-a495-93b56af35a1d"> + <name>IDX_EMP_NAME</name> + <indexColumns> + <indexColumn id="52d2b6aa-fff7-4c33-af13-f4d0b63e8e58"> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881"/> + <sortOrder>DESC</sortOrder> + </indexColumn> + </indexColumns> + <unique>false</unique> + </index> + </indexes> + </table> + <table id="d7489ed6-0add-443d-95cf-234376eb0455"> + <name>T_DEPT</name> + <description>部署マスタです。</description> + <beginScript engine="org.jiemamy.script.PlainScriptEngine">/* test begin script */</beginScript> + <attributes> + <column id="c7ed225d-92a6-4cc2-90de-60531804464e"> + <name>ID</name> + <logicalName>部署ID</logicalName> + <dataType ref="2eec0aa0-5122-4eb7-833d-9f5a43e7abe9"/> + <columnPrimaryKey id="8de55e65-ec48-467a-bac5-8eee2d71d41c"> + <name>dept_pkey</name> + </columnPrimaryKey> + </column> + <column id="2d951389-6bc7-49d7-8631-1d26fe17047e"> + <name>DEPT_NO</name> + <logicalName>部署番号</logicalName> + <dataType> + <typeCategory>INTEGER</typeCategory> + <typeName>INTEGER</typeName> + </dataType> + <notNull id="cc709f63-a886-4207-a316-58ad7f279e10"/> + </column> + <column id="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9"> + <name>DEPT_NAME</name> + <logicalName>部署名</logicalName> + <dataType> + <typeCategory>VARCHAR</typeCategory> + <typeName>VARCHAR</typeName> + <adapter class="org.jiemamy.model.datatype.adapter.SizedDataTypeAdapter"> + <size>20</size> + </adapter> + </dataType> + <notNull id="fab2f883-0489-4661-bd57-f04286188eef"/> + <adapter class="org.jiemamy.model.attribute.RepresentationAdapter"> + <representation>true</representation> + </adapter> + </column> + <column id="7bf79e76-07b8-43b6-a993-b8ef374a31f5"> + <name>LOC</name> + <logicalName>ロケーション</logicalName> + <dataType> + <typeCategory>VARCHAR</typeCategory> + <typeName>VARCHAR</typeName> + <adapter class="org.jiemamy.model.datatype.adapter.SizedDataTypeAdapter"> + <size>20</size> + </adapter> + </dataType> + <defaultValue>secret</defaultValue> + </column> + </attributes> + <indexes/> + </table> + <view id="516f7961-cb7b-48e2-990b-7fb0c750c3a4"> + <name>V_HIGH_SAL_EMP</name> + <logicalName>高給取り</logicalName> + <definition>SELECT * FROM T_EMP WHERE SAL > 2000;</definition> + </view> + </entities> + <dataSets> + <dataSet id="b73100b5-2d70-4b48-a825-311eacb63b2f"> + <name>データ群en</name> + <tableRef ref="9f522e56-809c-45fd-8416-39201014218b"> + <record id="6ce22d69-bd75-4822-946f-a51221fd45eb"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">1</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">10</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">SMITH</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">3</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2003-02-01</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">40</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">3</columnRef> + </record> + <record id="03962eb2-90ab-4cff-8fac-14e52e117361"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">2</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">20</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">ALLEN</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">3</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2000-03-04</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">50</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">4</columnRef> + </record> + <record id="f5f16c1e-4a41-4ccd-9c87-00c09c0e7609"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">3</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">30</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">WARD</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">1993-12-05</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">60</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">4</columnRef> + </record> + <record id="03a9e57f-3010-4d46-8024-1915c262749e"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">4</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">40</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">JONES</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">2</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2007-04-01</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">36</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">2</columnRef> + </record> + <record id="4206acce-b31f-4c2e-8682-4796254a4dca"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">5</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">50</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">MARTIN</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">1</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2002-05-30</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">30</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">3</columnRef> + </record> + <record id="6748ce0e-462d-44df-a536-18f14a3c2643"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">6</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">60</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">BLAKE</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">3</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2007-04-01</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">25</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">2</columnRef> + </record> + <record id="f8564bdf-f61c-4711-b606-69aed74324a6"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">7</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">70</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">CLARK</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">1</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2004-09-01</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">30</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">1</columnRef> + </record> + <record id="dd1cc8e1-7562-4539-86d8-5390d043325a"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">8</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">80</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">SCOTT</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">4</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2008-03-01</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">25</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">2</columnRef> + </record> + </tableRef> + <tableRef ref="d7489ed6-0add-443d-95cf-234376eb0455"> + <record id="176bfb08-99cb-4c76-bf8e-6979e0c7afb9"> + <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">1</columnRef> + <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">10</columnRef> + <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">ACCOUNTING</columnRef> + <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">NEW YORK</columnRef> + </record> + <record id="3971430b-ef1d-4e5a-b996-f2acfa7536c0"> + <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">2</columnRef> + <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">20</columnRef> + <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">RESEARCH</columnRef> + <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">DALLAS</columnRef> + </record> + <record id="0591cc1e-45a6-4598-b85a-20fae51b7991"> + <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">3</columnRef> + <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">30</columnRef> + <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">SALES</columnRef> + <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">CHICAGO</columnRef> + </record> + <record id="ac275955-4710-484a-b694-f7acc6ded08f"> + <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">4</columnRef> + <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">40</columnRef> + <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">OPERATIONS</columnRef> + <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">BOSTON</columnRef> + </record> + </tableRef> + </dataSet> + <dataSet id="91246ed4-1ef3-440e-bf12-40fa4439a71b"> + <name>データ群ja</name> + <tableRef ref="9f522e56-809c-45fd-8416-39201014218b"> + <record id="9365e670-1eff-4a23-90bd-f794b9742b10"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">1</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">10</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">鈴木 茂</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">3</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2003-02-01</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">40</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">3</columnRef> + </record> + <record id="90673863-ba77-461b-ab82-fffecd7e873b"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">2</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">20</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">内海 透</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">3</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2000-03-04</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">50</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">4</columnRef> + </record> + <record id="5bf32699-c2ff-4d96-9e26-2a3f3d7c7661"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">3</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">30</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">村瀬 武彦</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">1993-12-05</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">60</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">4</columnRef> + </record> + <record id="f164796f-ed85-48a0-98af-2f6045ee3a33"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">4</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">40</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">近藤 美樹</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">2</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2007-04-01</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">36</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">2</columnRef> + </record> + <record id="c10562ee-4ab9-40a5-8a21-83f331df5c85"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">5</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">50</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">榊 美子</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">1</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2002-05-30</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">30</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">3</columnRef> + </record> + <record id="29c9a655-f4ed-4753-aea6-1e21cb28f891"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">6</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">60</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">三浦 佑</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">3</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2007-04-01</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">25</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">2</columnRef> + </record> + <record id="b65b9b12-bb68-4845-a514-a57f0bd57616"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">7</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">70</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">前島 孝幸</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">1</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2004-09-01</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">30</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">1</columnRef> + </record> + <record id="0eb27151-323a-4679-bde4-0b01f561139f"> + <columnRef ref="44c8e93d-b7ad-46cc-9b29-88c3a7d6c33e">8</columnRef> + <columnRef ref="248a429b-2159-4ebd-a791-eee42a059374">80</columnRef> + <columnRef ref="0e51b6df-43ab-408c-90ef-de13c6aab881">島崎 由比</columnRef> + <columnRef ref="3d21a85a-72de-41b3-99dd-f4cb94e58d84">4</columnRef> + <columnRef ref="f0b57eed-98ab-4c21-9855-218c592814dc">2008-03-01</columnRef> + <columnRef ref="80786549-dc2c-4c1c-bcbd-9f6fdec911d2">25</columnRef> + <columnRef ref="4ae69b7a-7a0e-422a-89dc-0f0cff77565b">2</columnRef> + </record> + </tableRef> + <tableRef ref="d7489ed6-0add-443d-95cf-234376eb0455"> + <record id="61671217-d61c-4f42-9985-4f6b2c970171"> + <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">1</columnRef> + <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">10</columnRef> + <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">経理部</columnRef> + <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">広島</columnRef> + </record> + <record id="171d019e-163f-42f6-82dc-15340798fdf4"> + <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">2</columnRef> + <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">20</columnRef> + <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">研究開発部</columnRef> + <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">京都</columnRef> + </record> + <record id="838344e6-093d-4202-aaca-bacf1a7ff376"> + <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">3</columnRef> + <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">30</columnRef> + <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">営業部</columnRef> + <columnRef ref="7bf79e76-07b8-43b6-a993-b8ef374a31f5">東京</columnRef> + </record> + <record id="2f29bb19-0a20-4251-8052-568194e6101c"> + <columnRef ref="c7ed225d-92a6-4cc2-90de-60531804464e">4</columnRef> + <columnRef ref="2d951389-6bc7-49d7-8631-1d26fe17047e">40</columnRef> + <columnRef ref="1fcd63d3-974e-4d2e-a0d8-3b9c233104d9">経営本部</columnRef> + </record> + </tableRef> + </dataSet> + </dataSets> + <view:diagramPresentations xmlns:view="http://jiemamy.org/xml/ns/view"> + <view:diagramPresentation id="1deca0e8-6153-47ad-abe8-ac764f768d96"> + <name>全部表示する</name> + <view:mode>PHYSICAL</view:mode> + <view:level>ATTRTYPE</view:level> + <view:nodeProfiles> + <view:nodeProfile id="aa7caa23-7958-4bd0-a356-8f09d4b74f08"> + <view:nodeObjectRef ref="9f522e56-809c-45fd-8416-39201014218b"/> + <view:boundary height="-1" width="-1" x="360" y="60"/> + </view:nodeProfile> + <view:nodeProfile id="eb6506ef-4a25-4296-b6d7-c08741f19d5a"> + <view:nodeObjectRef ref="d7489ed6-0add-443d-95cf-234376eb0455"/> + <view:boundary height="-1" width="-1" x="60" y="60"/> + </view:nodeProfile> + <view:nodeProfile id="2387bfd0-7106-44ad-a34e-24231bbea6d5"> + <view:nodeObjectRef ref="516f7961-cb7b-48e2-990b-7fb0c750c3a4"/> + <view:boundary height="-1" width="-1" x="60" y="270"/> + </view:nodeProfile> + <view:nodeProfile id="2689d193-52a1-4fd4-a14c-9857274518c5"> + <view:sticky id="43beb884-2562-4480-8030-bb797f701783"> + <view:contents>メモーー</view:contents> + </view:sticky> + <view:boundary color="#0a0b0c" height="-1" width="-1" x="360" y="270"/> + </view:nodeProfile> + </view:nodeProfiles> + <view:connectionProfiles> + <view:connectionProfile id="366b547f-a2a6-42b2-a3a4-38745436c425"> + <view:connectionObjectRef ref="e43d3c43-33c8-4b02-aa42-83f2d868cfe6"/> + <view:bendpoints> + <view:bendpoint x="310" y="60"/> + <view:bendpoint x="360" y="10"/> + </view:bendpoints> + </view:connectionProfile> + <view:connectionProfile id="e5b3d709-2aea-4e26-a90c-b8f438d2da9d"> + <view:connectionObjectRef ref="e7dd92b4-1d97-4be6-bab6-fa9fe26eb6ed"/> + </view:connectionProfile> + </view:connectionProfiles> + </view:diagramPresentation> + <view:diagramPresentation id="53c7cdb7-1512-46c7-8ee3-aadec6007896"> + <name>一部表示する</name> + <view:mode>PHYSICAL</view:mode> + <view:level>ATTRTYPE</view:level> + <view:nodeProfiles> + <view:nodeProfile id="d71ff015-101c-4669-8745-312d1da34efe"> + <view:nodeObjectRef ref="9f522e56-809c-45fd-8416-39201014218b"/> + <view:boundary height="-1" width="-1" x="60" y="60"/> + </view:nodeProfile> + <view:nodeProfile id="2df7718f-d71e-4dbf-8327-e0ad36f03d5d"> + <view:nodeObjectRef ref="516f7961-cb7b-48e2-990b-7fb0c750c3a4"/> + <view:boundary height="-1" width="-1" x="270" y="270"/> + </view:nodeProfile> + </view:nodeProfiles> + <view:connectionProfiles> + <view:connectionProfile id="b615f111-5143-4b12-bfdb-9a06806a9ace"> + <view:connectionObjectRef ref="e7dd92b4-1d97-4be6-bab6-fa9fe26eb6ed"/> + </view:connectionProfile> + </view:connectionProfiles> + </view:diagramPresentation> + </view:diagramPresentations> +</jiemamy> Property changes on: zeus/trunk/jiemamy-spec-core/src/main/resources/sample.xml ___________________________________________________________________ Added: svn:mime-type + text/xml Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/site/docbook/reference/index.xml =================================================================== --- zeus/trunk/jiemamy-spec-core/src/site/docbook/reference/index.xml 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/site/docbook/reference/index.xml 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,61 +1,61 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<book xmlns="http://docbook.org/ns/docbook" version="5.0" - xml:lang="ja"> - <info> - <title>Jiemamy Hestia クイックスタート リファレンス</title> - <author> - <personname> - <firstname>ダイスケ</firstname> - <surname>都元</surname> - </personname> - <affiliation> - <address> - <email>dai_dot_0304_at_gmail.com</email> - </address> - </affiliation> - </author> - - <copyright> - <year>2009</year> - <holder>Jiemamy Project and the Others.</holder> - </copyright> - - <abstract> - <para>JiemamyはオープンソースのDB設計・リファクタリングサポートツールです。</para> - <para>DBリファクタリングの必要性は明らかですが、様々な要因により、気軽にリファクタリングを行うことができません。 -Jiemamyは、DBの進化的設計(Evolutionaly Database Design)を実現するために、以下の要件を軸に、 -DBに依存するシステムの開発・運用をサポートします。現在のところ、Jiemamyモデルエディタとして「Jiemamy Eclipse Plugin」、 -補助ツール(ダイアグラム→SQL変換)として「Maven Jiemamy Plugin」を、プログラム上からJiemamyモデルを操作するためのAPIとして -「Jiemamy API」を提供しています。 - </para> - </abstract> - </info> - - <preface xml:id="preface"> - <title>前書き</title> - <para>前書きの段落</para> - <para>前書きの2段落目</para> - </preface> - - <chapter xml:id="chapter1"> - <title>はじめの章</title> - <para>段落</para> - <sect1 xml:id="firstsect"> - <title>1段階目のセクション</title> - <para>1段階目のセクションの段落</para> - <sect2 xml:id="secondsect.firstsect"> - <title>2段階目のセクション</title> - <para>2段階目のセクションの中の段落</para> - </sect2> - <sect2 xml:id="secondsect2.firstsect"> - <title>2段階目のセクションの2つ目</title> - <para>2段階目のセクションの2つめの中の段落</para> - </sect2> - </sect1> - </chapter> - - <chapter xml:id="chapter2"> - <title>2番目の章</title> - <para>2番目の章の段落</para> - </chapter> -</book> +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<book xmlns="http://docbook.org/ns/docbook" version="5.0" + xml:lang="ja"> + <info> + <title>Jiemamy Hestia クイックスタート リファレンス</title> + <author> + <personname> + <firstname>ダイスケ</firstname> + <surname>都元</surname> + </personname> + <affiliation> + <address> + <email>dai_dot_0304_at_gmail.com</email> + </address> + </affiliation> + </author> + + <copyright> + <year>2009</year> + <holder>Jiemamy Project and the Others.</holder> + </copyright> + + <abstract> + <para>JiemamyはオープンソースのDB設計・リファクタリングサポートツールです。</para> + <para>DBリファクタリングの必要性は明らかですが、様々な要因により、気軽にリファクタリングを行うことができません。 +Jiemamyは、DBの進化的設計(Evolutionaly Database Design)を実現するために、以下の要件を軸に、 +DBに依存するシステムの開発・運用をサポートします。現在のところ、Jiemamyモデルエディタとして「Jiemamy Eclipse Plugin」、 +補助ツール(ダイアグラム→SQL変換)として「Maven Jiemamy Plugin」を、プログラム上からJiemamyモデルを操作するためのAPIとして +「Jiemamy API」を提供しています。 + </para> + </abstract> + </info> + + <preface xml:id="preface"> + <title>前書き</title> + <para>前書きの段落</para> + <para>前書きの2段落目</para> + </preface> + + <chapter xml:id="chapter1"> + <title>はじめの章</title> + <para>段落</para> + <sect1 xml:id="firstsect"> + <title>1段階目のセクション</title> + <para>1段階目のセクションの段落</para> + <sect2 xml:id="secondsect.firstsect"> + <title>2段階目のセクション</title> + <para>2段階目のセクションの中の段落</para> + </sect2> + <sect2 xml:id="secondsect2.firstsect"> + <title>2段階目のセクションの2つ目</title> + <para>2段階目のセクションの2つめの中の段落</para> + </sect2> + </sect1> + </chapter> + + <chapter xml:id="chapter2"> + <title>2番目の章</title> + <para>2番目の章の段落</para> + </chapter> +</book> Property changes on: zeus/trunk/jiemamy-spec-core/src/site/docbook/reference/index.xml ___________________________________________________________________ Modified: svn:mime-type - text/plain + text/xml Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/site/site.xml =================================================================== --- zeus/trunk/jiemamy-spec-core/src/site/site.xml 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/site/site.xml 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,18 +1,18 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project name="Jiemamy: ${project.name}"> - <body> - <links> - <item name="${project.name}" href="index.html"/> - </links> - <menu name="Project Documentation"> - <item name="${project.name}" href="index.html"/> - <item name="Reference" href="reference/index.html"/> - <!-- - <item name="Html" href="reference/html/index.html"/> - <item name="Html-Single" href="reference/html-single/index.html"/> - <item name="Pdf" href="reference/pdf/spring-batch-docs.pdf"/> - --> - </menu> - ${reports} - </body> -</project> +<?xml version="1.0" encoding="UTF-8"?> +<project name="Jiemamy: ${project.name}"> + <body> + <links> + <item name="${project.name}" href="index.html"/> + </links> + <menu name="Project Documentation"> + <item name="${project.name}" href="index.html"/> + <item name="Reference" href="reference/index.html"/> + <!-- + <item name="Html" href="reference/html/index.html"/> + <item name="Html-Single" href="reference/html-single/index.html"/> + <item name="Pdf" href="reference/pdf/spring-batch-docs.pdf"/> + --> + </menu> + ${reports} + </body> +</project> Property changes on: zeus/trunk/jiemamy-spec-core/src/site/site.xml ___________________________________________________________________ Added: svn:mime-type + text/xml Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/test/java/org/jiemamy/test/SampleXmlCoreTest.java =================================================================== --- zeus/trunk/jiemamy-spec-core/src/test/java/org/jiemamy/test/SampleXmlCoreTest.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/test/java/org/jiemamy/test/SampleXmlCoreTest.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,76 +1,76 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/01/15 - * - * 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.test; - -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.CoreMatchers.not; -import static org.junit.Assume.assumeThat; - -import javax.xml.XMLConstants; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.transform.Source; -import javax.xml.transform.dom.DOMSource; -import javax.xml.validation.Schema; -import javax.xml.validation.SchemaFactory; -import javax.xml.validation.Validator; - -import org.junit.Test; -import org.w3c.dom.Document; - -/** - * サンプルとして用意した sample.xml と、XML Schemaファイルの定義の整合性をチェックするテストクラス。 - * - * @author daisuke - */ -public class SampleXmlCoreTest { - - /** - * sample.xmlとxsdの整合性をチェックする。 - * - * @throws Exception 例外が発生した場合 - */ - @Test - public void test01_sample_xmlとxsdの整合性をチェックする() throws Exception { - // Windowsでは通り、Linuxではコケるので、ひとまずLinuxではテストしない。 - assumeThat(System.getProperty("os.name").toLowerCase(), is(not("linux"))); - - // XML SchemaのDOMを作る - DocumentBuilderFactory factory0 = DocumentBuilderFactory.newInstance(); - DocumentBuilder builder0 = factory0.newDocumentBuilder(); - Document coreXsd = builder0.parse(SampleXmlCoreTest.class.getResourceAsStream("/jiemamy-core.xsd")); - - // XML Schemaオブジェクトを作る - SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); - Schema schema = schemaFactory.newSchema(new Source[] { - new DOMSource(coreXsd), - }); - - // 検証対象のDOMを作る - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - factory.setNamespaceAware(true); - factory.setSchema(schema); - DocumentBuilder builder = factory.newDocumentBuilder(); - Document document = builder.parse(SampleXmlCoreTest.class.getResourceAsStream("/sample.xml")); - - // 妥当性検証 - Validator validator = schema.newValidator(); - validator.validate(new DOMSource(document)); - } -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/01/15 + * + * 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.test; + +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.CoreMatchers.not; +import static org.junit.Assume.assumeThat; + +import javax.xml.XMLConstants; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.transform.Source; +import javax.xml.transform.dom.DOMSource; +import javax.xml.validation.Schema; +import javax.xml.validation.SchemaFactory; +import javax.xml.validation.Validator; + +import org.junit.Test; +import org.w3c.dom.Document; + +/** + * サンプルとして用意した sample.xml と、XML Schemaファイルの定義の整合性をチェックするテストクラス。 + * + * @author daisuke + */ +public class SampleXmlCoreTest { + + /** + * sample.xmlとxsdの整合性をチェックする。 + * + * @throws Exception 例外が発生した場合 + */ + @Test + public void test01_sample_xmlとxsdの整合性をチェックする() throws Exception { + // Windowsでは通り、Linuxではコケるので、ひとまずLinuxではテストしない。 + assumeThat(System.getProperty("os.name").toLowerCase(), is(not("linux"))); + + // XML SchemaのDOMを作る + DocumentBuilderFactory factory0 = DocumentBuilderFactory.newInstance(); + DocumentBuilder builder0 = factory0.newDocumentBuilder(); + Document coreXsd = builder0.parse(SampleXmlCoreTest.class.getResourceAsStream("/jiemamy-core.xsd")); + + // XML Schemaオブジェクトを作る + SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); + Schema schema = schemaFactory.newSchema(new Source[] { + new DOMSource(coreXsd), + }); + + // 検証対象のDOMを作る + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + factory.setNamespaceAware(true); + factory.setSchema(schema); + DocumentBuilder builder = factory.newDocumentBuilder(); + Document document = builder.parse(SampleXmlCoreTest.class.getResourceAsStream("/sample.xml")); + + // 妥当性検証 + Validator validator = schema.newValidator(); + validator.validate(new DOMSource(document)); + } +} Property changes on: zeus/trunk/jiemamy-spec-core/src/test/java/org/jiemamy/test/SampleXmlCoreTest.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-core/src/test/resources/logback.xml =================================================================== --- zeus/trunk/jiemamy-spec-core/src/test/resources/logback.xml 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-core/src/test/resources/logback.xml 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,18 +1,18 @@ -<?xml version="1.0" encoding="UTF-8"?> -<configuration> - <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> - <Target>System.out</Target> - <layout class="ch.qos.logback.classic.PatternLayout"> - <Pattern>%d{HH:mm:ss.SSS z,JST} [%thread] %-5level %logger{36} - %msg%n</Pattern> - </layout> - </appender> - - <root> - <level value="WARN" /> - <appender-ref ref="STDOUT" /> - </root> - - <logger name="org.jiemamy"> - <level value="TRACE" /> - </logger> -</configuration> +<?xml version="1.0" encoding="UTF-8"?> +<configuration> + <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> + <Target>System.out</Target> + <layout class="ch.qos.logback.classic.PatternLayout"> + <Pattern>%d{HH:mm:ss.SSS z,JST} [%thread] %-5level %logger{36} - %msg%n</Pattern> + </layout> + </appender> + + <root> + <level value="WARN" /> + <appender-ref ref="STDOUT" /> + </root> + + <logger name="org.jiemamy"> + <level value="TRACE" /> + </logger> +</configuration> Property changes on: zeus/trunk/jiemamy-spec-core/src/test/resources/logback.xml ___________________________________________________________________ Modified: svn:mime-type - text/plain + text/xml Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-diff/LICENSE.txt =================================================================== --- zeus/trunk/jiemamy-spec-diff/LICENSE.txt 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-diff/LICENSE.txt 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,202 +1,202 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. Property changes on: zeus/trunk/jiemamy-spec-diff/LICENSE.txt ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-diff/build.properties =================================================================== --- zeus/trunk/jiemamy-spec-diff/build.properties 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-diff/build.properties 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,18 +1,18 @@ -#Sat Jul 19 17:59:26 JST 2008 -bin.includes = .,\ - META-INF/,\ - LICENSE.txt -output..=target/classes/ -source..=src/main/java/,src/main/resources/ -bin.excludes=lib/sources/ -javacCustomEncodings.. = src[UTF-8] -src.includes = src/,\ - pom.xml,\ - build.properties,\ - META-INF/,\ - LICENSE.txt,\ - .settings/,\ - .project,\ - .fbprefs,\ - .classpath,\ - .checkstyle +#Sat Jul 19 17:59:26 JST 2008 +bin.includes = .,\ + META-INF/,\ + LICENSE.txt +output..=target/classes/ +source..=src/main/java/,src/main/resources/ +bin.excludes=lib/sources/ +javacCustomEncodings.. = src[UTF-8] +src.includes = src/,\ + pom.xml,\ + build.properties,\ + META-INF/,\ + LICENSE.txt,\ + .settings/,\ + .project,\ + .fbprefs,\ + .classpath,\ + .checkstyle Property changes on: zeus/trunk/jiemamy-spec-diff/build.properties ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-diff/license/list.txt =================================================================== --- zeus/trunk/jiemamy-spec-diff/license/list.txt 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-diff/license/list.txt 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,3 +1,3 @@ -The Apache Software License, Version 2.0: - Jiemamy Core Specifications, - Jiemamy Diff Specifications +The Apache Software License, Version 2.0: + Jiemamy Core Specifications, + Jiemamy Diff Specifications Property changes on: zeus/trunk/jiemamy-spec-diff/license/list.txt ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-diff/pom.xml =================================================================== --- zeus/trunk/jiemamy-spec-diff/pom.xml 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-diff/pom.xml 2009-09-20 17:35:30 UTC (rev 3646) @@ -2,15 +2,15 @@ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> + <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.jiemamy</groupId> - <artifactId>jiemamy-zeus</artifactId> + <artifactId>jiemamy-zeus</artifactId> <version>0.3-SNAPSHOT</version> <relativePath>../jiemamy-zeus</relativePath> </parent> <groupId>org.jiemamy</groupId> - <artifactId>jiemamy-spec-diff</artifactId> + <artifactId>jiemamy-spec-diff</artifactId> <name>Jiemamy Diff Specifications</name> <version>${project.parent.version}</version> <description><![CDATA[Jiemamyの差分モデル仕様を提供するコンポーネント]]></description> @@ -30,7 +30,7 @@ <developerConnection>scm:svn:svn+ssh://svn.sourceforge.jp/svnroot/jiemamy/artemis/trunk/org.jiemamy.spec.diff</developerConnection> <url>http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi/artemis/trunk/org.jiemamy.spec.diff/?root=jiemamy</url> </scm> - <dependencies> + <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> @@ -43,10 +43,10 @@ <version>1.1</version> <scope>test</scope> </dependency> - <dependency> - <groupId>${project.groupId}</groupId> - <artifactId>jiemamy-spec-core</artifactId> - <version>${project.version}</version> - </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>jiemamy-spec-core</artifactId> + <version>${project.version}</version> + </dependency> </dependencies> </project> \ No newline at end of file Property changes on: zeus/trunk/jiemamy-spec-diff/pom.xml ___________________________________________________________________ Modified: svn:mime-type - text/plain + text/xml Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-diff/src/main/java/org/jiemamy/diff/Diff.java =================================================================== --- zeus/trunk/jiemamy-spec-diff/src/main/java/org/jiemamy/diff/Diff.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-diff/src/main/java/org/jiemamy/diff/Diff.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,30 +1,30 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/12/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.diff; - -/** - * TODO for daisuke - * - * @author daisuke - */ -public interface Diff { - -// List<JiemamyXmlCommand> getDeltaCommands(); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/12/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.diff; + +/** + * TODO for daisuke + * + * @author daisuke + */ +public interface Diff { + +// List<JiemamyXmlCommand> getDeltaCommands(); + +} Property changes on: zeus/trunk/jiemamy-spec-diff/src/main/java/org/jiemamy/diff/Diff.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-view/LICENSE.txt =================================================================== --- zeus/trunk/jiemamy-spec-view/LICENSE.txt 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-view/LICENSE.txt 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,202 +1,202 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. Property changes on: zeus/trunk/jiemamy-spec-view/LICENSE.txt ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-view/license/LICENSE.hamcrest.txt =================================================================== --- zeus/trunk/jiemamy-spec-view/license/LICENSE.hamcrest.txt 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-view/license/LICENSE.hamcrest.txt 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,27 +1,27 @@ -BSD License - -Copyright (c) 2000-2006, www.hamcrest.org -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list of -conditions and the following disclaimer. Redistributions in binary form must reproduce -the above copyright notice, this list of conditions and the following disclaimer in -the documentation and/or other materials provided with the distribution. - -Neither the name of Hamcrest nor the names of its contributors may be used to endorse -or promote products derived from this software without specific prior written -permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT -SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY -WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +BSD License + +Copyright (c) 2000-2006, www.hamcrest.org +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of +conditions and the following disclaimer. Redistributions in binary form must reproduce +the above copyright notice, this list of conditions and the following disclaimer in +the documentation and/or other materials provided with the distribution. + +Neither the name of Hamcrest nor the names of its contributors may be used to endorse +or promote products derived from this software without specific prior written +permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY +WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. Property changes on: zeus/trunk/jiemamy-spec-view/license/LICENSE.hamcrest.txt ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Property changes on: zeus/trunk/jiemamy-spec-view/license/LICENSE.junit.html ___________________________________________________________________ Modified: svn:mime-type - text/plain + text/html Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-view/license/list.txt =================================================================== --- zeus/trunk/jiemamy-spec-view/license/list.txt 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-view/license/list.txt 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,10 +1,10 @@ -BSD style: - Hamcrest Core, - Hamcrest Library - -Common Public License Version 1.0: - JUnit - -The Apache Software License, Version 2.0: - Jiemamy Core Specifications, - Jiemamy View Specifications +BSD style: + Hamcrest Core, + Hamcrest Library + +Common Public License Version 1.0: + JUnit + +The Apache Software License, Version 2.0: + Jiemamy Core Specifications, + Jiemamy View Specifications Property changes on: zeus/trunk/jiemamy-spec-view/license/list.txt ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-view/pom.xml =================================================================== --- zeus/trunk/jiemamy-spec-view/pom.xml 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-view/pom.xml 2009-09-20 17:35:30 UTC (rev 3646) @@ -2,15 +2,15 @@ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> + <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.jiemamy</groupId> - <artifactId>jiemamy-zeus</artifactId> + <artifactId>jiemamy-zeus</artifactId> <version>0.3-SNAPSHOT</version> <relativePath>../jiemamy-zeus</relativePath> </parent> <groupId>org.jiemamy</groupId> - <artifactId>jiemamy-spec-view</artifactId> + <artifactId>jiemamy-spec-view</artifactId> <name>Jiemamy View Specifications</name> <version>${project.parent.version}</version> <description><![CDATA[JiemamyのER図表現モデル仕様を提供するコンポーネント]]></description> @@ -30,23 +30,23 @@ <developerConnection>scm:svn:svn+ssh://svn.sourceforge.jp/svnroot/jiemamy/artemis/trunk/org.jiemamy.spec.diff</developerConnection> <url>http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi/artemis/trunk/org.jiemamy.spec.diff/?root=jiemamy</url> </scm> - <dependencies> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.5</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.hamcrest</groupId> - <artifactId>hamcrest-library</artifactId> - <version>1.1</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>${project.groupId}</groupId> - <artifactId>jiemamy-spec-core</artifactId> - <version>${project.version}</version> - </dependency> + <dependencies> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.5</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.hamcrest</groupId> + <artifactId>hamcrest-library</artifactId> + <version>1.1</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>jiemamy-spec-core</artifactId> + <version>${project.version}</version> + </dependency> </dependencies> </project> \ No newline at end of file Property changes on: zeus/trunk/jiemamy-spec-view/pom.xml ___________________________________________________________________ Modified: svn:mime-type - text/plain + text/xml Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/JiemamyViewProperty.java =================================================================== --- zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/JiemamyViewProperty.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/JiemamyViewProperty.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,101 +1,101 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/03/01 - * - * 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; - -import org.jiemamy.model.ConnectionProfile; -import org.jiemamy.model.DiagramPresentationModel; -import org.jiemamy.model.JiemamyElement; -import org.jiemamy.model.NodeProfile; -import org.jiemamy.model.node.StickyModel; - -/** - * J-view内の各モデルの「概念的な」(実装としては強要しない)プロパティを表す列挙型を集約したクラス。 - * - * @param <T> モデルの型 - * @since 0.2 - * @author shin1ogawa - */ -public interface JiemamyViewProperty<T extends JiemamyElement> extends JiemamyProperty<T> { - - /** - * {@link ConnectionProfile}のプロパティを表す列挙型。 - * - * @since 0.2 - * @author shin1ogawa - */ - public enum ConnectionProfileProperty implements JiemamyViewProperty<ConnectionProfile> { - - /** {@link ConnectionProfile#getBendpoints()}で取得できるプロパティ */ - bendpoints, - - /** {@link ConnectionProfile#getColor()}で取得できるプロパティ */ - color - } - - /** - * {@link DiagramPresentationModel}のプロパティを表す列挙型。 - * - * @since 0.2 - * @author shin1ogawa - */ - public enum DiagramPresentationProperty implements JiemamyViewProperty<DiagramPresentationModel> { - - /** {@link DiagramPresentationModel#getConnectionProfiles()}で取得できるプロパティ */ - connectionProfiles, - - /** {@link DiagramPresentationModel#getNodeProfiles()}で取得できるプロパティ */ - nodeProfiles, - - /** {@link DiagramPresentationModel#getLevel()}で取得できるプロパティ */ - level, - - /** {@link DiagramPresentationModel#getMode()}で取得できるプロパティ */ - mode, - - /** {@link DiagramPresentationModel#getName()}で取得できるプロパティ */ - name - } - - /** - * {@link NodeProfile}のプロパティを表す列挙型。 - * - * @since 0.2 - * @author shin1ogawa - */ - public enum NodeProfileProperty implements JiemamyViewProperty<NodeProfile> { - - /** {@link NodeProfile#getBoundary()}で取得できるプロパティ */ - boundary, - - /** {@link NodeProfile#getColor()}で取得できるプロパティ */ - color - } - - /** - * {@link StickyModel}のプロパティを表す列挙型。 - * - * @since 0.2 - * @author daisuke - */ - public enum StickyProperty implements JiemamyViewProperty<StickyModel> { - - /** {@link StickyModel#getContents()}で取得できるプロパティ */ - contents - } -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/03/01 + * + * 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; + +import org.jiemamy.model.ConnectionProfile; +import org.jiemamy.model.DiagramPresentationModel; +import org.jiemamy.model.JiemamyElement; +import org.jiemamy.model.NodeProfile; +import org.jiemamy.model.node.StickyModel; + +/** + * J-view内の各モデルの「概念的な」(実装としては強要しない)プロパティを表す列挙型を集約したクラス。 + * + * @param <T> モデルの型 + * @since 0.2 + * @author shin1ogawa + */ +public interface JiemamyViewProperty<T extends JiemamyElement> extends JiemamyProperty<T> { + + /** + * {@link ConnectionProfile}のプロパティを表す列挙型。 + * + * @since 0.2 + * @author shin1ogawa + */ + public enum ConnectionProfileProperty implements JiemamyViewProperty<ConnectionProfile> { + + /** {@link ConnectionProfile#getBendpoints()}で取得できるプロパティ */ + bendpoints, + + /** {@link ConnectionProfile#getColor()}で取得できるプロパティ */ + color + } + + /** + * {@link DiagramPresentationModel}のプロパティを表す列挙型。 + * + * @since 0.2 + * @author shin1ogawa + */ + public enum DiagramPresentationProperty implements JiemamyViewProperty<DiagramPresentationModel> { + + /** {@link DiagramPresentationModel#getConnectionProfiles()}で取得できるプロパティ */ + connectionProfiles, + + /** {@link DiagramPresentationModel#getNodeProfiles()}で取得できるプロパティ */ + nodeProfiles, + + /** {@link DiagramPresentationModel#getLevel()}で取得できるプロパティ */ + level, + + /** {@link DiagramPresentationModel#getMode()}で取得できるプロパティ */ + mode, + + /** {@link DiagramPresentationModel#getName()}で取得できるプロパティ */ + name + } + + /** + * {@link NodeProfile}のプロパティを表す列挙型。 + * + * @since 0.2 + * @author shin1ogawa + */ + public enum NodeProfileProperty implements JiemamyViewProperty<NodeProfile> { + + /** {@link NodeProfile#getBoundary()}で取得できるプロパティ */ + boundary, + + /** {@link NodeProfile#getColor()}で取得できるプロパティ */ + color + } + + /** + * {@link StickyModel}のプロパティを表す列挙型。 + * + * @since 0.2 + * @author daisuke + */ + public enum StickyProperty implements JiemamyViewProperty<StickyModel> { + + /** {@link StickyModel#getContents()}で取得できるプロパティ */ + contents + } +} Property changes on: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/JiemamyViewProperty.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/Migration.java =================================================================== --- zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/Migration.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/Migration.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,43 +1,43 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/12/01 - * - * 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; - -/** - * bacchusからartemisへの拡張にあたって、足りていない情報を定数で与えるためのクラス。 - * - * <p>将来、動的に動作すべき箇所が参照しており、そのあかつきには消されなければならないクラス。</p> - * - * @since 0.2 - * @author daisuke - */ -public class Migration { - - /** - * ダイアグラム番号 - * - * マルチダイアグラム対応後に、削除されなければいけない。 - * @since 0.2 - */ - public static final int DIAGRAM_INDEX = 0; - - - private Migration() { - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/12/01 + * + * 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; + +/** + * bacchusからartemisへの拡張にあたって、足りていない情報を定数で与えるためのクラス。 + * + * <p>将来、動的に動作すべき箇所が参照しており、そのあかつきには消されなければならないクラス。</p> + * + * @since 0.2 + * @author daisuke + */ +public class Migration { + + /** + * ダイアグラム番号 + * + * マルチダイアグラム対応後に、削除されなければいけない。 + * @since 0.2 + */ + public static final int DIAGRAM_INDEX = 0; + + + private Migration() { + } + +} Property changes on: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/Migration.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/facade/JiemamyViewFacade.java =================================================================== --- zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/facade/JiemamyViewFacade.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/facade/JiemamyViewFacade.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,224 +1,224 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/03/03 - * - * 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.facade; - -import org.jiemamy.model.ConnectionProfile; -import org.jiemamy.model.DiagramPresentations; -import org.jiemamy.model.NodeProfile; -import org.jiemamy.model.RootModel; -import org.jiemamy.model.attribute.constraint.ForeignKey; -import org.jiemamy.model.connection.ConnectionAdapter; -import org.jiemamy.model.entity.EntityModel; -import org.jiemamy.model.entity.TableModel; -import org.jiemamy.model.geometory.JmColor; -import org.jiemamy.model.geometory.JmPoint; -import org.jiemamy.model.geometory.JmRectangle; -import org.jiemamy.model.node.NodeAdapter; - -/** - * JiemamyのView仕様を含めたモデル操作を単純化するためのファサードインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface JiemamyViewFacade extends JiemamyFacade { - - /** - * コネクションにベンドポイントを追加する。 - * - * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) - * @param connectionAdapter 操作対象のコネクション - * @param bendpointIndex source側からtarget側に向かって数えたベンドポイントのインデックス - * @param position ベンドポイントの座標 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void addBendpoint(int diagramIndex, ConnectionAdapter connectionAdapter, int bendpointIndex, JmPoint position); - - /** - * コネクションにビジュアル情報を設定する。 - * - * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) - * @param connectionAdapter コネクション - * @param connectionProfile ビジュアル情報 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void addConnectionProfile(int diagramIndex, ConnectionAdapter connectionAdapter, ConnectionProfile connectionProfile); - - /** - * {@link NodeProfile}を追加(表示状態にする)し、 {@link EntityModel}のラッピングノードであった場合は、{@link RootModel}に - * 対しての追加処理も行う。 - * - * <p>この操作に伴って、あらためて{@link #addEntity(EntityModel)}を実行する必要はない。</p> - * - * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) - * @param nodeAdapter ノードに対応する{@link NodeAdapter} - * @param rectangle {@code draw2D}のRectangleから{@link JmRectangle}に変換したもの - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void addNode(int diagramIndex, NodeAdapter nodeAdapter, JmRectangle rectangle); - - /** - * {@link RootModel}に登録された{@link DiagramPresentations}アダプタに{@link NodeProfile}を追加する。 - * - * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) - * @param nodeAdapter ノードに対応する{@link NodeAdapter} - * @param nodeProfile 追加する{@link NodeProfile} - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void addNodeProfile(int diagramIndex, NodeAdapter nodeAdapter, NodeProfile nodeProfile); - - /** - * ノードの位置サイズを変更する。 - * - * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) - * @param nodeAdapter 操作対象のノード - * @param boundary 新しい位置サイズ - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void changeNodeBoundary(int diagramIndex, NodeAdapter nodeAdapter, JmRectangle boundary); - - /** - * ノードの色を変更する - * - * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) - * @param nodeAdapter 操作対象のノード - * @param color 新しい色 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void changeNodeColor(int diagramIndex, NodeAdapter nodeAdapter, JmColor color); - - /** - * ふたつの{@link TableModel}を関連づける{@link ForeignKey}を作成する。 - * - * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) - * @param connectionAdapter コネクションに対応する{@link ConnectionAdapter} - * @param sourceTable 接続元のテーブル - * @param targetTable 接続先のテーブル - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void createConnection(int diagramIndex, ConnectionAdapter connectionAdapter, TableModel sourceTable, - TableModel targetTable); - - /** - * ベンドポイントを移動する。 - * - * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) - * @param connectionAdapter 操作対象のコネクション - * @param bendpointIndex source側からtarget側に向かって数えたベンドポイントのインデックス - * @param position 新しい座標 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void moveBendpoint(int diagramIndex, ConnectionAdapter connectionAdapter, int bendpointIndex, JmPoint position); - - /** - * ベンドポイントを削除する。 - * - * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) - * @param connectionAdapter 削除対象のコネクション - * @param bendpointIndex source側からtarget側に向かって数えたベンドポイントのインデックス - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void removeBendpoint(int diagramIndex, ConnectionAdapter connectionAdapter, int bendpointIndex); - - /** - * {@link RootModel}に登録された{@link DiagramPresentations}アダプタから{@link ConnectionProfile}を削除する。 - * - * <ul> - * <li>コネクションが外部キーだった場合は、テーブルから外部キーも削除する。</li> - * </ul> - * - * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) - * @param connectionAdapter ノードに対応する{@link ConnectionAdapter} - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void removeConnection(int diagramIndex, ConnectionAdapter connectionAdapter); - - /** - * {@link RootModel}に登録された{@link DiagramPresentations}アダプタから{@link ConnectionProfile}を削除する。 - * - * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) - * @param connectionAdapter ノードに対応する{@link ConnectionAdapter} - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void removeConnectionProfile(int diagramIndex, ConnectionAdapter connectionAdapter); - - /** - * ノードを削除する。 - * - * <ul> - * <li>ノードがエンティティだった場合は、{@link RootModel}からエンティティも削除する。</li> - * <li>このノードから出るコネクション及び、このノードへ向かうコネクションも同時に削除する。</li> - * </ul> - * - * <p>GEFCommandで使用するためのよりファサードに近いメソッド。</p> - * <p>テストしやすくするためにj-eclipseから引っ張りだしてきた。</p> - * - * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) - * @param nodeAdapter 削除対象のノード - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void removeNode(int diagramIndex, NodeAdapter nodeAdapter); - - /** - * {@link RootModel}に登録された{@link DiagramPresentations}アダプタから{@link NodeProfile}を削除する。 - * - * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) - * @param nodeAdapter ノードに対応する{@link NodeAdapter} - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void removeNodeProfile(int diagramIndex, NodeAdapter nodeAdapter); - - /** - * ベンドポイントをリセットする。 - * - * <p>基本的にベンドポイントは全て削除されるが、自己接続コネクションであった場合は、可読性の向上のため、 - * 2つ程度のベンドポイントを自動作成してもよい。</p> - * - * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) - * @param connectionAdapter コネクション - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void resetBendpoint(int diagramIndex, ConnectionAdapter connectionAdapter); - - /** - * ノードの色を設定する。 - * - * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) - * @param nodeAdapter ノード - * @param color 色 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void setColor(int diagramIndex, NodeAdapter nodeAdapter, JmColor color); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/03/03 + * + * 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.facade; + +import org.jiemamy.model.ConnectionProfile; +import org.jiemamy.model.DiagramPresentations; +import org.jiemamy.model.NodeProfile; +import org.jiemamy.model.RootModel; +import org.jiemamy.model.attribute.constraint.ForeignKey; +import org.jiemamy.model.connection.ConnectionAdapter; +import org.jiemamy.model.entity.EntityModel; +import org.jiemamy.model.entity.TableModel; +import org.jiemamy.model.geometory.JmColor; +import org.jiemamy.model.geometory.JmPoint; +import org.jiemamy.model.geometory.JmRectangle; +import org.jiemamy.model.node.NodeAdapter; + +/** + * JiemamyのView仕様を含めたモデル操作を単純化するためのファサードインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface JiemamyViewFacade extends JiemamyFacade { + + /** + * コネクションにベンドポイントを追加する。 + * + * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) + * @param connectionAdapter 操作対象のコネクション + * @param bendpointIndex source側からtarget側に向かって数えたベンドポイントのインデックス + * @param position ベンドポイントの座標 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void addBendpoint(int diagramIndex, ConnectionAdapter connectionAdapter, int bendpointIndex, JmPoint position); + + /** + * コネクションにビジュアル情報を設定する。 + * + * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) + * @param connectionAdapter コネクション + * @param connectionProfile ビジュアル情報 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void addConnectionProfile(int diagramIndex, ConnectionAdapter connectionAdapter, ConnectionProfile connectionProfile); + + /** + * {@link NodeProfile}を追加(表示状態にする)し、 {@link EntityModel}のラッピングノードであった場合は、{@link RootModel}に + * 対しての追加処理も行う。 + * + * <p>この操作に伴って、あらためて{@link #addEntity(EntityModel)}を実行する必要はない。</p> + * + * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) + * @param nodeAdapter ノードに対応する{@link NodeAdapter} + * @param rectangle {@code draw2D}のRectangleから{@link JmRectangle}に変換したもの + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void addNode(int diagramIndex, NodeAdapter nodeAdapter, JmRectangle rectangle); + + /** + * {@link RootModel}に登録された{@link DiagramPresentations}アダプタに{@link NodeProfile}を追加する。 + * + * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) + * @param nodeAdapter ノードに対応する{@link NodeAdapter} + * @param nodeProfile 追加する{@link NodeProfile} + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void addNodeProfile(int diagramIndex, NodeAdapter nodeAdapter, NodeProfile nodeProfile); + + /** + * ノードの位置サイズを変更する。 + * + * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) + * @param nodeAdapter 操作対象のノード + * @param boundary 新しい位置サイズ + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void changeNodeBoundary(int diagramIndex, NodeAdapter nodeAdapter, JmRectangle boundary); + + /** + * ノードの色を変更する + * + * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) + * @param nodeAdapter 操作対象のノード + * @param color 新しい色 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void changeNodeColor(int diagramIndex, NodeAdapter nodeAdapter, JmColor color); + + /** + * ふたつの{@link TableModel}を関連づける{@link ForeignKey}を作成する。 + * + * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) + * @param connectionAdapter コネクションに対応する{@link ConnectionAdapter} + * @param sourceTable 接続元のテーブル + * @param targetTable 接続先のテーブル + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void createConnection(int diagramIndex, ConnectionAdapter connectionAdapter, TableModel sourceTable, + TableModel targetTable); + + /** + * ベンドポイントを移動する。 + * + * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) + * @param connectionAdapter 操作対象のコネクション + * @param bendpointIndex source側からtarget側に向かって数えたベンドポイントのインデックス + * @param position 新しい座標 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void moveBendpoint(int diagramIndex, ConnectionAdapter connectionAdapter, int bendpointIndex, JmPoint position); + + /** + * ベンドポイントを削除する。 + * + * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) + * @param connectionAdapter 削除対象のコネクション + * @param bendpointIndex source側からtarget側に向かって数えたベンドポイントのインデックス + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void removeBendpoint(int diagramIndex, ConnectionAdapter connectionAdapter, int bendpointIndex); + + /** + * {@link RootModel}に登録された{@link DiagramPresentations}アダプタから{@link ConnectionProfile}を削除する。 + * + * <ul> + * <li>コネクションが外部キーだった場合は、テーブルから外部キーも削除する。</li> + * </ul> + * + * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) + * @param connectionAdapter ノードに対応する{@link ConnectionAdapter} + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void removeConnection(int diagramIndex, ConnectionAdapter connectionAdapter); + + /** + * {@link RootModel}に登録された{@link DiagramPresentations}アダプタから{@link ConnectionProfile}を削除する。 + * + * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) + * @param connectionAdapter ノードに対応する{@link ConnectionAdapter} + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void removeConnectionProfile(int diagramIndex, ConnectionAdapter connectionAdapter); + + /** + * ノードを削除する。 + * + * <ul> + * <li>ノードがエンティティだった場合は、{@link RootModel}からエンティティも削除する。</li> + * <li>このノードから出るコネクション及び、このノードへ向かうコネクションも同時に削除する。</li> + * </ul> + * + * <p>GEFCommandで使用するためのよりファサードに近いメソッド。</p> + * <p>テストしやすくするためにj-eclipseから引っ張りだしてきた。</p> + * + * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) + * @param nodeAdapter 削除対象のノード + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void removeNode(int diagramIndex, NodeAdapter nodeAdapter); + + /** + * {@link RootModel}に登録された{@link DiagramPresentations}アダプタから{@link NodeProfile}を削除する。 + * + * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) + * @param nodeAdapter ノードに対応する{@link NodeAdapter} + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void removeNodeProfile(int diagramIndex, NodeAdapter nodeAdapter); + + /** + * ベンドポイントをリセットする。 + * + * <p>基本的にベンドポイントは全て削除されるが、自己接続コネクションであった場合は、可読性の向上のため、 + * 2つ程度のベンドポイントを自動作成してもよい。</p> + * + * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) + * @param connectionAdapter コネクション + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void resetBendpoint(int diagramIndex, ConnectionAdapter connectionAdapter); + + /** + * ノードの色を設定する。 + * + * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) + * @param nodeAdapter ノード + * @param color 色 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void setColor(int diagramIndex, NodeAdapter nodeAdapter, JmColor color); + +} Property changes on: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/facade/JiemamyViewFacade.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/ConnectionProfile.java =================================================================== --- zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/ConnectionProfile.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/ConnectionProfile.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,66 +1,66 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/02/28 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.model; - -import java.util.List; - -import org.jiemamy.model.geometory.JmColor; -import org.jiemamy.model.geometory.JmPoint; - -/** - * コネクションのビジュアル情報インターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface ConnectionProfile extends JiemamyElement { - - /** - * ベンドポイントのリストを取得する。 - * - * <p>リストの順序は、コネクションのsource側からtargetに向かう順序である。</p> - * - * <p>ベンドポイントが1つも設定されていない場合は、空のリストを返す。</p> - * - * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link List}を直接操作することで、 - * このオブジェクトのフィールドとして保持される{@link List}を変更することができる。</p> - * - * @return ベンドポイントのリスト - * @since 0.2 - */ - List<JmPoint> getBendpoints(); - - /** - * コネクションの色情報を取得する。 - * - * @return コネクションの色情報. 未設定の場合は{@code null} - * @since 0.2 - */ - JmColor getColor(); - - /** - * コネクションの色情報を設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param color コネクションの色情報 - * @since 0.2 - */ - void setColor(JmColor color); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/02/28 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.model; + +import java.util.List; + +import org.jiemamy.model.geometory.JmColor; +import org.jiemamy.model.geometory.JmPoint; + +/** + * コネクションのビジュアル情報インターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface ConnectionProfile extends JiemamyElement { + + /** + * ベンドポイントのリストを取得する。 + * + * <p>リストの順序は、コネクションのsource側からtargetに向かう順序である。</p> + * + * <p>ベンドポイントが1つも設定されていない場合は、空のリストを返す。</p> + * + * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link List}を直接操作することで、 + * このオブジェクトのフィールドとして保持される{@link List}を変更することができる。</p> + * + * @return ベンドポイントのリスト + * @since 0.2 + */ + List<JmPoint> getBendpoints(); + + /** + * コネクションの色情報を取得する。 + * + * @return コネクションの色情報. 未設定の場合は{@code null} + * @since 0.2 + */ + JmColor getColor(); + + /** + * コネクションの色情報を設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param color コネクションの色情報 + * @since 0.2 + */ + void setColor(JmColor color); +} Property changes on: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/ConnectionProfile.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/DiagramPresentationModel.java =================================================================== --- zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/DiagramPresentationModel.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/DiagramPresentationModel.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,114 +1,114 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/09/17 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.model; - -import java.util.Map; - -import org.jiemamy.model.connection.ConnectionAdapter; -import org.jiemamy.model.node.NodeAdapter; - -/** - * ダイアグラム表現を表すモデルインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface DiagramPresentationModel extends JiemamyElement { - - /** - * コネクションのビジュアル情報を取得する。 - * - * <p>モデルとしては存在するがダイアグラム上で非表示にするコネクションは、{@link Map#containsKey(Object)}が - * {@code true}となる。</p> - * - * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link Map}を直接操作することで、 - * このオブジェクトのフィールドとして保持される{@link Map}を変更することができる。</p> - * - * @return コネクションのビジュアル情報 - * @since 0.2 - */ - Map<ConnectionAdapter, ConnectionProfile> getConnectionProfiles(); - - /** - * ノードのビジュアル情報を取得する。 - * - * <p>モデルとしては存在するがダイアグラム上で非表示にするノードは、{@link Map#containsKey(Object)}が - * {@code true}となる。</p> - * - * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link Map}を直接操作することで、 - * このオブジェクトのフィールドとして保持される{@link Map}を変更することができる。</p> - * - * @return ノードのビジュアル情報 - * @since 0.2 - */ - Map<NodeAdapter, NodeProfile> getNodeProfiles(); - - /** - * 表示レベルを取得する。 - * - * @return 表示レベル. 未設定の場合は{@code null} - * @since 0.2 - */ - Level getLevel(); - - /** - * 物理/論理モードを取得する。 - * - * @return 物理/論理モード. 未設定の場合は{@code null} - * @since 0.2 - */ - Mode getMode(); - - /** - * プレゼンテーション名を取得する。 - * - * @return プレゼンテーション名. 未設定の場合は{@code null} - * @since 0.2 - */ - String getName(); - - /** - * 表示レベルを取得する。 - * - * @param level 表示レベル - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void setLevel(Level level); - - /** - * 物理/論理モードを取得する。 - * - * @param mode 物理/論理モード - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void setMode(Mode mode); - - /** - * プレゼンテーション名を設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param name プレゼンテーション名 - * @since 0.2 - */ - void setName(String name); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/09/17 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.model; + +import java.util.Map; + +import org.jiemamy.model.connection.ConnectionAdapter; +import org.jiemamy.model.node.NodeAdapter; + +/** + * ダイアグラム表現を表すモデルインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface DiagramPresentationModel extends JiemamyElement { + + /** + * コネクションのビジュアル情報を取得する。 + * + * <p>モデルとしては存在するがダイアグラム上で非表示にするコネクションは、{@link Map#containsKey(Object)}が + * {@code true}となる。</p> + * + * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link Map}を直接操作することで、 + * このオブジェクトのフィールドとして保持される{@link Map}を変更することができる。</p> + * + * @return コネクションのビジュアル情報 + * @since 0.2 + */ + Map<ConnectionAdapter, ConnectionProfile> getConnectionProfiles(); + + /** + * ノードのビジュアル情報を取得する。 + * + * <p>モデルとしては存在するがダイアグラム上で非表示にするノードは、{@link Map#containsKey(Object)}が + * {@code true}となる。</p> + * + * <p>このメソッドは、インスタンスの持つフィールドをそのまま返す。返される{@link Map}を直接操作することで、 + * このオブジェクトのフィールドとして保持される{@link Map}を変更することができる。</p> + * + * @return ノードのビジュアル情報 + * @since 0.2 + */ + Map<NodeAdapter, NodeProfile> getNodeProfiles(); + + /** + * 表示レベルを取得する。 + * + * @return 表示レベル. 未設定の場合は{@code null} + * @since 0.2 + */ + Level getLevel(); + + /** + * 物理/論理モードを取得する。 + * + * @return 物理/論理モード. 未設定の場合は{@code null} + * @since 0.2 + */ + Mode getMode(); + + /** + * プレゼンテーション名を取得する。 + * + * @return プレゼンテーション名. 未設定の場合は{@code null} + * @since 0.2 + */ + String getName(); + + /** + * 表示レベルを取得する。 + * + * @param level 表示レベル + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void setLevel(Level level); + + /** + * 物理/論理モードを取得する。 + * + * @param mode 物理/論理モード + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void setMode(Mode mode); + + /** + * プレゼンテーション名を設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param name プレゼンテーション名 + * @since 0.2 + */ + void setName(String name); + +} Property changes on: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/DiagramPresentationModel.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/DiagramPresentations.java =================================================================== --- zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/DiagramPresentations.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/DiagramPresentations.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,66 +1,66 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/09/24 - * - * 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; - -/** - * ダイアグラム表現の集合を表すモデルインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ - @ Adapter(AdapterType.MODEL) -public interface DiagramPresentations extends Iterable<DiagramPresentationModel> { - - /** - * ダイアグラム表現を追加する。 - * - * @param presentation 追加するダイアグラム表現 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void add(DiagramPresentationModel presentation); - - /** - * ダイアグラム表現を取得する。 - * - * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) - * @return ダイアグラム表現 - * @throws IndexOutOfBoundsException diagramIndexが範囲外(index < 0 || index >= size())だった場合 - * @since 0.2 - */ - DiagramPresentationModel get(int diagramIndex); - - /** - * ダイアグラム表現を削除する。 - * - * @param presentation 削除するダイアグラム表現 - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - * @since 0.2 - */ - void remove(DiagramPresentationModel presentation); - - /** - * 保持しているダイアグラム表現の総数を取得する。 - * - * @return ダイアグラム表現の総数 - * @since 0.2 - */ - int size(); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/09/24 + * + * 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; + +/** + * ダイアグラム表現の集合を表すモデルインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ + @ Adapter(AdapterType.MODEL) +public interface DiagramPresentations extends Iterable<DiagramPresentationModel> { + + /** + * ダイアグラム表現を追加する。 + * + * @param presentation 追加するダイアグラム表現 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void add(DiagramPresentationModel presentation); + + /** + * ダイアグラム表現を取得する。 + * + * @param diagramIndex ダイアグラムエディタのインデックス(エディタ内のタブインデックス) + * @return ダイアグラム表現 + * @throws IndexOutOfBoundsException diagramIndexが範囲外(index < 0 || index >= size())だった場合 + * @since 0.2 + */ + DiagramPresentationModel get(int diagramIndex); + + /** + * ダイアグラム表現を削除する。 + * + * @param presentation 削除するダイアグラム表現 + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + * @since 0.2 + */ + void remove(DiagramPresentationModel presentation); + + /** + * 保持しているダイアグラム表現の総数を取得する。 + * + * @return ダイアグラム表現の総数 + * @since 0.2 + */ + int size(); + +} Property changes on: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/DiagramPresentations.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/Level.java =================================================================== --- zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/Level.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/Level.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,40 +1,40 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/02/20 - * - * 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; - -/** - * 表示レベルを表す列挙型。 - * - * @since 0.2 - * @author daisuke - */ -public enum Level { - - /** エンティティレベル */ - ENTITY, - - /** 識別子レベル */ - KEY, - - /** 属性レベル */ - ATTR, - - /** 属性+型レベル */ - ATTRTYPE -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/02/20 + * + * 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; + +/** + * 表示レベルを表す列挙型。 + * + * @since 0.2 + * @author daisuke + */ +public enum Level { + + /** エンティティレベル */ + ENTITY, + + /** 識別子レベル */ + KEY, + + /** 属性レベル */ + ATTR, + + /** 属性+型レベル */ + ATTRTYPE +} Property changes on: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/Level.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/Mode.java =================================================================== --- zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/Mode.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/Mode.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,36 +1,36 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/02/20 - * - * 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; - -/** - * 物理/論理モード表示をあらわす列挙型。 - * - * @since 0.2 - * @author daisuke - */ -public enum Mode { - - /** 物理モデルモード */ - PHYSICAL, - - /** 論理モデルモード */ - LOGICAL, - -// BOTH -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/02/20 + * + * 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; + +/** + * 物理/論理モード表示をあらわす列挙型。 + * + * @since 0.2 + * @author daisuke + */ +public enum Mode { + + /** 物理モデルモード */ + PHYSICAL, + + /** 論理モデルモード */ + LOGICAL, + +// BOTH +} Property changes on: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/Mode.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/NodeProfile.java =================================================================== --- zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/NodeProfile.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/NodeProfile.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,68 +1,68 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/02/04 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.model; - -import org.jiemamy.model.geometory.JmColor; -import org.jiemamy.model.geometory.JmRectangle; - -/** - * ノードのビジュアル情報インターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface NodeProfile extends JiemamyElement { - - /** - * ノードのレイアウト情報を取得する。 - * - * @return ノードのレイアウト情報. 未設定の場合は{@code null} - * @since 0.2 - */ - JmRectangle getBoundary(); - - /** - * ノードの色情報を取得する。 - * - * @return ノードの色情報. 未設定の場合は{@code null} - * @since 0.2 - */ - JmColor getColor(); - - /** - * ノードのレイアウト情報を設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param boundary ノードのレイアウト情報 - * @since 0.2 - */ - void setBoundary(JmRectangle boundary); - - /** - * ノードの色情報を設定する。 - * - * <p>未設定とする場合は{@code null}を与える。</p> - * - * @param color ノードの色情報 - * @since 0.2 - */ - void setColor(JmColor color); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/02/04 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.model; + +import org.jiemamy.model.geometory.JmColor; +import org.jiemamy.model.geometory.JmRectangle; + +/** + * ノードのビジュアル情報インターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface NodeProfile extends JiemamyElement { + + /** + * ノードのレイアウト情報を取得する。 + * + * @return ノードのレイアウト情報. 未設定の場合は{@code null} + * @since 0.2 + */ + JmRectangle getBoundary(); + + /** + * ノードの色情報を取得する。 + * + * @return ノードの色情報. 未設定の場合は{@code null} + * @since 0.2 + */ + JmColor getColor(); + + /** + * ノードのレイアウト情報を設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param boundary ノードのレイアウト情報 + * @since 0.2 + */ + void setBoundary(JmRectangle boundary); + + /** + * ノードの色情報を設定する。 + * + * <p>未設定とする場合は{@code null}を与える。</p> + * + * @param color ノードの色情報 + * @since 0.2 + */ + void setColor(JmColor color); + +} Property changes on: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/NodeProfile.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/connection/ConnectionAdapter.java =================================================================== --- zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/connection/ConnectionAdapter.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/connection/ConnectionAdapter.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,69 +1,69 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/09/17 - * - * 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.connection; - -import org.jiemamy.exception.ModelConsistenceException; -import org.jiemamy.model.Adapter; -import org.jiemamy.model.AdapterType; -import org.jiemamy.model.attribute.constraint.ForeignKey; -import org.jiemamy.model.node.NodeAdapter; - -/** - * ダイアグラムにおける「結合」を表すアダプタインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ - @ Adapter(AdapterType.LOGIC) -public interface ConnectionAdapter { - - /** - * 接続元ノードを取得する。 - * - * @return 接続元ノード - * @throws ModelConsistenceException モデルの不整合により、接続元ノードが不明な場合 - * @since 0.2 - */ - NodeAdapter getSource(); - - /** - * 接続先ノードを取得する。 - * - * @return 接続先ノード - * @throws ModelConsistenceException モデルの不整合により、接続先ノードが不明な場合 - * @since 0.2 - */ - NodeAdapter getTarget(); - - /** - * 自分同士を繋ぐコネクションであるかどうかを調べる。 - * - * @return 自己コネクションである場合は{@code true}、そうでない場合は{@code false} - * @since 0.2 - */ - boolean isSelfConnection(); - - /** - * このオブジェクトでラッピングされた、コアオブジェクトを取得する。 - * - * @return コアとなっている外部キー - * @since 0.2 - */ - ForeignKey unwrap(); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/09/17 + * + * 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.connection; + +import org.jiemamy.exception.ModelConsistenceException; +import org.jiemamy.model.Adapter; +import org.jiemamy.model.AdapterType; +import org.jiemamy.model.attribute.constraint.ForeignKey; +import org.jiemamy.model.node.NodeAdapter; + +/** + * ダイアグラムにおける「結合」を表すアダプタインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ + @ Adapter(AdapterType.LOGIC) +public interface ConnectionAdapter { + + /** + * 接続元ノードを取得する。 + * + * @return 接続元ノード + * @throws ModelConsistenceException モデルの不整合により、接続元ノードが不明な場合 + * @since 0.2 + */ + NodeAdapter getSource(); + + /** + * 接続先ノードを取得する。 + * + * @return 接続先ノード + * @throws ModelConsistenceException モデルの不整合により、接続先ノードが不明な場合 + * @since 0.2 + */ + NodeAdapter getTarget(); + + /** + * 自分同士を繋ぐコネクションであるかどうかを調べる。 + * + * @return 自己コネクションである場合は{@code true}、そうでない場合は{@code false} + * @since 0.2 + */ + boolean isSelfConnection(); + + /** + * このオブジェクトでラッピングされた、コアオブジェクトを取得する。 + * + * @return コアとなっている外部キー + * @since 0.2 + */ + ForeignKey unwrap(); +} Property changes on: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/connection/ConnectionAdapter.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/geometory/JmColor.java =================================================================== --- zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/geometory/JmColor.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/geometory/JmColor.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,145 +1,145 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/06/09 - * - * 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.geometory; - -import java.io.Serializable; - -/** - * RGBによる色モデル。 - * - * <p>イミュータブルなクラスである。</p> - * - * @since 0.2 - * @author daisuke - */ - @ SuppressWarnings("serial") -public class JmColor implements Serializable { - - private static final int MAX = 255; - - private static final int MIN = 0; - - - /** - * 文字列から{@link JmColor}を取得する。 - * - * <p>入力は、"#xxxxxx"形式の文字列とする。</p> - * - * @param value 文字列 - * @return {@link JmColor} - * @since 0.2 - */ - public static JmColor parse(String value) { - if (value == null || value.length() != 7) { - return null; - } - int red = Integer.valueOf(value.substring(1, 3), 16); - int green = Integer.valueOf(value.substring(3, 5), 16); - int blue = Integer.valueOf(value.substring(5, 7), 16); - - return new JmColor(red, green, blue); - } - - - /** 赤 */ - public final int red; - - /** 緑 */ - public final int green; - - /** 青 */ - public final int blue; - - - /** - * インスタンスを生成する。 - * - * @param red 赤(0-255) - * @param green 緑(0-255) - * @param blue 青(0-255) - * @throws IllegalArgumentException 値が範囲外の場合 - * @since 0.2 - */ - public JmColor(int red, int green, int blue) { - validateRange("red", red); - validateRange("green", green); - validateRange("blue", blue); - this.red = red; - this.green = green; - this.blue = blue; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - final JmColor other = (JmColor) obj; - if (blue != other.blue) { - return false; - } - if (green != other.green) { - return false; - } - if (red != other.red) { - return false; - } - return true; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + blue; - result = prime * result + green; - result = prime * result + red; - return result; - } - - /** - * #xxxxxx形式の文字列として出力を行う。 - * - * @since 0.2 - */ - @Override - public String toString() { - return String.format("#%02x%02x%02x", red, green, blue); - } - - /** - * 値の範囲をチェックする。 - * - * @param name 引数名 - * @param target チェック対象 - * @throws IllegalArgumentException 値が範囲外の場合 - * @since 0.2 - */ - private void validateRange(String name, int target) { - if (target < MIN || target > MAX) { - throw new IllegalArgumentException(name + " is out of bound(" + target + ")."); - } - } -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/06/09 + * + * 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.geometory; + +import java.io.Serializable; + +/** + * RGBによる色モデル。 + * + * <p>イミュータブルなクラスである。</p> + * + * @since 0.2 + * @author daisuke + */ + @ SuppressWarnings("serial") +public class JmColor implements Serializable { + + private static final int MAX = 255; + + private static final int MIN = 0; + + + /** + * 文字列から{@link JmColor}を取得する。 + * + * <p>入力は、"#xxxxxx"形式の文字列とする。</p> + * + * @param value 文字列 + * @return {@link JmColor} + * @since 0.2 + */ + public static JmColor parse(String value) { + if (value == null || value.length() != 7) { + return null; + } + int red = Integer.valueOf(value.substring(1, 3), 16); + int green = Integer.valueOf(value.substring(3, 5), 16); + int blue = Integer.valueOf(value.substring(5, 7), 16); + + return new JmColor(red, green, blue); + } + + + /** 赤 */ + public final int red; + + /** 緑 */ + public final int green; + + /** 青 */ + public final int blue; + + + /** + * インスタンスを生成する。 + * + * @param red 赤(0-255) + * @param green 緑(0-255) + * @param blue 青(0-255) + * @throws IllegalArgumentException 値が範囲外の場合 + * @since 0.2 + */ + public JmColor(int red, int green, int blue) { + validateRange("red", red); + validateRange("green", green); + validateRange("blue", blue); + this.red = red; + this.green = green; + this.blue = blue; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + final JmColor other = (JmColor) obj; + if (blue != other.blue) { + return false; + } + if (green != other.green) { + return false; + } + if (red != other.red) { + return false; + } + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + blue; + result = prime * result + green; + result = prime * result + red; + return result; + } + + /** + * #xxxxxx形式の文字列として出力を行う。 + * + * @since 0.2 + */ + @Override + public String toString() { + return String.format("#%02x%02x%02x", red, green, blue); + } + + /** + * 値の範囲をチェックする。 + * + * @param name 引数名 + * @param target チェック対象 + * @throws IllegalArgumentException 値が範囲外の場合 + * @since 0.2 + */ + private void validateRange(String name, int target) { + if (target < MIN || target > MAX) { + throw new IllegalArgumentException(name + " is out of bound(" + target + ")."); + } + } +} Property changes on: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/geometory/JmColor.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/geometory/JmPoint.java =================================================================== --- zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/geometory/JmPoint.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/geometory/JmPoint.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,87 +1,87 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/06/09 - * - * 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.geometory; - -import java.io.Serializable; - -/** - * 座標モデル。 - * - * <p>イミュータブルなクラスである。</p> - * - * @since 0.2 - * @author daisuke - */ - @ SuppressWarnings("serial") -public class JmPoint implements Serializable { - - /** X座標 */ - public final int x; - - /** Y座標 */ - public final int y; - - - /** - * インスタンスを生成する。 - * - * @param x X座標 - * @param y Y座標 - * @since 0.2 - */ - public JmPoint(int x, int y) { - this.x = x; - this.y = y; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - final JmPoint other = (JmPoint) obj; - if (x != other.x) { - return false; - } - if (y != other.y) { - return false; - } - return true; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + x; - result = prime * result + y; - return result; - } - - @Override - public String toString() { - return "Point(" + x + ", " + y + ")"; - } -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/06/09 + * + * 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.geometory; + +import java.io.Serializable; + +/** + * 座標モデル。 + * + * <p>イミュータブルなクラスである。</p> + * + * @since 0.2 + * @author daisuke + */ + @ SuppressWarnings("serial") +public class JmPoint implements Serializable { + + /** X座標 */ + public final int x; + + /** Y座標 */ + public final int y; + + + /** + * インスタンスを生成する。 + * + * @param x X座標 + * @param y Y座標 + * @since 0.2 + */ + public JmPoint(int x, int y) { + this.x = x; + this.y = y; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + final JmPoint other = (JmPoint) obj; + if (x != other.x) { + return false; + } + if (y != other.y) { + return false; + } + return true; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + x; + result = prime * result + y; + return result; + } + + @Override + public String toString() { + return "Point(" + x + ", " + y + ")"; + } +} Property changes on: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/geometory/JmPoint.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/geometory/JmRectangle.java =================================================================== --- zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/geometory/JmRectangle.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/geometory/JmRectangle.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,113 +1,113 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/06/09 - * - * 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.geometory; - -import java.io.Serializable; - -/** - * 矩形モデル。 - * - * <p>イミュータブルなクラスである。</p> - * - * @since 0.2 - * @author daisuke - */ - @ SuppressWarnings("serial") -public class JmRectangle implements Serializable { - - /** デフォルトを表す値 */ - public static final int DEFAULT = -1; - - private static final int MIN = -1; - - /** X座標 */ - public final int x; - - /** Y座標 */ - public final int y; - - /** - * 幅 - * - * <p>{@code -1}は自動算出を表す。</p> - * @since 0.2 - */ - public final int width; - - /** - * 高さ - * - * <p>{@code -1}は自動算出を表す。</p> - * @since 0.2 - */ - public final int height; - - - /** - * インスタンスを生成する。 - * - * @param x X座標 - * @param y Y座標 - * @since 0.2 - */ - public JmRectangle(int x, int y) { - this(x, y, DEFAULT, DEFAULT); - } - - /** - * インスタンスを生成する。 - * - * @param x X座標(x >= 0) - * @param y Y座標(y >= 0) - * @param width 幅(width >= -1) {@code -1}は自動算出を表す。 - * @param height 高さ(height >= -1) {@code -1}は自動算出を表す。 - * @throws IllegalArgumentException 引数の値が指定範囲外の場合 - * @since 0.2 - */ - public JmRectangle(int x, int y, int width, int height) { - this.width = validateAndNormalizeRange("width", width); - this.height = validateAndNormalizeRange("width", height); - this.x = x; - this.y = y; - } - - @Override - public String toString() { - return "Rect(" + x + ", " + y + ":" + width + ", " + height + ")"; - } - - /** - * 値の範囲をチェックの後、正規化する。 - * - * @param name 引数名 - * @param target チェック対象 - * @return 正規化された値 - * @throws IllegalArgumentException 値が範囲外の場合 - */ - private int validateAndNormalizeRange(String name, int target) { - if (target < MIN) { - throw new IllegalArgumentException(name + " is out of bound(" + target + ")."); - } - if (target >= 0 && target < 10) { - return 10; - } - return target; - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/06/09 + * + * 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.geometory; + +import java.io.Serializable; + +/** + * 矩形モデル。 + * + * <p>イミュータブルなクラスである。</p> + * + * @since 0.2 + * @author daisuke + */ + @ SuppressWarnings("serial") +public class JmRectangle implements Serializable { + + /** デフォルトを表す値 */ + public static final int DEFAULT = -1; + + private static final int MIN = -1; + + /** X座標 */ + public final int x; + + /** Y座標 */ + public final int y; + + /** + * 幅 + * + * <p>{@code -1}は自動算出を表す。</p> + * @since 0.2 + */ + public final int width; + + /** + * 高さ + * + * <p>{@code -1}は自動算出を表す。</p> + * @since 0.2 + */ + public final int height; + + + /** + * インスタンスを生成する。 + * + * @param x X座標 + * @param y Y座標 + * @since 0.2 + */ + public JmRectangle(int x, int y) { + this(x, y, DEFAULT, DEFAULT); + } + + /** + * インスタンスを生成する。 + * + * @param x X座標(x >= 0) + * @param y Y座標(y >= 0) + * @param width 幅(width >= -1) {@code -1}は自動算出を表す。 + * @param height 高さ(height >= -1) {@code -1}は自動算出を表す。 + * @throws IllegalArgumentException 引数の値が指定範囲外の場合 + * @since 0.2 + */ + public JmRectangle(int x, int y, int width, int height) { + this.width = validateAndNormalizeRange("width", width); + this.height = validateAndNormalizeRange("width", height); + this.x = x; + this.y = y; + } + + @Override + public String toString() { + return "Rect(" + x + ", " + y + ":" + width + ", " + height + ")"; + } + + /** + * 値の範囲をチェックの後、正規化する。 + * + * @param name 引数名 + * @param target チェック対象 + * @return 正規化された値 + * @throws IllegalArgumentException 値が範囲外の場合 + */ + private int validateAndNormalizeRange(String name, int target) { + if (target < MIN) { + throw new IllegalArgumentException(name + " is out of bound(" + target + ")."); + } + if (target >= 0 && target < 10) { + return 10; + } + return target; + } + +} Property changes on: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/geometory/JmRectangle.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/geometory/package-info.java =================================================================== --- zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/geometory/package-info.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/geometory/package-info.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,7 +1,7 @@ -/** - * JiemamyのERダイアグラム表現における、幾何モデルを定義するパッケージ。 - * - * @author daisuke - */ -package org.jiemamy.model.geometory; - +/** + * JiemamyのERダイアグラム表現における、幾何モデルを定義するパッケージ。 + * + * @author daisuke + */ +package org.jiemamy.model.geometory; + Property changes on: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/geometory/package-info.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/node/NodeAdapter.java =================================================================== --- zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/node/NodeAdapter.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/node/NodeAdapter.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,63 +1,63 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/09/17 - * - * 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.node; - -import java.util.Collection; - -import org.jiemamy.model.Adapter; -import org.jiemamy.model.AdapterType; -import org.jiemamy.model.connection.ConnectionAdapter; -import org.jiemamy.model.entity.EntityModel; - -/** - * ダイアグラムにおける「節点」を表すアダプタインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ - @ Adapter(AdapterType.LOGIC) -public interface NodeAdapter extends Comparable<NodeAdapter> { - - /** - * このモデルを接続元とするコネクションの集合を取得する。 - * - * <p>返される{@link Collection}は他に影響を及ぼさない独立したインスタンスである。</p> - * - * @return コネクションの集合 - * @since 0.2 - */ - Collection<ConnectionAdapter> getSourceConnections(); - - /** - * このモデルを接続先とするコネクションの集合を取得する。 - * - * <p>返される{@link Collection}は他に影響を及ぼさない独立したインスタンスである。</p> - * - * @return コネクションの集合 - * @since 0.2 - */ - Collection<ConnectionAdapter> getTargetConnections(); - - /** - * このオブジェクトでラッピングされた、コアオブジェクトを取得する。 - * - * @return コアとなっているエンティティ - */ - EntityModel unwrap(); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/09/17 + * + * 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.node; + +import java.util.Collection; + +import org.jiemamy.model.Adapter; +import org.jiemamy.model.AdapterType; +import org.jiemamy.model.connection.ConnectionAdapter; +import org.jiemamy.model.entity.EntityModel; + +/** + * ダイアグラムにおける「節点」を表すアダプタインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ + @ Adapter(AdapterType.LOGIC) +public interface NodeAdapter extends Comparable<NodeAdapter> { + + /** + * このモデルを接続元とするコネクションの集合を取得する。 + * + * <p>返される{@link Collection}は他に影響を及ぼさない独立したインスタンスである。</p> + * + * @return コネクションの集合 + * @since 0.2 + */ + Collection<ConnectionAdapter> getSourceConnections(); + + /** + * このモデルを接続先とするコネクションの集合を取得する。 + * + * <p>返される{@link Collection}は他に影響を及ぼさない独立したインスタンスである。</p> + * + * @return コネクションの集合 + * @since 0.2 + */ + Collection<ConnectionAdapter> getTargetConnections(); + + /** + * このオブジェクトでラッピングされた、コアオブジェクトを取得する。 + * + * @return コアとなっているエンティティ + */ + EntityModel unwrap(); +} Property changes on: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/node/NodeAdapter.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/node/StickyModel.java =================================================================== --- zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/node/StickyModel.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/node/StickyModel.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,48 +1,48 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/09/17 - * - * 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.node; - -import org.jiemamy.model.JiemamyElement; - -/** - * ダイアグラムにおける「付箋(注釈)」を表すモデルインターフェイス。 - * - * @since 0.2 - * @author daisuke - */ -public interface StickyModel extends NodeAdapter, JiemamyElement { - - /** - * 内容文を取得する。 - * - * @return 内容文. 未設定の場合は{@code null} - * @since 0.2 - */ - String getContents(); - - /** - * 内容文を設定する。 - * - * <p>未設定とする場合は{@code null}を与えるが、モデルとしては無効となる。</p> - * - * @param contents 内容文 - * @since 0.2 - */ - void setContents(String contents); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/09/17 + * + * 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.node; + +import org.jiemamy.model.JiemamyElement; + +/** + * ダイアグラムにおける「付箋(注釈)」を表すモデルインターフェイス。 + * + * @since 0.2 + * @author daisuke + */ +public interface StickyModel extends NodeAdapter, JiemamyElement { + + /** + * 内容文を取得する。 + * + * @return 内容文. 未設定の場合は{@code null} + * @since 0.2 + */ + String getContents(); + + /** + * 内容文を設定する。 + * + * <p>未設定とする場合は{@code null}を与えるが、モデルとしては無効となる。</p> + * + * @param contents 内容文 + * @since 0.2 + */ + void setContents(String contents); +} Property changes on: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/node/StickyModel.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/package-info.java =================================================================== --- zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/package-info.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/package-info.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,13 +1,13 @@ -/** - * Jiemamyモデル(DBの状態=スキーマ及びデータ)を定義するパッケージ。 - * - * <p>Jiemamy View仕様によって追加される{@link org.jiemamy.model.DiagramPresentations}を中心とした - * モデルの仕様を追加で定義している。</p> - * - * <p>{@link org.jiemamy.model.DiagramPresentations}の実装は、クライアントから{@link org.jiemamy.model.RootModel}に対する - * アダプタとして取得可能である。</p> - * - * @author daisuke - */ -package org.jiemamy.model; - +/** + * Jiemamyモデル(DBの状態=スキーマ及びデータ)を定義するパッケージ。 + * + * <p>Jiemamy View仕様によって追加される{@link org.jiemamy.model.DiagramPresentations}を中心とした + * モデルの仕様を追加で定義している。</p> + * + * <p>{@link org.jiemamy.model.DiagramPresentations}の実装は、クライアントから{@link org.jiemamy.model.RootModel}に対する + * アダプタとして取得可能である。</p> + * + * @author daisuke + */ +package org.jiemamy.model; + Property changes on: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/model/package-info.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/xml/ViewNamespace.java =================================================================== --- zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/xml/ViewNamespace.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/xml/ViewNamespace.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,70 +1,70 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2008/11/05 - * - * 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.xml; - -import java.net.URI; -import java.net.URISyntaxException; - -import org.jiemamy.exception.UnexpectedConditionError; - -/** - * XML名前空間定数クラス。 - * - * @since 0.2 - * @author daisuke - */ -public enum ViewNamespace implements JiemamyNamespace { - - /** Jiemamy view specifications */ - NS_VIEW("view", "http://jiemamy.org/xml/ns/view", "http://jiemamy.org/xml/0.3/jiemamy-view.xsd"), - - /** */ - NONE("", "", ""); - - /** 名前空間prefix */ - private final String prefix; - - /** 名前空間URI */ - private final URI namespaceURI; - - private final String xmlSchemaLocation; - - - ViewNamespace(String prefix, String namespaceURI, String xmlSchemaLocation) { - this.prefix = prefix; - try { - this.namespaceURI = new URI(namespaceURI); - this.xmlSchemaLocation = xmlSchemaLocation; - } catch (URISyntaxException e) { - throw new UnexpectedConditionError("URI記述ミス?", e); - } - } - - public URI getNamespaceURI() { - return namespaceURI; - } - - public String getPrefix() { - return prefix; - } - - public String getXmlSchemaLocation() { - return xmlSchemaLocation; - } -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2008/11/05 + * + * 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.xml; + +import java.net.URI; +import java.net.URISyntaxException; + +import org.jiemamy.exception.UnexpectedConditionError; + +/** + * XML名前空間定数クラス。 + * + * @since 0.2 + * @author daisuke + */ +public enum ViewNamespace implements JiemamyNamespace { + + /** Jiemamy view specifications */ + NS_VIEW("view", "http://jiemamy.org/xml/ns/view", "http://jiemamy.org/xml/0.3/jiemamy-view.xsd"), + + /** */ + NONE("", "", ""); + + /** 名前空間prefix */ + private final String prefix; + + /** 名前空間URI */ + private final URI namespaceURI; + + private final String xmlSchemaLocation; + + + ViewNamespace(String prefix, String namespaceURI, String xmlSchemaLocation) { + this.prefix = prefix; + try { + this.namespaceURI = new URI(namespaceURI); + this.xmlSchemaLocation = xmlSchemaLocation; + } catch (URISyntaxException e) { + throw new UnexpectedConditionError("URI記述ミス?", e); + } + } + + public URI getNamespaceURI() { + return namespaceURI; + } + + public String getPrefix() { + return prefix; + } + + public String getXmlSchemaLocation() { + return xmlSchemaLocation; + } +} Property changes on: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/xml/ViewNamespace.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/xml/ViewQName.java =================================================================== --- zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/xml/ViewQName.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/xml/ViewQName.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,97 +1,97 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/01/15 - * - * 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.xml; - -import javax.xml.namespace.QName; - -/** - * Jiemamy VIEW仕様におけるXMLノード定数を保持する列挙型。 - * - * @since 0.2 - * @author daisuke - */ -public enum ViewQName implements JiemamyQName { - - /***/ - DIAGRAM_PRESENTATIONS(ViewNamespace.NS_VIEW, "diagramPresentations"), - - /***/ - DIAGRAM_PRESENTATION(ViewNamespace.NS_VIEW, "diagramPresentation"), - - /***/ - NODE_PROFILES(ViewNamespace.NS_VIEW, "nodeProfiles"), - - /***/ - NODE_PROFILE(ViewNamespace.NS_VIEW, "nodeProfile"), - - /***/ - NODE_OBJECT_REF(ViewNamespace.NS_VIEW, "nodeObjectRef"), - - /***/ - STICKY(ViewNamespace.NS_VIEW, "sticky"), - - /***/ - CONTENTS(ViewNamespace.NS_VIEW, "contents"), - - /***/ - BOUNDARY(ViewNamespace.NS_VIEW, "boundary"), - - /***/ - CONNECTION_PROFILES(ViewNamespace.NS_VIEW, "connectionProfiles"), - - /***/ - CONNECTION_PROFILE(ViewNamespace.NS_VIEW, "connectionProfile"), - - /***/ - CONNECTION_OBJECT_REF(ViewNamespace.NS_VIEW, "connectionObjectRef"), - - /***/ - BENDPOINTS(ViewNamespace.NS_VIEW, "bendpoints"), - - /***/ - BENDPOINT(ViewNamespace.NS_VIEW, "bendpoint"), - - /***/ - MODE(ViewNamespace.NS_VIEW, "mode"), - - /***/ - LEVEL(ViewNamespace.NS_VIEW, "level"); - - /** XML仕様における完全修飾名 */ - private final QName qName; - - - ViewQName(JiemamyNamespace namespace, String localPart) { - qName = new QName(namespace.getNamespaceURI().toString(), localPart, namespace.getPrefix()); - } - - public QName getQName() { - return qName; - } - - public String getQNameString() { - String prefix = isEmpty(qName.getPrefix()) ? "" : qName.getPrefix() + ":"; - return prefix + qName.getLocalPart(); - } - - private boolean isEmpty(String str) { - return str == null || str.length() == 0; - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/01/15 + * + * 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.xml; + +import javax.xml.namespace.QName; + +/** + * Jiemamy VIEW仕様におけるXMLノード定数を保持する列挙型。 + * + * @since 0.2 + * @author daisuke + */ +public enum ViewQName implements JiemamyQName { + + /***/ + DIAGRAM_PRESENTATIONS(ViewNamespace.NS_VIEW, "diagramPresentations"), + + /***/ + DIAGRAM_PRESENTATION(ViewNamespace.NS_VIEW, "diagramPresentation"), + + /***/ + NODE_PROFILES(ViewNamespace.NS_VIEW, "nodeProfiles"), + + /***/ + NODE_PROFILE(ViewNamespace.NS_VIEW, "nodeProfile"), + + /***/ + NODE_OBJECT_REF(ViewNamespace.NS_VIEW, "nodeObjectRef"), + + /***/ + STICKY(ViewNamespace.NS_VIEW, "sticky"), + + /***/ + CONTENTS(ViewNamespace.NS_VIEW, "contents"), + + /***/ + BOUNDARY(ViewNamespace.NS_VIEW, "boundary"), + + /***/ + CONNECTION_PROFILES(ViewNamespace.NS_VIEW, "connectionProfiles"), + + /***/ + CONNECTION_PROFILE(ViewNamespace.NS_VIEW, "connectionProfile"), + + /***/ + CONNECTION_OBJECT_REF(ViewNamespace.NS_VIEW, "connectionObjectRef"), + + /***/ + BENDPOINTS(ViewNamespace.NS_VIEW, "bendpoints"), + + /***/ + BENDPOINT(ViewNamespace.NS_VIEW, "bendpoint"), + + /***/ + MODE(ViewNamespace.NS_VIEW, "mode"), + + /***/ + LEVEL(ViewNamespace.NS_VIEW, "level"); + + /** XML仕様における完全修飾名 */ + private final QName qName; + + + ViewQName(JiemamyNamespace namespace, String localPart) { + qName = new QName(namespace.getNamespaceURI().toString(), localPart, namespace.getPrefix()); + } + + public QName getQName() { + return qName; + } + + public String getQNameString() { + String prefix = isEmpty(qName.getPrefix()) ? "" : qName.getPrefix() + ":"; + return prefix + qName.getLocalPart(); + } + + private boolean isEmpty(String str) { + return str == null || str.length() == 0; + } + +} Property changes on: zeus/trunk/jiemamy-spec-view/src/main/java/org/jiemamy/xml/ViewQName.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-view/src/main/resources/jiemamy-view.xsd =================================================================== --- zeus/trunk/jiemamy-spec-view/src/main/resources/jiemamy-view.xsd 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-view/src/main/resources/jiemamy-view.xsd 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,158 +1,158 @@ -<?xml version="1.0" encoding="UTF-8"?> -<xsd:schema - targetNamespace="http://jiemamy.org/xml/ns/view" - xmlns:core="http://jiemamy.org/xml/ns/core" - xmlns="http://jiemamy.org/xml/ns/view" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - elementFormDefault="qualified" - attributeFormDefault="unqualified" - version="0.3"> - - <xsd:annotation> - <xsd:documentation xml:lang="en">Jiemamy view model schema</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">Jiemamyビューモデルスキーマ</xsd:documentation> - </xsd:annotation> - - <xsd:import namespace="http://jiemamy.org/xml/ns/core" schemaLocation="jiemamy-core.xsd"/> - - <xsd:element name="diagramPresentations"> - <xsd:complexType> - <xsd:sequence maxOccurs="unbounded"> - <xsd:element ref="diagramPresentation" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - - - <xsd:element name="diagramPresentation"> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="core:name" /> - <xsd:element name="mode" type="modeType" /> - <xsd:element name="level" type="levelType" /> - <xsd:element name="nodeProfiles" minOccurs="0"> - <xsd:complexType> - <xsd:sequence minOccurs="0" maxOccurs="unbounded"> - <xsd:element ref="nodeProfile" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:element name="connectionProfiles" minOccurs="0"> - <xsd:complexType> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element ref="connectionProfile" maxOccurs="unbounded" /> - </xsd:choice> - </xsd:complexType> - </xsd:element> - </xsd:sequence> - <xsd:attribute name="id" type="core:uuidType" use="required" /> - </xsd:complexType> - </xsd:element> - - <xsd:element name="nodeProfile"> - <xsd:complexType> - <xsd:sequence> - <xsd:choice> - <xsd:element ref="nodeObjectRef"/> - <xsd:element ref="sticky"/> - </xsd:choice> - <xsd:element name="boundary"> - <xsd:complexType> - <xsd:attribute name="x" type="overMinusOneType" default="-1" /> - <xsd:attribute name="y" type="overMinusOneType" default="-1" /> - <xsd:attribute name="width" type="overMinusOneType" default="-1" /> - <xsd:attribute name="height" type="overMinusOneType" default="-1" /> - <xsd:attribute name="color" type="colorType" /> - </xsd:complexType> - </xsd:element> - </xsd:sequence> - <xsd:attribute name="id" type="core:uuidType" use="required" /> - </xsd:complexType> - </xsd:element> - - <xsd:element name="connectionProfile"> - <xsd:complexType> - <xsd:sequence> - <xsd:choice> - <xsd:element ref="connectionObjectRef"/> - </xsd:choice> - <xsd:element ref="bendpoints" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="id" type="core:uuidType" use="required" /> - </xsd:complexType> - </xsd:element> - - - <xsd:element name="nodeObjectRef"> - <xsd:complexType> - <xsd:attribute name="ref" type="core:uuidType" use="required" /> - </xsd:complexType> - </xsd:element> - - <xsd:element name="connectionObjectRef"> - <xsd:complexType> - <xsd:attribute name="ref" type="core:uuidType" use="required" /> - </xsd:complexType> - </xsd:element> - - <xsd:element name="bendpoints"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="bendpoint" minOccurs="0" maxOccurs="unbounded"> - <xsd:complexType> - <xsd:attribute name="x" type="overMinusOneType" default="-1" /> - <xsd:attribute name="y" type="overMinusOneType" default="-1" /> - </xsd:complexType> - </xsd:element> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - - <xsd:element name="sticky"> - <xsd:annotation> - <xsd:documentation xml:lang="en">Sticky</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">付箋を表す。</xsd:documentation> - </xsd:annotation> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="contents" type="xsd:string" /> - </xsd:sequence> - <xsd:attribute name="id" type="core:uuidType" use="required" /> - </xsd:complexType> - </xsd:element> - - <!-- 単純型 --> - - <xsd:simpleType name="overMinusOneType"> - <xsd:restriction base="xsd:integer"> - <xsd:minInclusive value="-1" /> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="colorType"> - <xsd:annotation> - <xsd:documentation xml:lang="en">RGB color type</xsd:documentation> - <xsd:documentation xml:lang="ja-JP">RGB色定義型</xsd:documentation> - </xsd:annotation> - <xsd:restriction base="xsd:string"> - <xsd:pattern value="#[0-9a-f]{6}"/> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="modeType"> - <xsd:restriction base="xsd:token"> - <xsd:enumeration value="PHYSICAL" /> - <xsd:enumeration value="LOGICAL" /> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="levelType"> - <xsd:restriction base="xsd:token"> - <xsd:enumeration value="ENTITY" /> - <xsd:enumeration value="KEY" /> - <xsd:enumeration value="ATTR" /> - <xsd:enumeration value="ATTRTYPE" /> - </xsd:restriction> - </xsd:simpleType> - +<?xml version="1.0" encoding="UTF-8"?> +<xsd:schema + targetNamespace="http://jiemamy.org/xml/ns/view" + xmlns:core="http://jiemamy.org/xml/ns/core" + xmlns="http://jiemamy.org/xml/ns/view" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified" + attributeFormDefault="unqualified" + version="0.3"> + + <xsd:annotation> + <xsd:documentation xml:lang="en">Jiemamy view model schema</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">Jiemamyビューモデルスキーマ</xsd:documentation> + </xsd:annotation> + + <xsd:import namespace="http://jiemamy.org/xml/ns/core" schemaLocation="jiemamy-core.xsd"/> + + <xsd:element name="diagramPresentations"> + <xsd:complexType> + <xsd:sequence maxOccurs="unbounded"> + <xsd:element ref="diagramPresentation" maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + + <xsd:element name="diagramPresentation"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="core:name" /> + <xsd:element name="mode" type="modeType" /> + <xsd:element name="level" type="levelType" /> + <xsd:element name="nodeProfiles" minOccurs="0"> + <xsd:complexType> + <xsd:sequence minOccurs="0" maxOccurs="unbounded"> + <xsd:element ref="nodeProfile" maxOccurs="unbounded" /> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="connectionProfiles" minOccurs="0"> + <xsd:complexType> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element ref="connectionProfile" maxOccurs="unbounded" /> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="core:uuidType" use="required" /> + </xsd:complexType> + </xsd:element> + + <xsd:element name="nodeProfile"> + <xsd:complexType> + <xsd:sequence> + <xsd:choice> + <xsd:element ref="nodeObjectRef"/> + <xsd:element ref="sticky"/> + </xsd:choice> + <xsd:element name="boundary"> + <xsd:complexType> + <xsd:attribute name="x" type="overMinusOneType" default="-1" /> + <xsd:attribute name="y" type="overMinusOneType" default="-1" /> + <xsd:attribute name="width" type="overMinusOneType" default="-1" /> + <xsd:attribute name="height" type="overMinusOneType" default="-1" /> + <xsd:attribute name="color" type="colorType" /> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="core:uuidType" use="required" /> + </xsd:complexType> + </xsd:element> + + <xsd:element name="connectionProfile"> + <xsd:complexType> + <xsd:sequence> + <xsd:choice> + <xsd:element ref="connectionObjectRef"/> + </xsd:choice> + <xsd:element ref="bendpoints" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="id" type="core:uuidType" use="required" /> + </xsd:complexType> + </xsd:element> + + + <xsd:element name="nodeObjectRef"> + <xsd:complexType> + <xsd:attribute name="ref" type="core:uuidType" use="required" /> + </xsd:complexType> + </xsd:element> + + <xsd:element name="connectionObjectRef"> + <xsd:complexType> + <xsd:attribute name="ref" type="core:uuidType" use="required" /> + </xsd:complexType> + </xsd:element> + + <xsd:element name="bendpoints"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="bendpoint" minOccurs="0" maxOccurs="unbounded"> + <xsd:complexType> + <xsd:attribute name="x" type="overMinusOneType" default="-1" /> + <xsd:attribute name="y" type="overMinusOneType" default="-1" /> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <xsd:element name="sticky"> + <xsd:annotation> + <xsd:documentation xml:lang="en">Sticky</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">付箋を表す。</xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="contents" type="xsd:string" /> + </xsd:sequence> + <xsd:attribute name="id" type="core:uuidType" use="required" /> + </xsd:complexType> + </xsd:element> + + <!-- 単純型 --> + + <xsd:simpleType name="overMinusOneType"> + <xsd:restriction base="xsd:integer"> + <xsd:minInclusive value="-1" /> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="colorType"> + <xsd:annotation> + <xsd:documentation xml:lang="en">RGB color type</xsd:documentation> + <xsd:documentation xml:lang="ja-JP">RGB色定義型</xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:string"> + <xsd:pattern value="#[0-9a-f]{6}"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="modeType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="PHYSICAL" /> + <xsd:enumeration value="LOGICAL" /> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="levelType"> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="ENTITY" /> + <xsd:enumeration value="KEY" /> + <xsd:enumeration value="ATTR" /> + <xsd:enumeration value="ATTRTYPE" /> + </xsd:restriction> + </xsd:simpleType> + </xsd:schema> \ No newline at end of file Property changes on: zeus/trunk/jiemamy-spec-view/src/main/resources/jiemamy-view.xsd ___________________________________________________________________ Added: svn:mime-type + text/xml Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-spec-view/src/test/java/org/jiemamy/model/geometory/JmColorTest.java =================================================================== --- zeus/trunk/jiemamy-spec-view/src/test/java/org/jiemamy/model/geometory/JmColorTest.java 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-spec-view/src/test/java/org/jiemamy/model/geometory/JmColorTest.java 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,61 +1,61 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/02/04 - * - * 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.geometory; - -import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertThat; - -import org.junit.Test; - -/** - * {@link JmColor}のテストクラス。 - * - * @author daisuke - */ -public class JmColorTest { - - /** - * {@link #toString()}のテスト。 - * - * @throws Exception 例外が発生した場合 - */ - @Test - public void test01_toString() throws Exception { - assertThat(new JmColor(0, 0, 0).toString(), is("#000000")); - assertThat(new JmColor(0, 1, 2).toString(), is("#000102")); - assertThat(new JmColor(10, 11, 12).toString(), is("#0a0b0c")); - assertThat(new JmColor(0x10, 0x11, 0x12).toString(), is("#101112")); - assertThat(new JmColor(255, 255, 255).toString(), is("#ffffff")); - assertThat(new JmColor(255, 255, 255).toString(), is("#ffffff")); - } - - /** - * {@link JmColor#parse(String)}のテスト。 - * - * @throws Exception 例外が発生した場合 - */ - @Test - public void test02_parse() throws Exception { - assertThat(JmColor.parse("#000000"), is(new JmColor(0, 0, 0))); - assertThat(JmColor.parse("#000102"), is(new JmColor(0, 1, 2))); - assertThat(JmColor.parse("#0a0b0c"), is(new JmColor(10, 11, 12))); - assertThat(JmColor.parse("#101112"), is(new JmColor(0x10, 0x11, 0x12))); - assertThat(JmColor.parse("#ffffff"), is(new JmColor(255, 255, 255))); - } -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/02/04 + * + * 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.geometory; + +import static org.hamcrest.CoreMatchers.is; +import static org.junit.Assert.assertThat; + +import org.junit.Test; + +/** + * {@link JmColor}のテストクラス。 + * + * @author daisuke + */ +public class JmColorTest { + + /** + * {@link #toString()}のテスト。 + * + * @throws Exception 例外が発生した場合 + */ + @Test + public void test01_toString() throws Exception { + assertThat(new JmColor(0, 0, 0).toString(), is("#000000")); + assertThat(new JmColor(0, 1, 2).toString(), is("#000102")); + assertThat(new JmColor(10, 11, 12).toString(), is("#0a0b0c")); + assertThat(new JmColor(0x10, 0x11, 0x12).toString(), is("#101112")); + assertThat(new JmColor(255, 255, 255).toString(), is("#ffffff")); + assertThat(new JmColor(255, 255, 255).toString(), is("#ffffff")); + } + + /** + * {@link JmColor#parse(String)}のテスト。 + * + * @throws Exception 例外が発生した場合 + */ + @Test + public void test02_parse() throws Exception { + assertThat(JmColor.parse("#000000"), is(new JmColor(0, 0, 0))); + assertThat(JmColor.parse("#000102"), is(new JmColor(0, 1, 2))); + assertThat(JmColor.parse("#0a0b0c"), is(new JmColor(10, 11, 12))); + assertThat(JmColor.parse("#101112"), is(new JmColor(0x10, 0x11, 0x12))); + assertThat(JmColor.parse("#ffffff"), is(new JmColor(255, 255, 255))); + } +} Property changes on: zeus/trunk/jiemamy-spec-view/src/test/java/org/jiemamy/model/geometory/JmColorTest.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Property changes on: zeus/trunk/jiemamy-spec-view/src/test/java/org/jiemamy/test/SampleXmlViewTest.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Date Revision Author HeadURL Id Modified: zeus/trunk/jiemamy-zeus/LICENSE.txt =================================================================== --- zeus/trunk/jiemamy-zeus/LICENSE.txt 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-zeus/LICENSE.txt 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,202 +1,202 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. Property changes on: zeus/trunk/jiemamy-zeus/LICENSE.txt ___________________________________________________________________ Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-zeus/checkstyle.xml =================================================================== --- zeus/trunk/jiemamy-zeus/checkstyle.xml 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-zeus/checkstyle.xml 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,12 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd"> -<!-- - This configuration file was written by the eclipse-cs plugin configuration editor +<!-- + This configuration file was written by the eclipse-cs plugin configuration editor --> -<!-- - Checkstyle-Configuration: Jiemamy Checks - Description: none +<!-- + Checkstyle-Configuration: Jiemamy Checks + Description: none --> <module name="Checker"> <property name="severity" value="warning"/> Property changes on: zeus/trunk/jiemamy-zeus/checkstyle.xml ___________________________________________________________________ Modified: svn:mime-type - text/plain + text/xml Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-zeus/findbugs.xml =================================================================== --- zeus/trunk/jiemamy-zeus/findbugs.xml 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-zeus/findbugs.xml 2009-09-20 17:35:30 UTC (rev 3646) @@ -1,6 +1,6 @@ -<FindBugsFilter> - <Match> - <Bug - pattern="SQL_BAD_RESULTSET_ACCESS,SQL_BAD_PREPARED_STATEMENT_ACCESS,RE_BAD_SYNTAX_FOR_REGULAR_EXPRESSION,RE_POSSIBLE_UNINTENDED_PATTERN,RE_CANT_USE_FILE_SEPARATOR_AS_REGULAR_EXPRESSION,RV_CHECK_FOR_POSITIVE_INDEXOF,RV_DONT_JUST_NULL_CHECK_READLINE,NP_BOOLEAN_RETURN_NULL,CN_IDIOM,CN_IDIOM_NO_SUPER_CALL,CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE,CI_CONFUSED_INHERITANCE,IA_AMBIGUOUS_INVOCATION_OF_INHERITED_OR_OUTER_METHOD,HRS_REQUEST_PARAMETER_TO_HTTP_HEADER,HRS_REQUEST_PARAMETER_TO_COOKIE,XSS_REQUEST_PARAMETER_TO_JSP_WRITER,XSS_REQUEST_PARAMETER_TO_SERVLET_WRITER,XSS_REQUEST_PARAMETER_TO_SEND_ERROR,IMSE_DONT_CATCH_IMSE,DE_MIGHT_DROP,DE_MIGHT_IGNORE,DMI_EMPTY_DB_PASSWORD,DMI_CONSTANT_DB_PASSWORD,DMI_USELESS_SUBSTRING,DMI_HARDCODED_ABSOLUTE_FILENAME,NP_IMMEDIATE_DEREFERENCE_OF_READLINE,RV_01_TO_INT,DM_RUN_FINALIZERS_ON_EXIT,DM_STRING_CTOR,DM_STRING_VOID_CTOR,DM_STRING_TOSTRING,DM_GC,DM_BOOLEAN_CTOR,DM_EXIT,DM_BOXED_PRIMITIVE_TOSTRING,DM_NEW_FOR_GETCLASS,DM_NEXTINT_VIA_NEXTDOUBLE,DM_USELESS_THREAD,DM_MONITOR_WAIT_ON_CONDITION,DMI_CALLING_NEXT_FROM_HASNEXT,BIT_IOR_OF_SIGNED_BYTE,INT_BAD_COMPARISON_WITH_NONNEGATIVE_VALUE,INT_BAD_COMPARISON_WITH_SIGNED_BYTE,INT_BAD_REM_BY_1,DMI_ANNOTATION_IS_NOT_VISIBLE_TO_REFLECTION,INT_VACUOUS_COMPARISON,BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS,DMI_RANDOM_USED_ONLY_ONCE,DMI_LONG_BITS_TO_DOUBLE_INVOKED_ON_INT,DMI_THREAD_PASSED_WHERE_RUNNABLE_EXPECTED,DB_DUPLICATE_BRANCHES,DB_DUPLICATE_SWITCH_CLAUSES,AM_CREATES_EMPTY_ZIP_FILE_ENTRY,AM_CREATES_EMPTY_JAR_FILE_ENTRY,FI_FINALIZER_NULLS_FIELDS,FI_FINALIZER_ONLY_NULLS_FIELDS,BC_BAD_CAST_TO_CONCRETE_COLLECTION,BC_BAD_CAST_TO_ABSTRACT_COLLECTION,BC_UNCONFIRMED_CAST,BC_IMPOSSIBLE_CAST,BC_IMPOSSIBLE_INSTANCEOF,BC_VACUOUS_INSTANCEOF,NP_NULL_INSTANCEOF,QF_QUESTIONABLE_FOR_LOOP,DLS_DEAD_LOCAL_STORE,IP_PARAMETER_IS_DEAD_BUT_OVERWRITTEN,DLS_DEAD_LOCAL_STORE_OF_NULL,DLS_DEAD_STORE_OF_CLASS_LITERAL,DC_DOUBLECHECK,ESync_EMPTY_SYNC,FI_PUBLIC_SHOULD_BE_PROTECTED,FI_EMPTY,FI_NULLIFY_SUPER,FI_USELESS,FI_MISSING_SUPER_CALL,FI_EXPLICIT_INVOCATION,FE_FLOATING_POINT_EQUALITY,FE_TEST_IF_EQUAL_TO_NOT_A_NUMBER,EQ_DONT_DEFINE_EQUALS_FOR_ENUM,EQ_SELF_USE_OBJECT,EQ_SELF_NO_OBJECT,CO_SELF_NO_OBJECT,HE_HASHCODE_USE_OBJECT_EQUALS,HE_HASHCODE_NO_EQUALS,HE_EQUALS_USE_HASHCODE,HE_EQUALS_NO_HASHCODE,HE_INHERITS_EQUALS_USE_HASHCODE,CO_ABSTRACT_SELF,EQ_ABSTRACT_SELF,HE_USE_OF_UNHASHABLE_CLASS,EQ_COMPARETO_USE_OBJECT_EQUALS,EQ_DOESNT_OVERRIDE_EQUALS,EQ_OTHER_USE_OBJECT,EQ_OTHER_NO_OBJECT,IS2_INCONSISTENT_SYNC,IS_FIELD_NOT_GUARDED,MSF_MUTABLE_SERVLET_FIELD,JLM_JSR166_LOCK_MONITORENTER,MF_METHOD_MASKS_FIELD,MF_CLASS_MASKS_FIELD,MWN_MISMATCHED_WAIT,MWN_MISMATCHED_NOTIFY,NN_NAKED_NOTIFY,J2EE_STORE_OF_NON_SERIALIZABLE_OBJECT_INTO_SESSION,NS_NON_SHORT_CIRCUIT,NS_DANGEROUS_NON_SHORT_CIRCUIT,NP_NULL_ON_SOME_PATH_MIGHT_BE_INFEASIBLE,NP_TOSTRING_COULD_RETURN_NULL,NP_CLONE_COULD_RETURN_NULL,NP_ALWAYS_NULL_EXCEPTION,NP_ALWAYS_NULL,NP_STORE_INTO_NONNULL_FIELD,NP_NULL_ON_SOME_PATH_EXCEPTION,NP_NULL_ON_SOME_PATH,NP_NULL_PARAM_DEREF_NONVIRTUAL,NP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS,NP_NULL_PARAM_DEREF,RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE,RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE,RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE,RCN_REDUNDANT_COMPARISON_TWO_NULL_VALUES,RCN_REDUNDANT_COMPARISON_OF_NULL_AND_NONNULL_VALUE,NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE,NP_GUARANTEED_DEREF,NP_GUARANTEED_DEREF_ON_EXCEPTION_PATH,NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT,NP_ARGUMENT_MIGHT_BE_NULL,OS_OPEN_STREAM,OS_OPEN_STREAM_EXCEPTION_PATH,ODR_OPEN_DATABASE_RESOURCE,ODR_OPEN_DATABASE_RESOURCE_EXCEPTION_PATH,DLS_DEAD_LOCAL_STORE_IN_RETURN,EC_BAD_ARRAY_COMPARE,DLS_OVERWRITTEN_INCREMENT,ICAST_BAD_SHIFT_AMOUNT,ICAST_QUESTIONABLE_UNSIGNED_RIGHT_SHIFT,DMI_BAD_MONTH,IM_MULTIPLYING_RESULT_OF_IREM,IM_BAD_CHECK_FOR_ODD,DMI_INVOKING_TOSTRING_ON_ARRAY,DMI_INVOKING_TOSTRING_ON_ANONYMOUS_ARRAY,IM_AVERAGE_COMPUTATION_COULD_OVERFLOW,IC_SUPERCLASS_USES_SUBCLASS_DURING_INITIALIZATION,ICAST_INTEGER_MULTIPLY_CAST_TO_LONG,BX_UNBOXED_AND_COERCED_FOR_TERNARY_OPERATOR,BX_BOXING_IMMEDIATELY_UNBOXED,BX_BOXING_IMMEDIATELY_UNBOXED_TO_PERFORM_COERCION,VA_FORMAT_STRING_ARG_MISMATCH,ES_COMPARING_STRINGS_WITH_EQ,ES_COMPARING_PARAMETER_STRING_WITH_EQ,RC_REF_COMPARISON,EC_UNRELATED_TYPES,EC_NULL_ARG,EC_UNRELATED_CLASS_AND_INTERFACE,EC_UNRELATED_INTERFACES,EC_ARRAY_AND_NONARRAY,EC_BAD_ARRAY_COMPARE,EC_UNRELATED_TYPES_USING_POINTER_EQUALITY,MS_EXPOSE_REP,RU_INVOKE_RUN,SA_FIELD_SELF_COMPARISON,SA_LOCAL_SELF_COMPARISON,SA_FIELD_SELF_COMPUTATION,SA_LOCAL_SELF_COMPUTATION,SA_FIELD_DOUBLE_ASSIGNMENT,SA_FIELD_SELF_COMPARISON,SA_LOCAL_SELF_COMPARISON,SA_FIELD_SELF_COMPUTATION,SA_LOCAL_SELF_COMPUTATION,SWL_SLEEP_WITH_LOCK_HELD,SP_SPIN_ON_FIELD,SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE,SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING,TLW_TWO_LOCK_WAIT,UW_UNCOND_WAIT,UR_UNINIT_READ,GC_UNRELATED_TYPES,UL_UNRELEASED_LOCK,UL_UNRELEASED_LOCK_EXCEPTION_PATH,UG_SYNC_SET_UNSYNC_GET,UCF_USELESS_CONTROL_FLOW,UCF_USELESS_CONTROL_FLOW_NEXT_LINE,ICAST_IDIV_CAST_TO_DOUBLE,ICAST_INT_CAST_TO_DOUBLE_PASSED_TO_CEIL,ICAST_INT_CAST_TO_FLOAT_PASSED_TO_ROUND,BIT_AND,BIT_AND_ZZ,BIT_IOR,BIT_SIGNED_CHECK,BIT_SIGNED_CHECK_HIGH_BIT,ITA_INEFFICIENT_TO_ARRAY,IL_INFINITE_LOOP,IL_INFINITE_RECURSIVE_LOOP,IL_CONTAINER_ADDED_TO_ITSELF,IL_INFINITE_RECURSIVE_LOOP,IL_CONTAINER_ADDED_TO_ITSELF,UI_INHERITANCE_UNSAFE_GETRESOURCE,SI_INSTANCE_BEFORE_FINALS_ASSIGNED,IC_INIT_CIRCULARITY,ISC_INSTANTIATE_STATIC_CLASS,LI_LAZY_INIT_STATIC,LI_LAZY_INIT_UPDATE_STATIC,NP_LOAD_OF_KNOWN_NULL_VALUE,RV_RETURN_VALUE_IGNORED,RV_RETURN_VALUE_IGNORED_BAD_PRACTICE,RV_EXCEPTION_NOT_THROWN,MTIA_SUSPECT_STRUTS_INSTANCE_FIELD,MTIA_SUSPECT_SERVLET_INSTANCE_FIELD,ML_SYNC_ON_UPDATED_FIELD,NM_WRONG_PACKAGE,NM_WRONG_PACKAGE_INTENTIONAL,NM_VERY_CONFUSING,NM_VERY_CONFUSING_INTENTIONAL,NM_CONFUSING,NM_METHOD_CONSTRUCTOR_CONFUSION,NM_LCASE_HASHCODE,NM_LCASE_TOSTRING,NM_BAD_EQUAL,NM_CLASS_NAMING_CONVENTION,NM_FIELD_NAMING_CONVENTION,NM_METHOD_NAMING_CONVENTION,NM_CLASS_NOT_EXCEPTION,NM_SAME_SIMPLE_NAME_AS_SUPERCLASS,NM_SAME_SIMPLE_NAME_AS_INTERFACE,DM_NUMBER_CTOR,DM_FP_NUMBER_CTOR,EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC,EQ_ALWAYS_TRUE,EQ_ALWAYS_FALSE,EQ_COMPARING_CLASS_NAMES,EQ_UNUSUAL,EQ_GETCLASS_AND_CLASS_CONSTANT,PZLA_PREFER_ZERO_LENGTH_ARRAYS,PS_PUBLIC_SEMAPHORES,QBA_QUESTIONABLE_BOOLEAN_ASSIGNMENT,RR_NOT_CHECKED,SR_NOT_CHECKED,REC_CATCH_EXCEPTION,SC_START_IN_CTOR,STCAL_STATIC_CALENDAR_INSTANCE,STCAL_STATIC_SIMPLE_DATE_FORMAT_INSTANCE,STCAL_INVOKE_ON_STATIC_CALENDAR_INSTANCE,STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE,SBSC_USE_STRINGBUFFER_CONCATENATION,SIO_SUPERFLUOUS_INSTANCEOF,STI_INTERRUPTED_ON_CURRENTTHREAD,NP_SYNC_AND_NULL_CHECK_FIELD,WL_USING_GETCLASS_RATHER_THAN_CLASS_LITERAL,ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD,DMI_BLOCKING_METHODS_ON_URL,UM_UNNECESSARY_MATH,NP_UNWRITTEN_FIELD,UWF_NULL_FIELD,SS_SHOULD_BE_STATIC,SIC_INNER_SHOULD_BE_STATIC,SIC_INNER_SHOULD_BE_STATIC_ANON,SIC_INNER_SHOULD_BE_STATIC_NEEDS_THIS,USM_USELESS_SUBCLASS_METHOD,USM_USELESS_ABSTRACT_METHOD,VA_PRIMITIVE_ARRAY_PASSED_TO_OBJECT_VARARG,VO_VOLATILE_REFERENCE_TO_ARRAY,WA_NOT_IN_LOOP,WA_AWAIT_NOT_IN_LOOP,NO_NOTIFY_NOT_NOTIFYALL,WMI_WRONG_MAP_ITERATOR,XFB_XML_FACTORY_BYPASS" /> - </Match> -</FindBugsFilter> +<FindBugsFilter> + <Match> + <Bug + pattern="SQL_BAD_RESULTSET_ACCESS,SQL_BAD_PREPARED_STATEMENT_ACCESS,RE_BAD_SYNTAX_FOR_REGULAR_EXPRESSION,RE_POSSIBLE_UNINTENDED_PATTERN,RE_CANT_USE_FILE_SEPARATOR_AS_REGULAR_EXPRESSION,RV_CHECK_FOR_POSITIVE_INDEXOF,RV_DONT_JUST_NULL_CHECK_READLINE,NP_BOOLEAN_RETURN_NULL,CN_IDIOM,CN_IDIOM_NO_SUPER_CALL,CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE,CI_CONFUSED_INHERITANCE,IA_AMBIGUOUS_INVOCATION_OF_INHERITED_OR_OUTER_METHOD,HRS_REQUEST_PARAMETER_TO_HTTP_HEADER,HRS_REQUEST_PARAMETER_TO_COOKIE,XSS_REQUEST_PARAMETER_TO_JSP_WRITER,XSS_REQUEST_PARAMETER_TO_SERVLET_WRITER,XSS_REQUEST_PARAMETER_TO_SEND_ERROR,IMSE_DONT_CATCH_IMSE,DE_MIGHT_DROP,DE_MIGHT_IGNORE,DMI_EMPTY_DB_PASSWORD,DMI_CONSTANT_DB_PASSWORD,DMI_USELESS_SUBSTRING,DMI_HARDCODED_ABSOLUTE_FILENAME,NP_IMMEDIATE_DEREFERENCE_OF_READLINE,RV_01_TO_INT,DM_RUN_FINALIZERS_ON_EXIT,DM_STRING_CTOR,DM_STRING_VOID_CTOR,DM_STRING_TOSTRING,DM_GC,DM_BOOLEAN_CTOR,DM_EXIT,DM_BOXED_PRIMITIVE_TOSTRING,DM_NEW_FOR_GETCLASS,DM_NEXTINT_VIA_NEXTDOUBLE,DM_USELESS_THREAD,DM_MONITOR_WAIT_ON_CONDITION,DMI_CALLING_NEXT_FROM_HASNEXT,BIT_IOR_OF_SIGNED_BYTE,INT_BAD_COMPARISON_WITH_NONNEGATIVE_VALUE,INT_BAD_COMPARISON_WITH_SIGNED_BYTE,INT_BAD_REM_BY_1,DMI_ANNOTATION_IS_NOT_VISIBLE_TO_REFLECTION,INT_VACUOUS_COMPARISON,BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS,DMI_RANDOM_USED_ONLY_ONCE,DMI_LONG_BITS_TO_DOUBLE_INVOKED_ON_INT,DMI_THREAD_PASSED_WHERE_RUNNABLE_EXPECTED,DB_DUPLICATE_BRANCHES,DB_DUPLICATE_SWITCH_CLAUSES,AM_CREATES_EMPTY_ZIP_FILE_ENTRY,AM_CREATES_EMPTY_JAR_FILE_ENTRY,FI_FINALIZER_NULLS_FIELDS,FI_FINALIZER_ONLY_NULLS_FIELDS,BC_BAD_CAST_TO_CONCRETE_COLLECTION,BC_BAD_CAST_TO_ABSTRACT_COLLECTION,BC_UNCONFIRMED_CAST,BC_IMPOSSIBLE_CAST,BC_IMPOSSIBLE_INSTANCEOF,BC_VACUOUS_INSTANCEOF,NP_NULL_INSTANCEOF,QF_QUESTIONABLE_FOR_LOOP,DLS_DEAD_LOCAL_STORE,IP_PARAMETER_IS_DEAD_BUT_OVERWRITTEN,DLS_DEAD_LOCAL_STORE_OF_NULL,DLS_DEAD_STORE_OF_CLASS_LITERAL,DC_DOUBLECHECK,ESync_EMPTY_SYNC,FI_PUBLIC_SHOULD_BE_PROTECTED,FI_EMPTY,FI_NULLIFY_SUPER,FI_USELESS,FI_MISSING_SUPER_CALL,FI_EXPLICIT_INVOCATION,FE_FLOATING_POINT_EQUALITY,FE_TEST_IF_EQUAL_TO_NOT_A_NUMBER,EQ_DONT_DEFINE_EQUALS_FOR_ENUM,EQ_SELF_USE_OBJECT,EQ_SELF_NO_OBJECT,CO_SELF_NO_OBJECT,HE_HASHCODE_USE_OBJECT_EQUALS,HE_HASHCODE_NO_EQUALS,HE_EQUALS_USE_HASHCODE,HE_EQUALS_NO_HASHCODE,HE_INHERITS_EQUALS_USE_HASHCODE,CO_ABSTRACT_SELF,EQ_ABSTRACT_SELF,HE_USE_OF_UNHASHABLE_CLASS,EQ_COMPARETO_USE_OBJECT_EQUALS,EQ_DOESNT_OVERRIDE_EQUALS,EQ_OTHER_USE_OBJECT,EQ_OTHER_NO_OBJECT,IS2_INCONSISTENT_SYNC,IS_FIELD_NOT_GUARDED,MSF_MUTABLE_SERVLET_FIELD,JLM_JSR166_LOCK_MONITORENTER,MF_METHOD_MASKS_FIELD,MF_CLASS_MASKS_FIELD,MWN_MISMATCHED_WAIT,MWN_MISMATCHED_NOTIFY,NN_NAKED_NOTIFY,J2EE_STORE_OF_NON_SERIALIZABLE_OBJECT_INTO_SESSION,NS_NON_SHORT_CIRCUIT,NS_DANGEROUS_NON_SHORT_CIRCUIT,NP_NULL_ON_SOME_PATH_MIGHT_BE_INFEASIBLE,NP_TOSTRING_COULD_RETURN_NULL,NP_CLONE_COULD_RETURN_NULL,NP_ALWAYS_NULL_EXCEPTION,NP_ALWAYS_NULL,NP_STORE_INTO_NONNULL_FIELD,NP_NULL_ON_SOME_PATH_EXCEPTION,NP_NULL_ON_SOME_PATH,NP_NULL_PARAM_DEREF_NONVIRTUAL,NP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS,NP_NULL_PARAM_DEREF,RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE,RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE,RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE,RCN_REDUNDANT_COMPARISON_TWO_NULL_VALUES,RCN_REDUNDANT_COMPARISON_OF_NULL_AND_NONNULL_VALUE,NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE,NP_GUARANTEED_DEREF,NP_GUARANTEED_DEREF_ON_EXCEPTION_PATH,NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT,NP_ARGUMENT_MIGHT_BE_NULL,OS_OPEN_STREAM,OS_OPEN_STREAM_EXCEPTION_PATH,ODR_OPEN_DATABASE_RESOURCE,ODR_OPEN_DATABASE_RESOURCE_EXCEPTION_PATH,DLS_DEAD_LOCAL_STORE_IN_RETURN,EC_BAD_ARRAY_COMPARE,DLS_OVERWRITTEN_INCREMENT,ICAST_BAD_SHIFT_AMOUNT,ICAST_QUESTIONABLE_UNSIGNED_RIGHT_SHIFT,DMI_BAD_MONTH,IM_MULTIPLYING_RESULT_OF_IREM,IM_BAD_CHECK_FOR_ODD,DMI_INVOKING_TOSTRING_ON_ARRAY,DMI_INVOKING_TOSTRING_ON_ANONYMOUS_ARRAY,IM_AVERAGE_COMPUTATION_COULD_OVERFLOW,IC_SUPERCLASS_USES_SUBCLASS_DURING_INITIALIZATION,ICAST_INTEGER_MULTIPLY_CAST_TO_LONG,BX_UNBOXED_AND_COERCED_FOR_TERNARY_OPERATOR,BX_BOXING_IMMEDIATELY_UNBOXED,BX_BOXING_IMMEDIATELY_UNBOXED_TO_PERFORM_COERCION,VA_FORMAT_STRING_ARG_MISMATCH,ES_COMPARING_STRINGS_WITH_EQ,ES_COMPARING_PARAMETER_STRING_WITH_EQ,RC_REF_COMPARISON,EC_UNRELATED_TYPES,EC_NULL_ARG,EC_UNRELATED_CLASS_AND_INTERFACE,EC_UNRELATED_INTERFACES,EC_ARRAY_AND_NONARRAY,EC_BAD_ARRAY_COMPARE,EC_UNRELATED_TYPES_USING_POINTER_EQUALITY,MS_EXPOSE_REP,RU_INVOKE_RUN,SA_FIELD_SELF_COMPARISON,SA_LOCAL_SELF_COMPARISON,SA_FIELD_SELF_COMPUTATION,SA_LOCAL_SELF_COMPUTATION,SA_FIELD_DOUBLE_ASSIGNMENT,SA_FIELD_SELF_COMPARISON,SA_LOCAL_SELF_COMPARISON,SA_FIELD_SELF_COMPUTATION,SA_LOCAL_SELF_COMPUTATION,SWL_SLEEP_WITH_LOCK_HELD,SP_SPIN_ON_FIELD,SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE,SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING,TLW_TWO_LOCK_WAIT,UW_UNCOND_WAIT,UR_UNINIT_READ,GC_UNRELATED_TYPES,UL_UNRELEASED_LOCK,UL_UNRELEASED_LOCK_EXCEPTION_PATH,UG_SYNC_SET_UNSYNC_GET,UCF_USELESS_CONTROL_FLOW,UCF_USELESS_CONTROL_FLOW_NEXT_LINE,ICAST_IDIV_CAST_TO_DOUBLE,ICAST_INT_CAST_TO_DOUBLE_PASSED_TO_CEIL,ICAST_INT_CAST_TO_FLOAT_PASSED_TO_ROUND,BIT_AND,BIT_AND_ZZ,BIT_IOR,BIT_SIGNED_CHECK,BIT_SIGNED_CHECK_HIGH_BIT,ITA_INEFFICIENT_TO_ARRAY,IL_INFINITE_LOOP,IL_INFINITE_RECURSIVE_LOOP,IL_CONTAINER_ADDED_TO_ITSELF,IL_INFINITE_RECURSIVE_LOOP,IL_CONTAINER_ADDED_TO_ITSELF,UI_INHERITANCE_UNSAFE_GETRESOURCE,SI_INSTANCE_BEFORE_FINALS_ASSIGNED,IC_INIT_CIRCULARITY,ISC_INSTANTIATE_STATIC_CLASS,LI_LAZY_INIT_STATIC,LI_LAZY_INIT_UPDATE_STATIC,NP_LOAD_OF_KNOWN_NULL_VALUE,RV_RETURN_VALUE_IGNORED,RV_RETURN_VALUE_IGNORED_BAD_PRACTICE,RV_EXCEPTION_NOT_THROWN,MTIA_SUSPECT_STRUTS_INSTANCE_FIELD,MTIA_SUSPECT_SERVLET_INSTANCE_FIELD,ML_SYNC_ON_UPDATED_FIELD,NM_WRONG_PACKAGE,NM_WRONG_PACKAGE_INTENTIONAL,NM_VERY_CONFUSING,NM_VERY_CONFUSING_INTENTIONAL,NM_CONFUSING,NM_METHOD_CONSTRUCTOR_CONFUSION,NM_LCASE_HASHCODE,NM_LCASE_TOSTRING,NM_BAD_EQUAL,NM_CLASS_NAMING_CONVENTION,NM_FIELD_NAMING_CONVENTION,NM_METHOD_NAMING_CONVENTION,NM_CLASS_NOT_EXCEPTION,NM_SAME_SIMPLE_NAME_AS_SUPERCLASS,NM_SAME_SIMPLE_NAME_AS_INTERFACE,DM_NUMBER_CTOR,DM_FP_NUMBER_CTOR,EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC,EQ_ALWAYS_TRUE,EQ_ALWAYS_FALSE,EQ_COMPARING_CLASS_NAMES,EQ_UNUSUAL,EQ_GETCLASS_AND_CLASS_CONSTANT,PZLA_PREFER_ZERO_LENGTH_ARRAYS,PS_PUBLIC_SEMAPHORES,QBA_QUESTIONABLE_BOOLEAN_ASSIGNMENT,RR_NOT_CHECKED,SR_NOT_CHECKED,REC_CATCH_EXCEPTION,SC_START_IN_CTOR,STCAL_STATIC_CALENDAR_INSTANCE,STCAL_STATIC_SIMPLE_DATE_FORMAT_INSTANCE,STCAL_INVOKE_ON_STATIC_CALENDAR_INSTANCE,STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE,SBSC_USE_STRINGBUFFER_CONCATENATION,SIO_SUPERFLUOUS_INSTANCEOF,STI_INTERRUPTED_ON_CURRENTTHREAD,NP_SYNC_AND_NULL_CHECK_FIELD,WL_USING_GETCLASS_RATHER_THAN_CLASS_LITERAL,ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD,DMI_BLOCKING_METHODS_ON_URL,UM_UNNECESSARY_MATH,NP_UNWRITTEN_FIELD,UWF_NULL_FIELD,SS_SHOULD_BE_STATIC,SIC_INNER_SHOULD_BE_STATIC,SIC_INNER_SHOULD_BE_STATIC_ANON,SIC_INNER_SHOULD_BE_STATIC_NEEDS_THIS,USM_USELESS_SUBCLASS_METHOD,USM_USELESS_ABSTRACT_METHOD,VA_PRIMITIVE_ARRAY_PASSED_TO_OBJECT_VARARG,VO_VOLATILE_REFERENCE_TO_ARRAY,WA_NOT_IN_LOOP,WA_AWAIT_NOT_IN_LOOP,NO_NOTIFY_NOT_NOTIFYALL,WMI_WRONG_MAP_ITERATOR,XFB_XML_FACTORY_BYPASS" /> + </Match> +</FindBugsFilter> Property changes on: zeus/trunk/jiemamy-zeus/findbugs.xml ___________________________________________________________________ Modified: svn:mime-type - text/plain + text/xml Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: zeus/trunk/jiemamy-zeus/pom.xml =================================================================== --- zeus/trunk/jiemamy-zeus/pom.xml 2009-09-20 17:29:39 UTC (rev 3645) +++ zeus/trunk/jiemamy-zeus/pom.xml 2009-09-20 17:35:30 UTC (rev 3646) @@ -15,22 +15,22 @@ <version>0.3-SNAPSHOT</version> <description>Jiemamy Specifications</description> <url>http://report.jiemamy.org/jiemamy-zeus</url> - <issueManagement> - <system>JIRA</system> - <url>http://jira.jiemamy.org/jira/browse/SPEC</url> - </issueManagement> - <ciManagement> - <system>hudson</system> - <url>http://hudson.jiemamy.org/hudson/job/jiemamy-zeus/</url> - <notifiers> - <notifier> - <sendOnSuccess>false</sendOnSuccess> - <configuration> - <recipients>jiema****@googl*****</recipients> - </configuration> - </notifier> - </notifiers> - </ciManagement> + <issueManagement> + <system>JIRA</system> + <url>http://jira.jiemamy.org/jira/browse/SPEC</url> + </issueManagement> + <ciManagement> + <system>hudson</system> + <url>http://hudson.jiemamy.org/hudson/job/jiemamy-zeus/</url> + <notifiers> + <notifier> + <sendOnSuccess>false</sendOnSuccess> + <configuration> + <recipients>jiema****@googl*****</recipients> + </configuration> + </notifier> + </notifiers> + </ciManagement> <inceptionYear>2007</inceptionYear> <developers> <developer> @@ -59,11 +59,11 @@ <connection>scm:svn:http://svn.sourceforge.jp/svnroot/jiemamy/zeus/trunk/jiemamy-zeus</connection> <developerConnection>scm:svn:svn+ssh://svn.sourceforge.jp/svnroot/jiemamy/zeus/trunk/jiemamy-zeus</developerConnection> <url>http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi/zeus/trunk/jiemamy-zeus/?root=jiemamy</url> - </scm> + </scm> <modules> - <module>../jiemamy-spec-core</module> - <module>../jiemamy-spec-view</module> - <module>../jiemamy-spec-diff</module> + <module>../jiemamy-spec-core</module> + <module>../jiemamy-spec-view</module> + <module>../jiemamy-spec-diff</module> </modules> <repositories> <repository> Property changes on: zeus/trunk/jiemamy-zeus/pom.xml ___________________________________________________________________ Modified: svn:mime-type - text/plain + text/xml Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native