svnno****@sourc*****
svnno****@sourc*****
2008年 9月 18日 (木) 04:48:08 JST
Revision: 1931 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=jiemamy&view=rev&rev=1931 Author: daisuke_m Date: 2008-09-18 04:48:08 +0900 (Thu, 18 Sep 2008) Log Message: ----------- Share project "org.jiemamy.spec" into "svn+ssh://svn.sourceforge.jp/svnroot/jiemamy" Added Paths: ----------- artemis/trunk/org.jiemamy.spec/.classpath artemis/trunk/org.jiemamy.spec/.project artemis/trunk/org.jiemamy.spec/LICENSE.txt artemis/trunk/org.jiemamy.spec/META-INF/ artemis/trunk/org.jiemamy.spec/META-INF/MANIFEST.MF artemis/trunk/org.jiemamy.spec/build.properties artemis/trunk/org.jiemamy.spec/pom.xml artemis/trunk/org.jiemamy.spec/src/ artemis/trunk/org.jiemamy.spec/src/main/ artemis/trunk/org.jiemamy.spec/src/main/java/ artemis/trunk/org.jiemamy.spec/src/main/java/org/ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/ConnectionAdvisor.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/Context.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/DataTypeMapping.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/Dialect.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/ExportContext.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/Exporter.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/IdentifierValidator.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/ImportContext.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/Importer.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/ModelParser.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/Quoter.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/geometory/ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/geometory/JmColor.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/geometory/JmPoint.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/geometory/JmRectangle.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/ColumnModel.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/DomainModel.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/JiemamyModel.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/RootModel.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/connection/ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/connection/AbstractConnectionModel.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/connection/AbstractRelationModel.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/connection/ForeignKeyMapping.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/connection/ForeignKeyModel.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/connection/InheritanceModel.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/constraint/ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/constraint/CheckConstraintModel.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/constraint/Constraint.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/constraint/ConstraintSetModel.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/constraint/NotNullConstraintModel.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/constraint/PrimaryKeyConstraintModel.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/dataset/ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/dataset/InsertDataSetModel.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/dataset/RecordModel.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/datatype/ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/datatype/DataType.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/datatype/GeneralDataType.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/datatype/SpecialDataType.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/index/ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/index/IndexColumnModel.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/index/IndexModel.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/node/ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/node/AbstractEntityModel.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/node/AbstractNodeModel.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/node/StickyModel.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/node/TableModel.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/node/ViewModel.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/presentation/ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/presentation/DiagramPresentationModel.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/util/ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/util/ModelChangeEvent.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/util/ModelChangeListener.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/util/Observable.java artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/util/Processor.java artemis/trunk/org.jiemamy.spec/src/main/resources/ artemis/trunk/org.jiemamy.spec/src/main/resources/jiemamy-spec.dicon Property Changed: ---------------- artemis/trunk/org.jiemamy.spec/ -------------- next part -------------- Property changes on: artemis/trunk/org.jiemamy.spec ___________________________________________________________________ Name: svn:ignore + target lib repo .externalToolBuilders Added: artemis/trunk/org.jiemamy.spec/.classpath =================================================================== --- artemis/trunk/org.jiemamy.spec/.classpath (rev 0) +++ artemis/trunk/org.jiemamy.spec/.classpath 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src/main/java"/> + <classpathentry kind="src" path="src/main/resources"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry combineaccessrules="false" kind="src" path="/org.jiemamy.irenka"/> + <classpathentry kind="con" path="org.ashikunep.irenka.studio.RUNTIME"/> + <classpathentry kind="output" path="target/classes"/> +</classpath> Property changes on: artemis/trunk/org.jiemamy.spec/.classpath ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/.project =================================================================== --- artemis/trunk/org.jiemamy.spec/.project (rev 0) +++ artemis/trunk/org.jiemamy.spec/.project 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.jiemamy.spec</name> + <comment>Jiemamyのコア機能を提供するパッケージ</comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>edu.umd.cs.findbugs.plugin.eclipse.findbugsBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.atlassw.tools.eclipse.checkstyle.CheckstyleBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.ashikunep.irenka.studio.builder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>edu.umd.cs.findbugs.plugin.eclipse.findbugsNature</nature> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>com.atlassw.tools.eclipse.checkstyle.CheckstyleNature</nature> + <nature>org.ashikunep.irenka.studio.nature</nature> + </natures> + <linkedResources> + <link> + <name>.fbprefs</name> + <type>1</type> + <locationURI>DOCUMENTS/org.jiemamy.project/.fbprefs</locationURI> + </link> + <link> + <name>findbugs.xml</name> + <type>1</type> + <locationURI>DOCUMENTS/org.jiemamy.project/findbugs.xml</locationURI> + </link> + <link> + <name>.checkstyle</name> + <type>1</type> + <locationURI>DOCUMENTS/org.jiemamy.project/.checkstyle</locationURI> + </link> + </linkedResources> +</projectDescription> Property changes on: artemis/trunk/org.jiemamy.spec/.project ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/LICENSE.txt =================================================================== --- artemis/trunk/org.jiemamy.spec/LICENSE.txt (rev 0) +++ artemis/trunk/org.jiemamy.spec/LICENSE.txt 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +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. Property changes on: artemis/trunk/org.jiemamy.spec/LICENSE.txt ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/META-INF/MANIFEST.MF =================================================================== --- artemis/trunk/org.jiemamy.spec/META-INF/MANIFEST.MF (rev 0) +++ artemis/trunk/org.jiemamy.spec/META-INF/MANIFEST.MF 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,22 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Jiemamy Specifications +Bundle-SymbolicName: org.jiemamy.spec;singleton:=true +Bundle-Version: 0.2.0.SNAPSHOT +Bundle-ClassPath: . +Bundle-Vendor: Jiemamy Project +Eclipse-BuddyPolicy: registered +Eclipse-LazyStart: false +Export-Package: org.jiemamy.spec.adapter, + org.jiemamy.spec.exception, + org.jiemamy.spec.extension, + org.jiemamy.spec.geometory, + org.jiemamy.spec.model, + org.jiemamy.spec.model.connection, + org.jiemamy.spec.model.constraint, + org.jiemamy.spec.model.dataset, + org.jiemamy.spec.model.datatype, + org.jiemamy.spec.model.index, + org.jiemamy.spec.model.node, + org.jiemamy.spec.model.presentation, + org.jiemamy.spec.util Property changes on: artemis/trunk/org.jiemamy.spec/META-INF/MANIFEST.MF ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/build.properties =================================================================== --- artemis/trunk/org.jiemamy.spec/build.properties (rev 0) +++ artemis/trunk/org.jiemamy.spec/build.properties 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +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 Property changes on: artemis/trunk/org.jiemamy.spec/build.properties ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/pom.xml =================================================================== --- artemis/trunk/org.jiemamy.spec/pom.xml (rev 0) +++ artemis/trunk/org.jiemamy.spec/pom.xml 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,239 @@ +<?xml version="1.0" encoding="UTF-8"?> +<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> + <parent> + <groupId>org.jiemamy</groupId> + <artifactId>jiemamy-project</artifactId> + <version>0.2.0-SNAPSHOT</version> + <relativePath>../org.jiemamy.project</relativePath> + </parent> + <groupId>org.jiemamy</groupId> + <artifactId>org.jiemamy.spec</artifactId> + <name>Jiemamy Specifications</name> + <version>0.2.0-SNAPSHOT</version> + <description><![CDATA[Jiemamyの仕様を提供するコンポーネント]]></description> + <url>http://jiemamy.org/</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-spec/</url> + <notifiers> + <notifier> + <sendOnSuccess>false</sendOnSuccess> + <configuration> + <recipients>jiema****@lists*****</recipients> + </configuration> + </notifier> + </notifiers> + </ciManagement> + <inceptionYear>2007</inceptionYear> + <mailingLists> + <mailingList> + <name>Jiemamy-users</name> + <subscribe></subscribe> + <post>jiema****@lists*****</post> + <archive>http://lists.sourceforge.jp/mailman/archives/jiemamy-users/</archive> + </mailingList> + <mailingList> + <name>Jiemamy-dev</name> + <subscribe></subscribe> + <post>jiema****@lists*****</post> + <archive>http://lists.sourceforge.jp/mailman/archives/jiemamy-dev/</archive> + </mailingList> + </mailingLists> + <developers> + <developer> + <id>daisuke</id> + <name>MIYAMOTO Daisuke</name> + <email>daisuke_m****@users*****</email> + <url>http://d.hatena.ne.jp/daisuke-m/</url> + <timezone>+9</timezone> + </developer> + </developers> + <licenses> + <license> + <name>The Apache Software License, Version 2.0</name> + <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> + <distribution>repo</distribution> + </license> + </licenses> + <scm> + <connection>scm:svn:http://svn.sourceforge.jp/svnroot/jiemamy/artemis/trunk/org.jiemamy.spec</connection> + <developerConnection>scm:svn:svn+ssh://svn.sourceforge.jp/svnroot/jiemamy/artemis/trunk/org.jiemamy.spec</developerConnection> + <url>http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi/artemis/trunk/org.jiemamy.spec/?root=jiemamy</url> + </scm> + <build> + <plugins> + <plugin> + <artifactId>maven-dependency-plugin</artifactId> + <executions> + <execution> + <id>jar</id> + <phase>process-resources</phase> + <goals> + <goal>copy-dependencies</goal> + </goals> + <configuration> + <outputDirectory>lib</outputDirectory> + <excludeGroupIds>org.jiemamy</excludeGroupIds> + <overWriteReleases>false</overWriteReleases> + <overWriteSnapshots>true</overWriteSnapshots> + <overWriteIfNewer>true</overWriteIfNewer> + </configuration> + </execution> + <execution> + <id>source-jar</id> + <phase>process-resources</phase> + <goals> + <goal>copy-dependencies</goal> + </goals> + <configuration> + <outputDirectory>lib/sources</outputDirectory> + <excludeGroupIds>org.jiemamy</excludeGroupIds> + <overWriteReleases>false</overWriteReleases> + <overWriteSnapshots>true</overWriteSnapshots> + <overWriteIfNewer>true</overWriteIfNewer> + <classifier>sources</classifier> + <failOnMissingClassifierArtifact>false</failOnMissingClassifierArtifact> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <artifactId>maven-clean-plugin</artifactId> + <configuration> + <filesets> + <fileset> + <directory>/lib</directory> + </fileset> + </filesets> + </configuration> + </plugin> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <source>1.5</source> + <target>1.5</target> + <encoding>UTF-8</encoding> + </configuration> + </plugin> + <plugin> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <forkMode>pertest</forkMode> + <includes> + <include>**/*Test.java</include> + </includes> + <argLine>-enableassertions -Xms128M -Xmx128M</argLine> + </configuration> + </plugin> + <plugin> + <artifactId>maven-site-plugin</artifactId> + <configuration> + <locales>ja,en</locales> + <inputEncoding>UTF-8</inputEncoding> + <outputEncoding>UTF-8</outputEncoding> + </configuration> + </plugin> + </plugins> + </build> + <reporting> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>cobertura-maven-plugin</artifactId> + <configuration> + <instrumentation> + <includes> + <include>**/*.class</include> + </includes> + <excludes> + <exclude>${basedir}</exclude> + </excludes> + </instrumentation> + <formats> + <format>xml</format> + <format>html</format> + </formats> + </configuration> + </plugin> + <plugin> + <artifactId>maven-surefire-report-plugin</artifactId> + <reportSets> + <reportSet> + <reports> + <report>report-only</report> + </reports> + </reportSet> + </reportSets> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>taglist-maven-plugin</artifactId> + <configuration> + <tags> + <tag>TODO</tag> + <tag>FIXME</tag> + <tag>UNDONE</tag> + <tag>HACK</tag> + <tag>THINK</tag> + <tag>RESOURCE</tag> + <tag>DOCME</tag> + </tags> + </configuration> + </plugin> + <plugin> + <artifactId>maven-javadoc-plugin</artifactId> + <configuration> + <charset>UTF-8</charset> + <encoding>UTF-8</encoding> + <docencoding>UTF-8</docencoding> + </configuration> + </plugin> + <plugin> + <artifactId>maven-checkstyle-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>findbugs-maven-plugin</artifactId> + <configuration> + <threshold>High</threshold> + <effort>Max</effort> + </configuration> + </plugin> + <plugin><!-- コレがコケることがある? --> + <artifactId>maven-pmd-plugin</artifactId> + <configuration> + <sourceEncoding>UTF-8</sourceEncoding> + <targetJdk>1.5</targetJdk> + <linkXRef>true</linkXRef> + <rulesets> + <string>/rulesets/braces.xml</string> + <string>/rulesets/j2ee.xml</string> + </rulesets> + </configuration> + </plugin> + <plugin> + <artifactId>maven-jxr-plugin</artifactId> + <configuration> + <aggregate>true</aggregate> + <inputEncoding>UTF-8</inputEncoding> + <outputEncoding>UTF-8</outputEncoding> + <linkJavadoc>true</linkJavadoc> + </configuration> + </plugin> + </plugins> + </reporting> + <distributionManagement> + <site> + <id>jiemamy-sourceforge</id> + <name>maven-jiemamy-plugin-site</name> + <url>scp://shell.sourceforge.jp/home/groups/j/ji/jiemamy/htdocs/dev/jiemamy-spec</url> + </site> + </distributionManagement> +</project> \ No newline at end of file Property changes on: artemis/trunk/org.jiemamy.spec/pom.xml ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/ConnectionAdvisor.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/ConnectionAdvisor.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/ConnectionAdvisor.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,40 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.extension; + +import java.sql.Connection; + +/** + * DBメタデータの読み出し前後に行うべき処理を司るインターフェイス。 + * @author daisuke + */ +public interface ConnectionAdvisor { + + /** + * エンティティ・リレーションの読み出し前に行うべき処理。 + * @param connection DB接続 + */ + void setUpRead(Connection connection); + + /** + * エンティティ・リレーションの読み出し後に行うべき処理。 + * @param connection DB接続 + */ + void tearDownRead(Connection connection); +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/ConnectionAdvisor.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/Context.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/Context.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/Context.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,56 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.extension; + +import java.util.Map; + +/** + * TODO for daisuke + * @author daisuke + */ +public interface Context { + + /** + * コンテキスト値のマップを取得する。 + * @return コンテキスト値のマップ + */ + public Map<String, Object> getProperties(); + + /** + * コンテキスト値を取得する。 + * @param <T> コンテキスト値の型 + * @param key キー + * @return コンテキスト値 + */ + public <T>T getValue(String key); + + /** + * コンテキスト値のマップを設定する。 + * @param properties コンテキスト値のマップ + */ + public void setProperties(Map<String, Object> properties); + + /** + * コンテキスト値を設定する。 + * @param <T> コンテキスト値の型 + * @param key キー + * @param value コンテキスト値 + */ + public <T>void setValue(String key, T value); +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/Context.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/DataTypeMapping.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/DataTypeMapping.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/DataTypeMapping.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,71 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.extension; + +import java.util.List; + +import org.jiemamy.spec.exception.DataTypeNotFoundException; +import org.jiemamy.spec.model.datatype.DataType; +import org.jiemamy.spec.model.datatype.GeneralDataType; +import org.jiemamy.spec.model.datatype.SpecialDataType; + +/** + * データ型同士の対応関係(マッピング)を表現するクラス。 + * @author daisuke + */ +public interface DataTypeMapping { + + /** + * 登録されたデータ型を全て取得する。 + * @return 登録されたデータ型のリスト + */ + public List<Class<? extends DataType>> getAllModelingDataTypes(); + + /** + * データ型から型名を取得する。 + * @param dataType データ型 + * @return 型名 + */ + public String getTypeName(DataType dataType); + + /** + * 特殊データ型から一般データ型を取得する。 + * + * <p>この時、多くの情報が失われることに注意して使用する。</p> + * + * @param specialDataType 特殊データ型 + * @return 一般データ型 + */ + public GeneralDataType resolveGeneralDataType(SpecialDataType specialDataType); + + /** + * 一般データ型から特殊データ型を取得する。 + * @param generalDataType 一般データ型 + * @return 特殊データ型 + */ + public SpecialDataType resolveSpecialDataType(GeneralDataType generalDataType); + + /** + * 型名から特殊データ型 + * @param typeName 型名 + * @return 特殊データ型 + * @throws DataTypeNotFoundException 該当するデータ型が存在しない場合。 + */ + public SpecialDataType resolveSpecialDataType(String typeName) throws DataTypeNotFoundException; +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/DataTypeMapping.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/Dialect.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/Dialect.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/Dialect.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,76 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. + * Created on 2008/06/09 + * + * This file is part of Jiemamy-core. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.spec.extension; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; + +import org.jiemamy.spec.model.RootModel; +import org.jiemamy.spec.model.node.AbstractEntityModel; + +/** + * SQL方言インターフェイス。 + * @author daisuke + */ +public interface Dialect { + + /** + * エンティティ情報から{@link AbstractEntityModel}を生成する。 + * + * <p>渡したEntity情報がTABLEやVIEWではなかった場合(INDEX等)<code>null</code>を返す。</p> + * + * @param rootModel + * @param entity エンティティ情報 + * @param connection DB接続 + * @return 生成された {@link AbstractEntityModel} + * @throws SQLException + */ + AbstractEntityModel createEntity(RootModel rootModel, ResultSet entity, Connection connection) throws SQLException; + + /** + * このSQL方言用の{@link ConnectionAdvisor}を取得する。 + * @return {@link ConnectionAdvisor} + */ + ConnectionAdvisor getAdvisor(); + + /** + * モデリング用DataType・一般型・型名間のマッピング情報を取得する。 + * @return マッピング情報 + */ + DataTypeMapping getDataTypeMapping(); + + /** + * このSQL方言用の{@link ModelParser}を取得する。 + * @return {@link ModelParser} + */ + ModelParser getParser(); + + /** + * このSQL方言用の{@link Quoter}を取得する。 + * @return {@link Quoter} + */ + Quoter getQuoter(); + + /** + * このSQL方言用の{@link IdentifierValidator}を取得する。 + * @return {@link IdentifierValidator} + */ + IdentifierValidator getValidator(); +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/Dialect.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/ExportContext.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/ExportContext.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/ExportContext.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,29 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.extension; + +import org.jiemamy.spec.adapter.Adaptable; + +/** + * TODO for daisuke + * @author daisuke + */ +public interface ExportContext extends Context, Adaptable { + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/ExportContext.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/Exporter.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/Exporter.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/Exporter.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,46 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. + * Created on 2008/06/19 + * + * This file is part of Jiemamy-core. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.spec.extension; + +import org.jiemamy.spec.exception.ExportException; +import org.jiemamy.spec.model.RootModel; + +/** + * Jiemamyモデルから外部リソースに出力を行うインターフェイス。 + * @author daisuke + */ +public interface Exporter { + + /** + * モデルを外部リソースにエクスポートする。 + * ファイル出力であれば、ファイルに保存する所までの責務を負う。 + * @param rootModel エクスポート対象モデル + * @param ctx エクスポートのコンテキスト + * @return エクスポートが正常に行われた場合はtrue、contextの設定により、出力が行われなかった場合はfalse + * @throws ExportException エクスポートに失敗した時 + */ + boolean export(RootModel rootModel, ExportContext ctx) throws ExportException; + + /** + * Exporterの名称を取得する。 + * @return 名称 + */ + String getName(); + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/Exporter.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/IdentifierValidator.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/IdentifierValidator.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/IdentifierValidator.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,33 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.extension; + +/** + * 識別子の妥当性を判断するインターフェイス。 + * @author daisuke + */ +public interface IdentifierValidator { + + /** + * 指定した語が、識別子として適切かどうかを調べる。 + * @param word 語 + * @return 適切であればtrue + */ + boolean validate(String word); +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/IdentifierValidator.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/ImportContext.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/ImportContext.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/ImportContext.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,29 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.extension; + +import org.jiemamy.spec.adapter.Adaptable; + +/** + * TODO for daisuke + * @author daisuke + */ +public interface ImportContext extends Context, Adaptable { + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/ImportContext.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/Importer.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/Importer.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/Importer.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,45 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. + * Created on 2008/06/19 + * + * This file is part of Jiemamy-core. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.spec.extension; + +import org.jiemamy.spec.exception.ImportException; +import org.jiemamy.spec.model.RootModel; + +/** + * 外部リソースからJiemamyモデルに入力を行うインターフェイス。 + * @author daisuke + */ +public interface Importer { + + /** + * Importerの名称を取得する。 + * @return 名称 + */ + String getName(); + + /** + * 外部リソースからモデルにデータをインポートする。 + * @param rootModel インポート対象モデル + * @param ctx インポートのコンテキスト + * @return インポートが正常に行われた場合はtrue、contextの設定により、入力が行われなかった場合はfalse + * @throws ImportException インポートに失敗した時 + */ + boolean import_(RootModel rootModel, ImportContext ctx) throws ImportException; + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/Importer.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/ModelParser.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/ModelParser.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/ModelParser.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,36 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.extension; + +import org.jiemamy.spec.model.RootModel; + +/** + * モデル解析用インターフェイス。 + * @author j5ik2o + */ +public interface ModelParser { + + /** + * 与えられたRootModelを解析し、SQLに変換する。 + * @param rootModel RootModel + * @return SQL + */ + public String parse(RootModel rootModel); + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/ModelParser.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/Quoter.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/Quoter.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/Quoter.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,50 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. + * Created on 2008/09/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.spec.extension; + +/** + * SQL文中の引用符処理を行うインターフェイス。 + * @author daisuke + */ +public interface Quoter { + + /** + * 引用符で囲む。 + * + * <p>input -> 'input' など。</p> + * + * @param input 入力文字列 + * @param kind 引用の種類 + * @return 囲んだ結果 + */ + String quote(String input, QuoteKind kind); + + + /** + * 引用の種類。 + * @author daisuke + */ + public enum QuoteKind { + /** 識別子 */ + IDENTIFIER, + + /** データ */ + DATA + } +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/extension/Quoter.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/geometory/JmColor.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/geometory/JmColor.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/geometory/JmColor.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,60 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. + * Created on 2008/06/09 + * + * This file is part of Jiemamy-core. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.spec.geometory; + +import java.io.Serializable; + +/** + * RGBによる色モデル。 + * + * @author daisuke + */ + @ SuppressWarnings("serial") +public class JmColor implements Serializable { + + /** 赤 */ + public int red; + + /** 緑 */ + public int green; + + /** 青 */ + public int blue; + + + /** + * コンストラクタ。 + * @category instance creation + */ + public JmColor() { + } + + /** + * コンストラクタ。 + * + * @param red 赤(0-255) + * @param green 緑(0-255) + * @param blue 青(0-255) + */ + public JmColor(int red, int green, int blue) { + this.red = red; + this.green = green; + this.blue = blue; + } +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/geometory/JmColor.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/geometory/JmPoint.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/geometory/JmPoint.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/geometory/JmPoint.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,55 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. + * Created on 2008/06/09 + * + * This file is part of Jiemamy-core. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.spec.geometory; + +import java.io.Serializable; + +/** + * 座標モデル。 + * + * @author daisuke + */ + @ SuppressWarnings("serial") +public class JmPoint implements Serializable { + + /** X座標 */ + public int x; + + /** Y座標 */ + public int y; + + + /** + * コンストラクタ。 + * @category instance creation + */ + public JmPoint() { + } + + /** + * コンストラクタ。 + * + * @param x X座標 + * @param y Y座標 + */ + public JmPoint(int x, int y) { + this.x = x; + this.y = y; + } +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/geometory/JmPoint.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/geometory/JmRectangle.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/geometory/JmRectangle.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/geometory/JmRectangle.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,76 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. + * Created on 2008/06/09 + * + * This file is part of Jiemamy-core. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.spec.geometory; + +import java.io.Serializable; + +/** + * 矩形モデル。 + * + * @author daisuke + */ + @ SuppressWarnings("serial") +public class JmRectangle implements Serializable { + + /** X座標 */ + public int x; + + /** Y座標 */ + public int y; + + /** 幅 */ + public int width; + + /** 高さ */ + public int height; + + + /** + * コンストラクタ。 + * @category instance creation + */ + public JmRectangle() { + } + + /** + * コンストラクタ。 + * widthとheightは、デフォルト(-1)が設定される。 + * @param x X座標 + * @param y Y座標 + * @category instance creation + */ + public JmRectangle(int x, int y) { + this(x, y, -1, -1); + } + + /** + * コンストラクタ。 + * @param x X座標 + * @param y Y座標 + * @param width 幅 + * @param height 高さ + * @category instance creation + */ + public JmRectangle(int x, int y, int width, int height) { + this.x = x; + this.y = y; + this.width = width; + this.height = height; + } +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/geometory/JmRectangle.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/ColumnModel.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/ColumnModel.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/ColumnModel.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,152 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.model; + +import org.jiemamy.spec.model.constraint.Constraint; +import org.jiemamy.spec.model.constraint.ConstraintSetModel; +import org.jiemamy.spec.model.datatype.DataType; + +/** + * TODO for daisuke + * @author daisuke + */ +public interface ColumnModel extends JiemamyModel { + + /** + * 制約を追加する。 + * @param constraint 制約 + */ + void addConstraint(Constraint constraint); + + /** + * 制約を取得する。 + * @return 制約 + */ + ConstraintSetModel getConstraints(); + + /** + * 型を取得する。 + * @return 型 + */ + DataType getDataType(); + + /** + * デフォルト値を取得する。 + * @return デフォルト値 + */ + String getDefaultValue(); + + /** + * 説明文を取得する。 + * @return 説明文 + */ + String getDescription(); + + /** + * 自由文字列を取得する。 + * @return 自由文字列 + */ + String getFreeString(); + + /** + * 論理名を取得する。 + * @return 論理名 + */ + String getLogicalName(); + + /** + * 物理名を取得する。 + * @return 物理名 + */ + String getName(); + + /** + * 指定する制約を持つかどうか調べる。 + * @param clazz 制約クラス + * @return 制約を持つ場合は<tt>true</tt> + */ + boolean hasConstraint(Class<? extends Constraint> clazz); + + /** + * 代表カラムかどうかを取得する。 + * @return 代表カラムかどうか + */ + boolean isRepresentation(); + + /** + * 単純インデックスの有無を取得する。 + * @return 単純インデックスの有無 + */ + boolean isSimpleIndex(); + + /** + * 制約を削除する。 + * @param constraintClass 制約クラス + */ + void removeConstraint(Class<? extends Constraint> constraintClass); + + /** + * 型を設定する。 + * @param dataType 型 + */ + void setDataType(DataType dataType); + + /** + * デフォルト値を設定する。 + * @param defaultValue デフォルト値 + */ + void setDefaultValue(String defaultValue); + + /** + * 説明文を設定する。 + * @param description 説明文 + */ + void setDescription(String description); + + /** + * 自由文字列を設定する。 + * @param freeString 自由文字列 + */ + void setFreeString(String freeString); + + /** + * 論理名を設定する。 + * @param logicalName 論理名 + */ + void setLogicalName(String logicalName); + + /** + * 物理名を設定する。 + * @param name 物理名 + */ + void setName(String name); + + /** + * 代表カラムかどうかを設定する。 + * @param representation 代表カラムかどうか + */ + void setRepresentation(boolean representation); + + /** + * 単純インデックスの有無を設定する。 + * @param simpleIndex 単純インデックスの有無 + */ + void setSimpleIndex(boolean simpleIndex); + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/ColumnModel.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/DomainModel.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/DomainModel.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/DomainModel.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,139 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.model; + +import org.jiemamy.spec.model.constraint.Constraint; +import org.jiemamy.spec.model.constraint.ConstraintSetModel; +import org.jiemamy.spec.model.datatype.DataType; + +/** + * TODO for daisuke + * @author daisuke + */ +public interface DomainModel extends DataType { + + /** + * 制約を追加する。 + * @param constraint 制約 + */ + void addConstraint(Constraint constraint); + + /** + * 制約を取得する。 + * @return 制約のSet + */ + ConstraintSetModel getConstraint(); + + /** + * ドメインとして定義された型を取得する。 + * @return ドメインとして定義された型 + */ + DataType getDataType(); + + /** + * デフォルト値を取得する。 + * @return デフォルト値 + */ + String getDefaultValue(); + + /** + * 説明文を取得する。 + * @return 説明文 + */ + String getDescription(); + + /** + * 自由文字列を取得する。 + * @return 自由文字列 + */ + String getFreeString(); + + /** + * 論理名を取得する。 + * @return 論理名 + */ + String getLogicalName(); + + /** + * ドメイン名を取得する。 + * @return ドメイン名 + */ + String getName(); + + /** + * 指定する制約を持つかどうか調べる。 + * @param clazz 制約クラス + * @return 制約を持つ場合は<tt>true</tt> + */ + boolean hasConstraint(Class<? extends Constraint> clazz); + + /** + * 単純インデックスの有無を取得する。 + * @return 単純インデックスの有無 + */ + boolean isSimpleIndex(); + + /** + * 制約を削除する。 + * @param constraintClass 制約クラス + */ + void removeConstraint(Class<? extends Constraint> constraintClass); + + /** + * ドメインとして定義された型を設定する。 + * @param dataType ドメインとして定義された型 + */ + void setDataType(DataType dataType); + + /** + * デフォルト値を設定する。 + * @param defaultValue デフォルト値 + */ + void setDefaultValue(String defaultValue); + + /** + * 説明文を設定する。 + * @param description 説明文 + */ + void setDescription(String description); + + /** + * 自由文字列を設定する。 + * @param freeString 自由文字列 + */ + void setFreeString(String freeString); + + /** + * ドメイン名を設定する。 + * @param name ドメイン名 + */ + void setName(String name); + + /** + * 単純インデックスの有無を設定する。 + * @param simpleIndex 単純インデックスの有無 + */ + void setSimpleIndex(boolean simpleIndex); + + /** + * {@inheritDoc} + */ + String toString(); + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/DomainModel.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/JiemamyModel.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/JiemamyModel.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/JiemamyModel.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,84 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. + * Created on 2008/09/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.spec.model; + +import java.io.Serializable; +import java.util.UUID; + +import org.jiemamy.spec.adapter.Adaptable; +import org.jiemamy.spec.util.Observable; +import org.jiemamy.spec.util.Processor; + +/** + * Jiemamyが扱う、ユーザが定義するDB設計に関わるデータ(モデル)インターフェイス。 + * @author daisuke + */ +public interface JiemamyModel extends Serializable, Observable, Adaptable { + + /** + * モデルIDを取得する。 + * + * @return id モデルID + */ + public UUID getId(); + + /** + * {@link Processor}による処理を実行する。 + * + * <p>Jiemamyのモデルクラスは、基本的に単純なJavaBeansであり、accessorメソッド以外のメソッドはほとんど実装されていない。 + * 通常、モデルが持つメソッドだと考えられる処理の多くは{@link Processor}クラスとして切り出されており、 + * org.jiemamy.utils.processorパッケージに配置されている。</p> + * + * <p>例えば、通常はAのように実装されていると予想される処理は、Bのように書くことにより実行することができる。</p> + * + * <ul> + * <li>A: <code>RootModel#addTable(TableModel);</code></li> + * <li>B: <code>RootModel.process(new AddTableProcessor(TableModel));</code></li> + * </ul> + * + * <p>与える{@link Processor}によっては、戻り値を得ることも可能であり、戻り値の型は {@link Processor}に依る。 + * また、チェック例外を受け取る事も可能であり、例外の種類は同様に {@link Processor}に依る。</p> + * + * <p>これはVisitorパターンの実装であり、processメソッドはacceptメソッド、ProcessorはVisitorにあたる要素である。</p> + * + * <p>cf. http://d.hatena.ne.jp/daisuke-m/20080801/1217594494</p> + * + * @param <R> 処理結果の型(Processorによって指定される) + * @param <T> 処理対象モデルの型(Processorによって指定される) + * @param <E> 処理が投げる可能性のある例外の型 + * (Processorによって指定され、チェック例外を投げない場合は {@link RuntimeException}が指定されている。 + * @param processor 実行するプロセッサ + * @return プロセス結果 + * @throws E Processorが例外を投げた場合 + */ + @SuppressWarnings("unchecked") + public <R, T extends JiemamyModel, E extends Exception>R process(Processor<T, R, E> processor) throws E; + + /** + * TODO for daisuke + * @param id + */ + public void setId(UUID id); + + /** + * このオブジェクトが保持しているリソースを破棄します。 + */ + void dispose(); + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/JiemamyModel.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/RootModel.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/RootModel.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/RootModel.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,125 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.model; + +import java.util.List; +import java.util.Set; + +import org.jiemamy.spec.model.connection.AbstractConnectionModel; +import org.jiemamy.spec.model.dataset.InsertDataSetModel; +import org.jiemamy.spec.model.node.AbstractNodeModel; +import org.jiemamy.spec.model.presentation.DiagramPresentationModel; + +/** + * TODO for daisuke + * @author daisuke + */ +public interface RootModel extends JiemamyModel { + + /** + * 開始スクリプトを取得する。 + * @return 開始スクリプト + */ + String getBeginScript(); + + /** + * コネクションのリストを取得する。 + * @return コネクションのリスト + */ + Set<AbstractConnectionModel> getConnections(); + + /** + * 説明文を取得する。 + * @return 説明文 + */ + String getDescription(); + + /** + * ダイアグラム表現(レイアウト等)のリストを取得する。 + * @return ダイアグラム表現(レイアウト等)のリスト + */ + List<DiagramPresentationModel> getDiagramPresentations(); + + /** + * SQL方言クラス名を取得する。 + * @return RDBMS名 + */ + String getDialectClassName(); + + /** + * ドメインのリストを取得する。 + * @return ドメインのリスト + */ + List<DomainModel> getDomains(); + + /** + * 終了スクリプトを取得する。 + * @return 終了スクリプト + */ + String getEndScript(); + + /** + * INSERTデータセットを取得する。 + * @return INSERTデータセット + */ + List<InsertDataSetModel> getInsertDataSets(); + + /** + * ノードのリストを取得する。 + * @return ノードのリスト + */ + Set<AbstractNodeModel> getNodes(); + + /** + * スキーマ名を取得する。 + * @return スキーマ名 + */ + String getSchemaName(); + + /** + * 開始スクリプトを設定する。 + * @param beginScript 開始スクリプト + */ + void setBeginScript(String beginScript); + + /** + * 説明文を設定する。 + * @param description 説明文 + */ + void setDescription(String description); + + /** + * SQL方言クラス名を設定する。 + * @param dialectClassName RDBMS名 + */ + void setDialectClassName(String dialectClassName); + + /** + * 終了スクリプトを設定する。 + * @param endScript 終了スクリプト + */ + void setEndScript(String endScript); + + /** + * スキーマ名を設定する。 + * @param schemaName スキーマ名 + */ + void setSchemaName(String schemaName); + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/RootModel.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/connection/AbstractConnectionModel.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/connection/AbstractConnectionModel.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/connection/AbstractConnectionModel.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,54 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.model.connection; + +import org.jiemamy.spec.model.JiemamyModel; +import org.jiemamy.spec.model.node.AbstractNodeModel; + +/** + * TODO for daisuke + * @author daisuke + */ +public interface AbstractConnectionModel extends JiemamyModel { + + /** + * 接続元ノードを取得する。 + * @return 接続元ノード + */ + AbstractNodeModel getSource(); + + /** + * 接続先ノードを取得する。 + * @return 接続先ノード + */ + AbstractNodeModel getTarget(); + + /** + * 接続元ノードを設定する。 + * @param source 接続元ノード + */ + void setSource(AbstractNodeModel source); + + /** + * 接続先ノードを設定する。 + * @param target 接続先ノード + */ + void setTarget(AbstractNodeModel target); + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/connection/AbstractConnectionModel.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/connection/AbstractRelationModel.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/connection/AbstractRelationModel.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/connection/AbstractRelationModel.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,28 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.model.connection; + + +/** + * TODO for daisuke + * @author daisuke + */ +public interface AbstractRelationModel extends AbstractConnectionModel { + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/connection/AbstractRelationModel.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/connection/ForeignKeyMapping.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/connection/ForeignKeyMapping.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/connection/ForeignKeyMapping.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,54 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.model.connection; + +import org.jiemamy.spec.model.ColumnModel; +import org.jiemamy.spec.model.JiemamyModel; + +/** + * TODO for daisuke + * @author daisuke + */ +public interface ForeignKeyMapping extends JiemamyModel { + + /** + * 制約を受けるカラムを取得する。 + * @return 制約を受けるカラム + */ + ColumnModel getConstraintColumn(); + + /** + * 参照先カラムを取得する。 + * @return 参照先カラム + */ + ColumnModel getReferenceColumn(); + + /** + * 制約を受けるカラムを設定する。 + * @param constraintColumn 制約を受けるカラム + */ + void setConstraintColumn(ColumnModel constraintColumn); + + /** + * 参照先カラムを設定する。 + * @param referenceColumn 参照先カラム + */ + void setReferenceColumn(ColumnModel referenceColumn); + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/connection/ForeignKeyMapping.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/connection/ForeignKeyModel.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/connection/ForeignKeyModel.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/connection/ForeignKeyModel.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,198 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. + * Created on 2008/06/09 + * + * This file is part of Jiemamy-core. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.spec.model.connection; + +import java.util.List; + +/** + * 外部キーモデル。 + * + * テーブル同士の関係を表すモデルクラス。 + * ForeignKeyModelImpl#getSource() で「参照元テーブル」、 + * ForeignKeyModelImpl#getTarget() で「参照先テーブル」を得ることができる。 + * + * @author daisuke + */ +public interface ForeignKeyModel extends AbstractRelationModel { + + /** + * targetを元に、マッピングを生成する。 + * + * @param createColumn 参照先カラムと同名のカラムを生成して、そのカラムにマッピングする場合は<tt>true</tt> + * 既存のカラムにマッピングする場合は<tt>false</tt>を渡す。 + * TODO extract to processor + */ + public void createMappings(boolean createColumn); + + /** + * 説明文を取得する。 + * @return 説明文 + */ + public String getDescription(); + + /** + * 遅延評価の初期状態。を取得する。 + * @return 遅延評価の初期状態。 + */ + public InitiallyCheckTime getInitiallyCheckTime(); + + /** + * 論理名を取得する。 + * @return 論理名 + */ + public String getLogicalName(); + + /** + * マッピングのリストを取得する。 + * @return マッピングのリスト + */ + public List<ForeignKeyMapping> getMappings(); + + /** + * マッチ型を取得する。 + * @return マッチ型 + */ + public MatchType getMatchType(); + + /** + * 名前を取得する。 + * @return 名前 + */ + public String getName(); + + /** + * 削除時アクションを取得する。 + * @return 削除時アクション + */ + public ReferentialAction getOnDelete(); + + /** + * 更新時アクションを取得する。 + * @return 更新時アクション + */ + public ReferentialAction getOnUpdate(); + + /** + * 遅延評価可能性。を取得する。 + * @return 遅延評価可能性。 + */ + public boolean isDeferrable(); + + /** + * 遅延評価可能性。を設定する。 + * @param deferrable 遅延評価可能性。 + */ + public void setDeferrable(boolean deferrable); + + /** + * 説明文を設定する。 + * @param description 説明文 + */ + public void setDescription(String description); + + /** + * 遅延評価の初期状態。を設定する。 + * @param initiallyCheckTime 遅延評価の初期状態。 + */ + public void setInitiallyCheckTime(InitiallyCheckTime initiallyCheckTime); + + /** + * 論理名を設定する。 + * @param logicalName 論理名 + */ + public void setLogicalName(String logicalName); + + /** + * マッチ型を設定する。 + * @param matchType マッチ型 + */ + public void setMatchType(MatchType matchType); + + /** + * 名前を設定する。 + * @param name 名前 + */ + public void setName(String name); + + /** + * 削除時アクションを設定する。 + * @param onDelete 削除時アクション + */ + public void setOnDelete(ReferentialAction onDelete); + + /** + * 更新時アクションを設定する。 + * @param onUpdate 更新時アクション + */ + public void setOnUpdate(ReferentialAction onUpdate); + + + /** + * 制約検査を行うデフォルトの時期。 + * + * @author daisuke + */ + public enum InitiallyCheckTime { + + /** 各文の実行後に検査 */ + IMMEDIATE, + + /** トランザクションの終了時にのみ検査 */ + DEFERRED; + } + + /** + * 参照列に挿入された値は、被参照テーブルと被参照列の値に対して、指定した照合型で照会される。 + * 照合型には3種類があり、デフォルトはSIMPLE照合型。 + * @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: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/connection/ForeignKeyModel.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/connection/InheritanceModel.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/connection/InheritanceModel.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/connection/InheritanceModel.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,27 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.model.connection; + +/** + * TODO for daisuke + * @author daisuke + */ +public interface InheritanceModel extends AbstractRelationModel { + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/connection/InheritanceModel.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/constraint/CheckConstraintModel.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/constraint/CheckConstraintModel.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/constraint/CheckConstraintModel.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,39 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.model.constraint; + +/** + * TODO for daisuke + * @author daisuke + */ +public interface CheckConstraintModel extends Constraint { + + /** + * CHEKC制約定義式を取得する。 + * @return CHEKC制約定義式 + */ + String getExpression(); + + /** + * CHEKC制約定義式を設定する。 + * @param expression CHEKC制約定義式 + */ + void setExpression(String expression); + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/constraint/CheckConstraintModel.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/constraint/Constraint.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/constraint/Constraint.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/constraint/Constraint.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,42 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. + * Created on 2008/06/09 + * + * This file is part of Jiemamy-core. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.spec.model.constraint; + +import org.jiemamy.spec.model.JiemamyModel; + + +/** + * 制約モデル。 + * @author daisuke + */ +public interface Constraint extends JiemamyModel { + + /** + * 制約名を取得する。 + * @return 制約名 + */ + String getName(); + + /** + * 制約名を設定する。 + * @param name 制約名 + */ + void setName(String name); + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/constraint/Constraint.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/constraint/ConstraintSetModel.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/constraint/ConstraintSetModel.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/constraint/ConstraintSetModel.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,68 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.model.constraint; + +import java.util.Collection; +import java.util.Map; + +import org.jiemamy.spec.model.JiemamyModel; + +/** + * TODO for daisuke + * @author daisuke + */ +public interface ConstraintSetModel extends JiemamyModel { + + /** + * 制約を追加する。 + * @param constraint 追加する制約 + */ + void add(Constraint constraint); + + /** + * 制約のセットを取得する。 + * @return 制約のセット + */ + Collection<Constraint> getConstraintMap(); + + /** + * 指定した制約があるかどうか調べる。 + * @param constraintClass 制約クラス + * @return 制約があれば<tt>true</tt> + */ + boolean has(Class<? extends Constraint> constraintClass); + + /** + * 制約を取り除く。 + * @param constraintClass 取り除く制約クラス + */ + void remove(Class<? extends Constraint> constraintClass); + + /** + * 制約を設定する。 + * @param constraintMap 制約のMap + */ + void setConstraintMap(Map<Class<? extends Constraint>, Constraint> constraintMap); + + /** + * {@inheritDoc} + */ + String toString(); + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/constraint/ConstraintSetModel.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/constraint/NotNullConstraintModel.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/constraint/NotNullConstraintModel.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/constraint/NotNullConstraintModel.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,27 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.model.constraint; + +/** + * TODO for daisuke + * @author daisuke + */ +public interface NotNullConstraintModel extends Constraint { + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/constraint/NotNullConstraintModel.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/constraint/PrimaryKeyConstraintModel.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/constraint/PrimaryKeyConstraintModel.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/constraint/PrimaryKeyConstraintModel.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,27 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.model.constraint; + +/** + * TODO for daisuke + * @author daisuke + */ +public interface PrimaryKeyConstraintModel extends Constraint { + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/constraint/PrimaryKeyConstraintModel.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/dataset/InsertDataSetModel.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/dataset/InsertDataSetModel.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/dataset/InsertDataSetModel.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,51 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.model.dataset; + +import java.util.List; +import java.util.Map; + +import org.jiemamy.spec.model.JiemamyModel; +import org.jiemamy.spec.model.node.AbstractEntityModel; + +/** + * TODO for daisuke + * @author daisuke + */ +public interface InsertDataSetModel extends JiemamyModel { + + /** + * データセット名を取得する。 + * @return データセット名 + */ + String getName(); + + /** + * レコード情報を取得する。 + * @return レコード情報 + */ + Map<AbstractEntityModel, List<RecordModel>> getRecords(); + + /** + * データセット名を設定する。 + * @param name データセット名 + */ + void setName(String name); + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/dataset/InsertDataSetModel.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/dataset/RecordModel.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/dataset/RecordModel.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/dataset/RecordModel.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,38 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.model.dataset; + +import java.util.Map; + +import org.jiemamy.spec.model.ColumnModel; +import org.jiemamy.spec.model.JiemamyModel; + +/** + * TODO for daisuke + * @author daisuke + */ +public interface RecordModel extends JiemamyModel { + + /** + * カラムに対応するデータを取得する。 + * @return カラムに対応するデータ + */ + Map<ColumnModel, String> getValues(); + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/dataset/RecordModel.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/datatype/DataType.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/datatype/DataType.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/datatype/DataType.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,41 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. + * Created on 2008/06/09 + * + * This file is part of Jiemamy-core. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.spec.model.datatype; + +import java.util.List; + +import org.jiemamy.spec.adapter.Adaptable; +import org.jiemamy.spec.model.JiemamyModel; + +/** + * データ型インターフェイス。 + * + * @author daisuke + */ +public interface DataType extends JiemamyModel { + + List<Object> getAdapters(); + + /** + * アダプタが適用されていた場合は、取り除く。 + * 適用されていなかった場合は何もせず、自分自身を返す。 + * @return アダプタが何も適用されていない状態のAdaptable + */ + Adaptable removeAdapter(); +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/datatype/DataType.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/datatype/GeneralDataType.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/datatype/GeneralDataType.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/datatype/GeneralDataType.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,27 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.model.datatype; + +/** + * TODO for daisuke + * @author daisuke + */ +public interface GeneralDataType extends DataType { + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/datatype/GeneralDataType.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/datatype/SpecialDataType.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/datatype/SpecialDataType.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/datatype/SpecialDataType.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,27 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.model.datatype; + +/** + * TODO for daisuke + * @author daisuke + */ +public interface SpecialDataType extends DataType { + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/datatype/SpecialDataType.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/index/IndexColumnModel.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/index/IndexColumnModel.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/index/IndexColumnModel.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,69 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.model.index; + +import org.jiemamy.spec.model.ColumnModel; +import org.jiemamy.spec.model.JiemamyModel; + +/** + * TODO for daisuke + * @author daisuke + */ +public interface IndexColumnModel extends JiemamyModel { + + /** + * インデックス対象カラムを取得する。 + * @return インデックス対象カラム + */ + ColumnModel getColumn(); + + /** + * カラムソート方式を取得する。 + * @return カラムソート方式 + */ + SortType getSortType(); + + /** + * インデックス対象カラムを設定する。 + * @param column インデックス対象カラム + */ + void setColumn(ColumnModel column); + + /** + * カラムソート方式を設定する。 + * @param sortType カラムソート方式 + */ + void setSortType(SortType sortType); + + + /** + * ソート方式。 + * @author daisuke + */ + public enum SortType { + /** ソートなし */ + NONE, + + /** 昇順ソート */ + ASC, + + /** 降順ソート */ + DESC + } +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/index/IndexColumnModel.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/index/IndexModel.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/index/IndexModel.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/index/IndexModel.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,61 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.model.index; + +import java.util.List; + +import org.jiemamy.spec.model.JiemamyModel; + +/** + * TODO for daisuke + * @author daisuke + */ +public interface IndexModel extends JiemamyModel { + + /** + * インデックスカラムのリストを取得する。 + * @return インデックスカラムのリスト + */ + List<IndexColumnModel> getColumns(); + + /** + * インデックス名を取得する。 + * @return インデックス名 + */ + String getName(); + + /** + * ユニークインデックスか否かを取得する。 + * @return ユニークインデックスか否か + */ + boolean isUnique(); + + /** + * インデックス名を設定する。 + * @param name インデックス名 + */ + void setName(String name); + + /** + * ユニークインデックスか否かを設定する。 + * @param unique ユニークインデックスか否か + */ + void setUnique(boolean unique); + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/index/IndexModel.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/node/AbstractEntityModel.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/node/AbstractEntityModel.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/node/AbstractEntityModel.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,87 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.model.node; + +/** + * TODO for daisuke + * @author daisuke + */ +public interface AbstractEntityModel extends AbstractNodeModel { + + /** + * 開始スクリプトを取得する。 + * @return 開始スクリプト + */ + String getBeginScript(); + + /** + * 説明文を取得する。 + * @return 説明文 + */ + String getDescription(); + + /** + * 終了スクリプトを取得する。 + * @return 終了スクリプト + */ + String getEndScript(); + + /** + * 論理名を取得する。 + * @return 論理名 + */ + String getLogicalName(); + + /** + * 名前を取得する。 + * @return 名前 + */ + String getName(); + + /** + * 開始スクリプトを設定する。 + * @param beginScript 開始スクリプト + */ + void setBeginScript(String beginScript); + + /** + * 説明文を設定する。 + * @param description 説明文 + */ + void setDescription(String description); + + /** + * 終了スクリプトを設定する。 + * @param endScript 終了スクリプト + */ + void setEndScript(String endScript); + + /** + * 論理名を設定する。 + * @param logicalName 論理名 + */ + void setLogicalName(String logicalName); + + /** + * 名前を設定する。 + * @param name 名前 + */ + void setName(String name); + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/node/AbstractEntityModel.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/node/AbstractNodeModel.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/node/AbstractNodeModel.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/node/AbstractNodeModel.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,44 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.model.node; + +import java.util.List; + +import org.jiemamy.spec.model.JiemamyModel; +import org.jiemamy.spec.model.connection.AbstractConnectionModel; + +/** + * TODO for daisuke + * @author daisuke + */ +public interface AbstractNodeModel extends JiemamyModel { + + /** + * このモデルを接続元とするコネクションのリストを取得する。 + * @return このモデルを接続元とするコネクションのリスト + */ + List<AbstractConnectionModel> getSourceConnections(); + + /** + * このモデルを接続先とするコネクションのリストを取得する。 + * @return このモデルを接続先とするコネクションのリスト + */ + List<AbstractConnectionModel> getTargetConnections(); + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/node/AbstractNodeModel.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/node/StickyModel.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/node/StickyModel.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/node/StickyModel.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,39 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.model.node; + +/** + * TODO for daisuke + * @author daisuke + */ +public interface StickyModel extends AbstractNodeModel { + + /** + * 内容文を取得する。 + * @return 内容文 + */ + String getContents(); + + /** + * 内容文を設定する。 + * @param contents 内容文 + */ + void setContents(String contents); + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/node/StickyModel.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/node/TableModel.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/node/TableModel.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/node/TableModel.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,51 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.model.node; + +import java.util.List; + +import org.jiemamy.spec.model.ColumnModel; +import org.jiemamy.spec.model.constraint.CheckConstraintModel; +import org.jiemamy.spec.model.index.IndexModel; + +/** + * TODO for daisuke + * @author daisuke + */ +public interface TableModel extends AbstractEntityModel { + + /** + * テーブルCHECK制約のリストを取得する。 + * @return テーブルCHECK制約のリスト + */ + List<CheckConstraintModel> getChecks(); + + /** + * カラムのリストを取得する。 + * @return カラムのリスト + */ + List<ColumnModel> getColumns(); + + /** + * インデックスのリストを取得する。 + * @return インデックスのリスト + */ + List<IndexModel> getIndexes(); + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/node/TableModel.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/node/ViewModel.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/node/ViewModel.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/node/ViewModel.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,39 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.model.node; + +/** + * TODO for daisuke + * @author daisuke + */ +public interface ViewModel extends AbstractEntityModel { + + /** + * VIEW定義SELECT文を取得する。 + * @return VIEW定義SELECT文 + */ + String getDefinition(); + + /** + * VIEW定義SELECT文を設定する。 + * @param definition VIEW定義SELECT文 + */ + void setDefinition(String definition); + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/node/ViewModel.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/presentation/DiagramPresentationModel.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/presentation/DiagramPresentationModel.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/presentation/DiagramPresentationModel.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,103 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org 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.spec.model.presentation; + +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.jiemamy.spec.geometory.JmColor; +import org.jiemamy.spec.geometory.JmPoint; +import org.jiemamy.spec.geometory.JmRectangle; +import org.jiemamy.spec.model.JiemamyModel; +import org.jiemamy.spec.model.connection.AbstractConnectionModel; +import org.jiemamy.spec.model.node.AbstractNodeModel; + +/** + * TODO for daisuke + * @author daisuke + */ +public interface DiagramPresentationModel extends JiemamyModel { + + /** + * コネクションのベンドポイント情報を取得する。 + * @return コネクションのベンドポイント情報 + */ + Map<AbstractConnectionModel, List<JmPoint>> getConnectionLayouts(); + + /** + * 表示モードを取得する。 + * @return 表示モード + */ + Set<DisplayItem> getDisplayTargetSet(); + + /** + * プレゼンテーション名を取得する。 + * @return プレゼンテーション名 + */ + String getName(); + + /** + * ノードの色情報を取得する。 + * @return ノードの色情報 + */ + Map<AbstractNodeModel, JmColor> getNodeColors(); + + /** + * ノードのレイアウト情報を取得する。 + * @return ノードのレイアウト情報 + */ + Map<AbstractNodeModel, JmRectangle> getNodeLayouts(); + + /** + * 表示モードを設定する。 + * @param displayTargetSet 表示モード + */ + void setDisplayTargetSet(Set<DisplayItem> displayTargetSet); + + /** + * プレゼンテーション名を設定する。 + * @param name プレゼンテーション名 + */ + void setName(String name); + + + /** + * 表示対象の要素。 + * この型の組み合わせ(Set)で表示内容が決定する。 + * @author daisuke + */ + public enum DisplayItem { + + /** 物理名を表示することを示す。 */ + PHYSICAL, + + /** 論理名を表示することを示す。 */ + LOGICAL, + + /** 主キーカラム名を表示することを示す。 */ + PRIMARY_KEY, + + /** 主キー以外のカラム名を表示することを示す。 */ + NON_KEY, + + /** カラム型を表示することを示す。 */ + TYPE + } +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/model/presentation/DiagramPresentationModel.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/util/ModelChangeEvent.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/util/ModelChangeEvent.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/util/ModelChangeEvent.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,68 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/06/09 + * + * This file is part of Jiemamy-core. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package org.jiemamy.spec.util; + +import java.lang.reflect.Field; +import java.util.EventObject; + +/** + * モデル変更イベント。 + * + * DOCME JiemamyChangeEventみたいな名称が適切?(必ずしもModel用とは限らない?) + * + * @author daisuke + */ + @ SuppressWarnings("serial") +public class ModelChangeEvent extends EventObject { + + /** 変更されたフィールド */ + protected transient Field field; + + + /** + * コンストラクタ。 + * @category instance creation + */ + public ModelChangeEvent() { + super(null); + } + + /** + * コンストラクタ。 + * @param source イベントが発生したオブジェクト + * @param field 変更されたフィールド + * @category instance creation + */ + public ModelChangeEvent(Observable source, Field field) { + super(source); + this.field = field; + } + + /** + * 変更されたフィールドを取得する。 + * @return 変更されたフィールド + */ + public Field getField() { + return field; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return getClass().getName() + "[source=" + source + ", field=" + field + "]"; + } +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/util/ModelChangeEvent.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/util/ModelChangeListener.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/util/ModelChangeListener.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/util/ModelChangeListener.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,34 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/06/09 + * + * This file is part of Jiemamy-core. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package org.jiemamy.spec.util; + +import java.util.EventListener; + +/** + * モデルの変更に対するリスナ。 + * + * <p>{@link Observable}なインスタンスを監視することができる。</p> + * + * @author daisuke + */ +public interface ModelChangeListener extends EventListener { + + /** + * モデルのフィールドが変更された際にコールされるメソッド。 + * @param e 変更されたモデルとフィールドを表す{@link ModelChangeEvent} + */ + void modelChanged(ModelChangeEvent e); + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/util/ModelChangeListener.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/util/Observable.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/util/Observable.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/util/Observable.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,42 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. Created on 2008/07/27 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package org.jiemamy.spec.util; + +import java.lang.reflect.Field; + +/** + * ModelChangeListenerが監視可能な対象を表現する。 + * @author shin1 + */ +public interface Observable { + + /** + * モデルの変更リスナーを追加する。 + * @param listener 追加するリスナー + */ + void addModelChangeListener(ModelChangeListener listener); + + /** + * リスナーにモデルの変更を通知する。 + * @param field 変更されたフィールド + */ + void fireModelChange(Field field); + + /** + * モデルの変更リスナーを削除する。 + * @param listener 削除するリスナー + */ + void removeModelChangeListener(ModelChangeListener listener); +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/util/Observable.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/util/Processor.java =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/util/Processor.java (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/util/Processor.java 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,42 @@ +/* + * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others. + * Created on 2008/08/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.spec.util; + +/** + * オブジェクトに対して実行する処理のインターフェイス。 + * + * cf. http://d.hatena.ne.jp/daisuke-m/20080801/1217594494 + * + * @see org.jiemamy.spec.model.AbstractModel + * @param <R> 結果の型 + * @param <T> 処理対象のオブジェクトの型 + * @param <E> 処理が投げる可能性のある例外の型(投げない場合は{@link RuntimeException}を指定) + * @author daisuke + */ +public interface Processor<T, R, E extends Exception> { + + /** + * オブジェクトに対する処理を実行する。 + * @param target 対象オブジェクト + * @return 結果 + * @throws E Process処理が正常に終了しなかった場合 + */ + R process(T target) throws E; + +} Property changes on: artemis/trunk/org.jiemamy.spec/src/main/java/org/jiemamy/spec/util/Processor.java ___________________________________________________________________ Name: svn:mime-type + text/plain Added: artemis/trunk/org.jiemamy.spec/src/main/resources/jiemamy-spec.dicon =================================================================== --- artemis/trunk/org.jiemamy.spec/src/main/resources/jiemamy-spec.dicon (rev 0) +++ artemis/trunk/org.jiemamy.spec/src/main/resources/jiemamy-spec.dicon 2008-09-17 19:48:08 UTC (rev 1931) @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" + "http://www.seasar.org/dtd/components24.dtd"> +<components> +</components>