[Jiemamy-notify] commit [1931] Share project "org.jiemamy.spec" into "svn+ssh://svn. sourceforge.jp/svnroot/jiemamy"

Back to archive index

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>


Jiemamy-notify メーリングリストの案内
Back to archive index