You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by oe...@apache.org on 2006/12/05 03:22:47 UTC
svn commit: r482456 [1/2] - in /directory/sandbox/oersoy: ./ META-INF/
model/ src/ src/main/ src/main/java/ src/main/java/org/
src/main/java/org/apache/ src/main/java/org/eclipse/
src/main/java/org/eclipse/example/ src/main/java/org/eclipse/example/lib...
Author: oersoy
Date: Mon Dec 4 18:22:42 2006
New Revision: 482456
URL: http://svn.apache.org/viewvc?view=rev&rev=482456
Log: (empty)
Added:
directory/sandbox/oersoy/.classpath
directory/sandbox/oersoy/.project
directory/sandbox/oersoy/META-INF/
directory/sandbox/oersoy/META-INF/MANIFEST.MF
directory/sandbox/oersoy/build.properties
directory/sandbox/oersoy/library-maven.apt
directory/sandbox/oersoy/model/
directory/sandbox/oersoy/model/library.ecore
directory/sandbox/oersoy/model/library.genmodel
directory/sandbox/oersoy/model/library.xsd
directory/sandbox/oersoy/plugin.properties
directory/sandbox/oersoy/plugin.xml
directory/sandbox/oersoy/pom.xml
directory/sandbox/oersoy/src/
directory/sandbox/oersoy/src/main/
directory/sandbox/oersoy/src/main/java/
directory/sandbox/oersoy/src/main/java/org/
directory/sandbox/oersoy/src/main/java/org/apache/
directory/sandbox/oersoy/src/main/java/org/apache/App.java
directory/sandbox/oersoy/src/main/java/org/eclipse/
directory/sandbox/oersoy/src/main/java/org/eclipse/example/
directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/
directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/Book.java
directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/BookCategory.java
directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/Library.java
directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/LibraryFactory.java
directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/LibraryPackage.java
directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/Writer.java
directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/impl/
directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/impl/BookImpl.java
directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/impl/LibraryFactoryImpl.java
directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/impl/LibraryImpl.java
directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/impl/LibraryPackageImpl.java
directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/impl/WriterImpl.java
directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/util/
directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/util/LibraryAdapterFactory.java
directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/util/LibraryResourceFactoryImpl.java
directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/util/LibraryResourceImpl.java
directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/util/LibrarySwitch.java
directory/sandbox/oersoy/src/test/
directory/sandbox/oersoy/src/test/java/
directory/sandbox/oersoy/target/
directory/sandbox/oersoy/target/classes/
directory/sandbox/oersoy/target/classes/org/
directory/sandbox/oersoy/target/classes/org/apache/
directory/sandbox/oersoy/target/classes/org/apache/App.class (with props)
directory/sandbox/oersoy/target/classes/org/eclipse/
directory/sandbox/oersoy/target/classes/org/eclipse/example/
directory/sandbox/oersoy/target/classes/org/eclipse/example/library/
directory/sandbox/oersoy/target/classes/org/eclipse/example/library/Book.class (with props)
directory/sandbox/oersoy/target/classes/org/eclipse/example/library/BookCategory.class (with props)
directory/sandbox/oersoy/target/classes/org/eclipse/example/library/Library.class (with props)
directory/sandbox/oersoy/target/classes/org/eclipse/example/library/LibraryFactory.class (with props)
directory/sandbox/oersoy/target/classes/org/eclipse/example/library/LibraryPackage.class (with props)
directory/sandbox/oersoy/target/classes/org/eclipse/example/library/Writer.class (with props)
directory/sandbox/oersoy/target/classes/org/eclipse/example/library/impl/
directory/sandbox/oersoy/target/classes/org/eclipse/example/library/impl/BookImpl.class (with props)
directory/sandbox/oersoy/target/classes/org/eclipse/example/library/impl/LibraryFactoryImpl.class (with props)
directory/sandbox/oersoy/target/classes/org/eclipse/example/library/impl/LibraryImpl.class (with props)
directory/sandbox/oersoy/target/classes/org/eclipse/example/library/impl/LibraryPackageImpl.class (with props)
directory/sandbox/oersoy/target/classes/org/eclipse/example/library/impl/WriterImpl.class (with props)
directory/sandbox/oersoy/target/classes/org/eclipse/example/library/util/
directory/sandbox/oersoy/target/classes/org/eclipse/example/library/util/LibraryAdapterFactory$1.class (with props)
directory/sandbox/oersoy/target/classes/org/eclipse/example/library/util/LibraryAdapterFactory.class (with props)
directory/sandbox/oersoy/target/classes/org/eclipse/example/library/util/LibraryResourceFactoryImpl.class (with props)
directory/sandbox/oersoy/target/classes/org/eclipse/example/library/util/LibraryResourceImpl.class (with props)
directory/sandbox/oersoy/target/classes/org/eclipse/example/library/util/LibrarySwitch.class (with props)
directory/sandbox/oersoy/target/test-classes/
directory/sandbox/oersoy/target/test-classes/org/
directory/sandbox/oersoy/target/test-classes/org/apache/
Added: directory/sandbox/oersoy/.classpath
URL: http://svn.apache.org/viewvc/directory/sandbox/oersoy/.classpath?view=auto&rev=482456
==============================================================================
--- directory/sandbox/oersoy/.classpath (added)
+++ directory/sandbox/oersoy/.classpath Mon Dec 4 18:22:42 2006
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src/main/java"/>
+ <classpathentry output="target/test-classes" kind="src" path="src/test/java"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
Added: directory/sandbox/oersoy/.project
URL: http://svn.apache.org/viewvc/directory/sandbox/oersoy/.project?view=auto&rev=482456
==============================================================================
--- directory/sandbox/oersoy/.project (added)
+++ directory/sandbox/oersoy/.project Mon Dec 4 18:22:42 2006
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>library-maven</name>
+ <comment></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>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
Added: directory/sandbox/oersoy/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/directory/sandbox/oersoy/META-INF/MANIFEST.MF?view=auto&rev=482456
==============================================================================
--- directory/sandbox/oersoy/META-INF/MANIFEST.MF (added)
+++ directory/sandbox/oersoy/META-INF/MANIFEST.MF Mon Dec 4 18:22:42 2006
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: library_maven; singleton:=true
+Bundle-Version: 1.0.0
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Export-Package: org.eclipse.example.library,
+ org.eclipse.example.library.impl,
+ org.eclipse.example.library.util
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport
+Eclipse-AutoStart: true
Added: directory/sandbox/oersoy/build.properties
URL: http://svn.apache.org/viewvc/directory/sandbox/oersoy/build.properties?view=auto&rev=482456
==============================================================================
--- directory/sandbox/oersoy/build.properties (added)
+++ directory/sandbox/oersoy/build.properties Mon Dec 4 18:22:42 2006
@@ -0,0 +1,13 @@
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/
\ No newline at end of file
Added: directory/sandbox/oersoy/library-maven.apt
URL: http://svn.apache.org/viewvc/directory/sandbox/oersoy/library-maven.apt?view=auto&rev=482456
==============================================================================
--- directory/sandbox/oersoy/library-maven.apt (added)
+++ directory/sandbox/oersoy/library-maven.apt Mon Dec 4 18:22:42 2006
@@ -0,0 +1,103 @@
+
+
+
+
+mvn archetype:create -DartifactId=library-maven -DgroupId=org.apache
+cd library-maven
+mkdir model
+cd model
+wget http://dev.eclipse.org/viewcvs/indextools.cgi/*checkout*/org.eclipse.emf/doc/org.eclipse.emf.doc/tutorials/xlibmod/library.xsd
+cd ..
+mvn eclipse:eclipse
+
+Import library-maven
+Open the model directory and select library.xsd
+
+Select File>New>Other
+Select Eclipse Modeling Framework>EMF Model
+Next > Next > Next > Load > Finish
+
+This opens up the library.genmodel in the genmodel editor.
+Look at the Properties View
+Expand the Model section
+There is a property called
+Model Directory
+
+It is set to library-maven/src
+
+Change it to library-maven/src/main/java
+
+Now from the Generator Menu, select
+generate model.
+
+This generates the model's code into
+the src/main/java directory along with
+various eclipse plugin files.
+
+Now add these dependencies to your pom,
+and then run mvn compile.
+
+You just built your dual eclipse plugin
+maven project.
+
+<dependency>
+ <groupId>org.eclipse</groupId>
+ <artifactId>emf.common</artifactId>
+ <version>2.2.0</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse</groupId>
+ <artifactId>emf.commonj.sdo</artifactId>
+ <version>2.1.0</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse</groupId>
+ <artifactId>emf.ecore</artifactId>
+ <version>2.2.0</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse</groupId>
+ <artifactId>emf.ecore.change</artifactId>
+ <version>2.2.0</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse</groupId>
+ <artifactId>emf.ecore.change.edit</artifactId>
+ <version>2.1.0</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse</groupId>
+ <artifactId>emf.ecore.edit</artifactId>
+ <version>2.2.0</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse</groupId>
+ <artifactId>emf.ecore.sdo</artifactId>
+ <version>2.2.0</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse</groupId>
+ <artifactId>emf.ecore.sdo.edit</artifactId>
+ <version>2.1.0</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse</groupId>
+ <artifactId>emf.ecore.xmi</artifactId>
+ <version>2.2.0</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse</groupId>
+ <artifactId>emf.edit</artifactId>
+ <version>2.2.0</version>
+ <scope>compile</scope>
+ </dependency>
+
Added: directory/sandbox/oersoy/model/library.ecore
URL: http://svn.apache.org/viewvc/directory/sandbox/oersoy/model/library.ecore?view=auto&rev=482456
==============================================================================
--- directory/sandbox/oersoy/model/library.ecore (added)
+++ directory/sandbox/oersoy/model/library.ecore Mon Dec 4 18:22:42 2006
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="library"
+ nsURI="http://www.example.eclipse.org/Library" nsPrefix="library">
+ <eClassifiers xsi:type="ecore:EClass" name="Book">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="Book"/>
+ <details key="kind" value="elementOnly"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" unique="false" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="title"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="pages" unique="false" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int" unsettable="true">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="pages"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" unique="false"
+ lowerBound="1" eType="#//BookCategory" defaultValueLiteral="Mystery" unsettable="true">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="category"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="author" lowerBound="1"
+ eType="#//Writer" eOpposite="#//Writer/books">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="author"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="BookCategory">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="BookCategory"/>
+ </eAnnotations>
+ <eLiterals name="Mystery"/>
+ <eLiterals name="ScienceFiction" value="1"/>
+ <eLiterals name="Biography" value="2"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EDataType" name="BookCategoryObject" instanceClassName="org.eclipse.emf.common.util.Enumerator">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="BookCategory:Object"/>
+ <details key="baseType" value="BookCategory"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Library">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="Library"/>
+ <details key="kind" value="elementOnly"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="name"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="writers" upperBound="-1"
+ eType="#//Writer" containment="true" resolveProxies="false">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="writers"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="books" upperBound="-1"
+ eType="#//Book" containment="true" resolveProxies="false">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="books"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Writer">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="Writer"/>
+ <details key="kind" value="elementOnly"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="name"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="books" upperBound="-1"
+ eType="#//Book" eOpposite="#//Book/author">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="books"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+</ecore:EPackage>
Added: directory/sandbox/oersoy/model/library.genmodel
URL: http://svn.apache.org/viewvc/directory/sandbox/oersoy/model/library.genmodel?view=auto&rev=482456
==============================================================================
--- directory/sandbox/oersoy/model/library.genmodel (added)
+++ directory/sandbox/oersoy/model/library.genmodel Mon Dec 4 18:22:42 2006
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/library-maven/src/main/java"
+ modelPluginID="library_maven" modelName="Library" importerID="org.eclipse.xsd.ecore.importer">
+ <foreignModel>library.xsd</foreignModel>
+ <genPackages prefix="Library" basePackage="org.eclipse.example" resource="XML" disposableProviderFactory="true"
+ ecorePackage="library.ecore#/">
+ <genEnums ecoreEnum="library.ecore#//BookCategory">
+ <genEnumLiterals ecoreEnumLiteral="library.ecore#//BookCategory/Mystery"/>
+ <genEnumLiterals ecoreEnumLiteral="library.ecore#//BookCategory/ScienceFiction"/>
+ <genEnumLiterals ecoreEnumLiteral="library.ecore#//BookCategory/Biography"/>
+ </genEnums>
+ <genDataTypes ecoreDataType="library.ecore#//BookCategoryObject"/>
+ <genClasses ecoreClass="library.ecore#//Book">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute library.ecore#//Book/title"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute library.ecore#//Book/pages"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute library.ecore#//Book/category"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference library.ecore#//Book/author"/>
+ </genClasses>
+ <genClasses ecoreClass="library.ecore#//Library">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute library.ecore#//Library/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference library.ecore#//Library/writers"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference library.ecore#//Library/books"/>
+ </genClasses>
+ <genClasses ecoreClass="library.ecore#//Writer">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute library.ecore#//Writer/name"/>
+ <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference library.ecore#//Writer/books"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
Added: directory/sandbox/oersoy/model/library.xsd
URL: http://svn.apache.org/viewvc/directory/sandbox/oersoy/model/library.xsd?view=auto&rev=482456
==============================================================================
--- directory/sandbox/oersoy/model/library.xsd (added)
+++ directory/sandbox/oersoy/model/library.xsd Mon Dec 4 18:22:42 2006
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema targetNamespace="http://www.example.eclipse.org/Library"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:lib="http://www.example.eclipse.org/Library"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:complexType name="Book">
+ <xsd:sequence>
+ <xsd:element name="title" type="xsd:string"/>
+ <xsd:element name="pages" type="xsd:int"/>
+ <xsd:element name="category" type="lib:BookCategory"/>
+ <xsd:element name="author" type="xsd:anyURI"
+ ecore:reference="lib:Writer" ecore:opposite="books"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="Writer">
+ <xsd:sequence>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="books"
+ type="xsd:anyURI" ecore:reference="lib:Book" ecore:opposite="author"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="Library">
+ <xsd:sequence>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0"
+ name="writers" type="lib:Writer"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0"
+ name="books" type="lib:Book"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="BookCategory">
+ <xsd:restriction base="xsd:NCName">
+ <xsd:enumeration value="Mystery"/>
+ <xsd:enumeration value="ScienceFiction"/>
+ <xsd:enumeration value="Biography"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+</xsd:schema>
Added: directory/sandbox/oersoy/plugin.properties
URL: http://svn.apache.org/viewvc/directory/sandbox/oersoy/plugin.properties?view=auto&rev=482456
==============================================================================
--- directory/sandbox/oersoy/plugin.properties (added)
+++ directory/sandbox/oersoy/plugin.properties Mon Dec 4 18:22:42 2006
@@ -0,0 +1,20 @@
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+# ====================================================================
+# To code developer:
+# Do NOT change the properties between this line and the
+# "%%% END OF TRANSLATED PROPERTIES %%%" line.
+# Make a new property name, append to the end of the file and change
+# the code to use the new property.
+# ====================================================================
+
+# ====================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# ====================================================================
+
+pluginName = Library Model
+providerName = www.example.org
+
Added: directory/sandbox/oersoy/plugin.xml
URL: http://svn.apache.org/viewvc/directory/sandbox/oersoy/plugin.xml?view=auto&rev=482456
==============================================================================
--- directory/sandbox/oersoy/plugin.xml (added)
+++ directory/sandbox/oersoy/plugin.xml Mon Dec 4 18:22:42 2006
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.example.eclipse.org/Library"
+ class = "org.eclipse.example.library.LibraryPackage"
+ genModel = "model/library.genmodel" />
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="library"
+ class="org.eclipse.example.library.util.LibraryResourceFactoryImpl" />
+ </extension>
+
+</plugin>
+
Added: directory/sandbox/oersoy/pom.xml
URL: http://svn.apache.org/viewvc/directory/sandbox/oersoy/pom.xml?view=auto&rev=482456
==============================================================================
--- directory/sandbox/oersoy/pom.xml (added)
+++ directory/sandbox/oersoy/pom.xml Mon Dec 4 18:22:42 2006
@@ -0,0 +1,78 @@
+<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>
+ <groupId>org.apache</groupId>
+ <artifactId>library-maven</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0-SNAPSHOT</version>
+ <name>library-maven</name>
+ <url>http://maven.apache.org</url>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse</groupId>
+ <artifactId>emf.common</artifactId>
+ <version>2.2.0</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse</groupId>
+ <artifactId>emf.commonj.sdo</artifactId>
+ <version>2.1.0</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse</groupId>
+ <artifactId>emf.ecore</artifactId>
+ <version>2.2.0</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse</groupId>
+ <artifactId>emf.ecore.change</artifactId>
+ <version>2.2.0</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse</groupId>
+ <artifactId>emf.ecore.change.edit</artifactId>
+ <version>2.1.0</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse</groupId>
+ <artifactId>emf.ecore.edit</artifactId>
+ <version>2.2.0</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse</groupId>
+ <artifactId>emf.ecore.sdo</artifactId>
+ <version>2.2.0</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse</groupId>
+ <artifactId>emf.ecore.sdo.edit</artifactId>
+ <version>2.1.0</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse</groupId>
+ <artifactId>emf.ecore.xmi</artifactId>
+ <version>2.2.0</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse</groupId>
+ <artifactId>emf.edit</artifactId>
+ <version>2.2.0</version>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+</project>
Added: directory/sandbox/oersoy/src/main/java/org/apache/App.java
URL: http://svn.apache.org/viewvc/directory/sandbox/oersoy/src/main/java/org/apache/App.java?view=auto&rev=482456
==============================================================================
--- directory/sandbox/oersoy/src/main/java/org/apache/App.java (added)
+++ directory/sandbox/oersoy/src/main/java/org/apache/App.java Mon Dec 4 18:22:42 2006
@@ -0,0 +1,13 @@
+package org.apache;
+
+/**
+ * Hello world!
+ *
+ */
+public class App
+{
+ public static void main( String[] args )
+ {
+ System.out.println( "Hello World!" );
+ }
+}
Added: directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/Book.java
URL: http://svn.apache.org/viewvc/directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/Book.java?view=auto&rev=482456
==============================================================================
--- directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/Book.java (added)
+++ directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/Book.java Mon Dec 4 18:22:42 2006
@@ -0,0 +1,199 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.example.library;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Book</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.example.library.Book#getTitle <em>Title</em>}</li>
+ * <li>{@link org.eclipse.example.library.Book#getPages <em>Pages</em>}</li>
+ * <li>{@link org.eclipse.example.library.Book#getCategory <em>Category</em>}</li>
+ * <li>{@link org.eclipse.example.library.Book#getAuthor <em>Author</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.example.library.LibraryPackage#getBook()
+ * @model extendedMetaData="name='Book' kind='elementOnly'"
+ * @generated
+ */
+public interface Book extends EObject {
+ /**
+ * Returns the value of the '<em><b>Title</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Title</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Title</em>' attribute.
+ * @see #setTitle(String)
+ * @see org.eclipse.example.library.LibraryPackage#getBook_Title()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * extendedMetaData="kind='element' name='title'"
+ * @generated
+ */
+ String getTitle();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.example.library.Book#getTitle <em>Title</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Title</em>' attribute.
+ * @see #getTitle()
+ * @generated
+ */
+ void setTitle(String value);
+
+ /**
+ * Returns the value of the '<em><b>Pages</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pages</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Pages</em>' attribute.
+ * @see #isSetPages()
+ * @see #unsetPages()
+ * @see #setPages(int)
+ * @see org.eclipse.example.library.LibraryPackage#getBook_Pages()
+ * @model unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Int" required="true"
+ * extendedMetaData="kind='element' name='pages'"
+ * @generated
+ */
+ int getPages();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.example.library.Book#getPages <em>Pages</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Pages</em>' attribute.
+ * @see #isSetPages()
+ * @see #unsetPages()
+ * @see #getPages()
+ * @generated
+ */
+ void setPages(int value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.example.library.Book#getPages <em>Pages</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetPages()
+ * @see #getPages()
+ * @see #setPages(int)
+ * @generated
+ */
+ void unsetPages();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.example.library.Book#getPages <em>Pages</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Pages</em>' attribute is set.
+ * @see #unsetPages()
+ * @see #getPages()
+ * @see #setPages(int)
+ * @generated
+ */
+ boolean isSetPages();
+
+ /**
+ * Returns the value of the '<em><b>Category</b></em>' attribute.
+ * The default value is <code>"Mystery"</code>.
+ * The literals are from the enumeration {@link org.eclipse.example.library.BookCategory}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Category</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Category</em>' attribute.
+ * @see org.eclipse.example.library.BookCategory
+ * @see #isSetCategory()
+ * @see #unsetCategory()
+ * @see #setCategory(BookCategory)
+ * @see org.eclipse.example.library.LibraryPackage#getBook_Category()
+ * @model default="Mystery" unique="false" unsettable="true" required="true"
+ * extendedMetaData="kind='element' name='category'"
+ * @generated
+ */
+ BookCategory getCategory();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.example.library.Book#getCategory <em>Category</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Category</em>' attribute.
+ * @see org.eclipse.example.library.BookCategory
+ * @see #isSetCategory()
+ * @see #unsetCategory()
+ * @see #getCategory()
+ * @generated
+ */
+ void setCategory(BookCategory value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.example.library.Book#getCategory <em>Category</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetCategory()
+ * @see #getCategory()
+ * @see #setCategory(BookCategory)
+ * @generated
+ */
+ void unsetCategory();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.example.library.Book#getCategory <em>Category</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Category</em>' attribute is set.
+ * @see #unsetCategory()
+ * @see #getCategory()
+ * @see #setCategory(BookCategory)
+ * @generated
+ */
+ boolean isSetCategory();
+
+ /**
+ * Returns the value of the '<em><b>Author</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.example.library.Writer#getBooks <em>Books</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Author</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Author</em>' reference.
+ * @see #setAuthor(Writer)
+ * @see org.eclipse.example.library.LibraryPackage#getBook_Author()
+ * @see org.eclipse.example.library.Writer#getBooks
+ * @model opposite="books" required="true"
+ * extendedMetaData="kind='element' name='author'"
+ * @generated
+ */
+ Writer getAuthor();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.example.library.Book#getAuthor <em>Author</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Author</em>' reference.
+ * @see #getAuthor()
+ * @generated
+ */
+ void setAuthor(Writer value);
+
+} // Book
Added: directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/BookCategory.java
URL: http://svn.apache.org/viewvc/directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/BookCategory.java?view=auto&rev=482456
==============================================================================
--- directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/BookCategory.java (added)
+++ directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/BookCategory.java Mon Dec 4 18:22:42 2006
@@ -0,0 +1,162 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.example.library;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.AbstractEnumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Book Category</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.example.library.LibraryPackage#getBookCategory()
+ * @model
+ * @generated
+ */
+public final class BookCategory extends AbstractEnumerator {
+ /**
+ * The '<em><b>Mystery</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Mystery</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #MYSTERY_LITERAL
+ * @model name="Mystery"
+ * @generated
+ * @ordered
+ */
+ public static final int MYSTERY = 0;
+
+ /**
+ * The '<em><b>Science Fiction</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Science Fiction</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SCIENCE_FICTION_LITERAL
+ * @model name="ScienceFiction"
+ * @generated
+ * @ordered
+ */
+ public static final int SCIENCE_FICTION = 1;
+
+ /**
+ * The '<em><b>Biography</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Biography</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #BIOGRAPHY_LITERAL
+ * @model name="Biography"
+ * @generated
+ * @ordered
+ */
+ public static final int BIOGRAPHY = 2;
+
+ /**
+ * The '<em><b>Mystery</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #MYSTERY
+ * @generated
+ * @ordered
+ */
+ public static final BookCategory MYSTERY_LITERAL = new BookCategory(MYSTERY, "Mystery");
+
+ /**
+ * The '<em><b>Science Fiction</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SCIENCE_FICTION
+ * @generated
+ * @ordered
+ */
+ public static final BookCategory SCIENCE_FICTION_LITERAL = new BookCategory(SCIENCE_FICTION, "ScienceFiction");
+
+ /**
+ * The '<em><b>Biography</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #BIOGRAPHY
+ * @generated
+ * @ordered
+ */
+ public static final BookCategory BIOGRAPHY_LITERAL = new BookCategory(BIOGRAPHY, "Biography");
+
+ /**
+ * An array of all the '<em><b>Book Category</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final BookCategory[] VALUES_ARRAY =
+ new BookCategory[] {
+ MYSTERY_LITERAL,
+ SCIENCE_FICTION_LITERAL,
+ BIOGRAPHY_LITERAL,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Book Category</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Book Category</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static BookCategory get(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ BookCategory result = VALUES_ARRAY[i];
+ if (result.toString().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Book Category</b></em>' literal with the specified value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static BookCategory get(int value) {
+ switch (value) {
+ case MYSTERY: return MYSTERY_LITERAL;
+ case SCIENCE_FICTION: return SCIENCE_FICTION_LITERAL;
+ case BIOGRAPHY: return BIOGRAPHY_LITERAL;
+ }
+ return null;
+ }
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private BookCategory(int value, String name) {
+ super(value, name);
+ }
+
+} //BookCategory
Added: directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/Library.java
URL: http://svn.apache.org/viewvc/directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/Library.java?view=auto&rev=482456
==============================================================================
--- directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/Library.java (added)
+++ directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/Library.java Mon Dec 4 18:22:42 2006
@@ -0,0 +1,93 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.example.library;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Library</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.example.library.Library#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.example.library.Library#getWriters <em>Writers</em>}</li>
+ * <li>{@link org.eclipse.example.library.Library#getBooks <em>Books</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.example.library.LibraryPackage#getLibrary()
+ * @model extendedMetaData="name='Library' kind='elementOnly'"
+ * @generated
+ */
+public interface Library extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.example.library.LibraryPackage#getLibrary_Name()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * extendedMetaData="kind='element' name='name'"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.example.library.Library#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Writers</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.example.library.Writer}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Writers</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Writers</em>' containment reference list.
+ * @see org.eclipse.example.library.LibraryPackage#getLibrary_Writers()
+ * @model type="org.eclipse.example.library.Writer" containment="true" resolveProxies="false"
+ * extendedMetaData="kind='element' name='writers'"
+ * @generated
+ */
+ EList getWriters();
+
+ /**
+ * Returns the value of the '<em><b>Books</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.example.library.Book}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Books</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Books</em>' containment reference list.
+ * @see org.eclipse.example.library.LibraryPackage#getLibrary_Books()
+ * @model type="org.eclipse.example.library.Book" containment="true" resolveProxies="false"
+ * extendedMetaData="kind='element' name='books'"
+ * @generated
+ */
+ EList getBooks();
+
+} // Library
Added: directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/LibraryFactory.java
URL: http://svn.apache.org/viewvc/directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/LibraryFactory.java?view=auto&rev=482456
==============================================================================
--- directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/LibraryFactory.java (added)
+++ directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/LibraryFactory.java Mon Dec 4 18:22:42 2006
@@ -0,0 +1,64 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.example.library;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.example.library.LibraryPackage
+ * @generated
+ */
+public interface LibraryFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ LibraryFactory eINSTANCE = new org.eclipse.example.library.impl.LibraryFactoryImpl();
+
+ /**
+ * Returns a new object of class '<em>Book</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Book</em>'.
+ * @generated
+ */
+ Book createBook();
+
+ /**
+ * Returns a new object of class '<em>Library</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Library</em>'.
+ * @generated
+ */
+ Library createLibrary();
+
+ /**
+ * Returns a new object of class '<em>Writer</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Writer</em>'.
+ * @generated
+ */
+ Writer createWriter();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ LibraryPackage getLibraryPackage();
+
+} //LibraryFactory
Added: directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/LibraryPackage.java
URL: http://svn.apache.org/viewvc/directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/LibraryPackage.java?view=auto&rev=482456
==============================================================================
--- directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/LibraryPackage.java (added)
+++ directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/LibraryPackage.java Mon Dec 4 18:22:42 2006
@@ -0,0 +1,383 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.example.library;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.example.library.LibraryFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface LibraryPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "library";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.example.eclipse.org/Library";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "library";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ LibraryPackage eINSTANCE = org.eclipse.example.library.impl.LibraryPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.example.library.impl.BookImpl <em>Book</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.example.library.impl.BookImpl
+ * @see org.eclipse.example.library.impl.LibraryPackageImpl#getBook()
+ * @generated
+ */
+ int BOOK = 0;
+
+ /**
+ * The feature id for the '<em><b>Title</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK__TITLE = 0;
+
+ /**
+ * The feature id for the '<em><b>Pages</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK__PAGES = 1;
+
+ /**
+ * The feature id for the '<em><b>Category</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK__CATEGORY = 2;
+
+ /**
+ * The feature id for the '<em><b>Author</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK__AUTHOR = 3;
+
+ /**
+ * The number of structural features of the the '<em>Book</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK_FEATURE_COUNT = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.example.library.impl.LibraryImpl <em>Library</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.example.library.impl.LibraryImpl
+ * @see org.eclipse.example.library.impl.LibraryPackageImpl#getLibrary()
+ * @generated
+ */
+ int LIBRARY = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIBRARY__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Writers</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIBRARY__WRITERS = 1;
+
+ /**
+ * The feature id for the '<em><b>Books</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIBRARY__BOOKS = 2;
+
+ /**
+ * The number of structural features of the the '<em>Library</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIBRARY_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.example.library.impl.WriterImpl <em>Writer</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.example.library.impl.WriterImpl
+ * @see org.eclipse.example.library.impl.LibraryPackageImpl#getWriter()
+ * @generated
+ */
+ int WRITER = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WRITER__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Books</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WRITER__BOOKS = 1;
+
+ /**
+ * The number of structural features of the the '<em>Writer</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WRITER_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.example.library.BookCategory <em>Book Category</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.example.library.BookCategory
+ * @see org.eclipse.example.library.impl.LibraryPackageImpl#getBookCategory()
+ * @generated
+ */
+ int BOOK_CATEGORY = 3;
+
+ /**
+ * The meta object id for the '<em>Book Category Object</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.example.library.BookCategory
+ * @see org.eclipse.example.library.impl.LibraryPackageImpl#getBookCategoryObject()
+ * @generated
+ */
+ int BOOK_CATEGORY_OBJECT = 4;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.example.library.Book <em>Book</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Book</em>'.
+ * @see org.eclipse.example.library.Book
+ * @generated
+ */
+ EClass getBook();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.example.library.Book#getTitle <em>Title</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Title</em>'.
+ * @see org.eclipse.example.library.Book#getTitle()
+ * @see #getBook()
+ * @generated
+ */
+ EAttribute getBook_Title();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.example.library.Book#getPages <em>Pages</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Pages</em>'.
+ * @see org.eclipse.example.library.Book#getPages()
+ * @see #getBook()
+ * @generated
+ */
+ EAttribute getBook_Pages();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.example.library.Book#getCategory <em>Category</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Category</em>'.
+ * @see org.eclipse.example.library.Book#getCategory()
+ * @see #getBook()
+ * @generated
+ */
+ EAttribute getBook_Category();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.example.library.Book#getAuthor <em>Author</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Author</em>'.
+ * @see org.eclipse.example.library.Book#getAuthor()
+ * @see #getBook()
+ * @generated
+ */
+ EReference getBook_Author();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.example.library.Library <em>Library</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Library</em>'.
+ * @see org.eclipse.example.library.Library
+ * @generated
+ */
+ EClass getLibrary();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.example.library.Library#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.example.library.Library#getName()
+ * @see #getLibrary()
+ * @generated
+ */
+ EAttribute getLibrary_Name();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.example.library.Library#getWriters <em>Writers</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Writers</em>'.
+ * @see org.eclipse.example.library.Library#getWriters()
+ * @see #getLibrary()
+ * @generated
+ */
+ EReference getLibrary_Writers();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.example.library.Library#getBooks <em>Books</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Books</em>'.
+ * @see org.eclipse.example.library.Library#getBooks()
+ * @see #getLibrary()
+ * @generated
+ */
+ EReference getLibrary_Books();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.example.library.Writer <em>Writer</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Writer</em>'.
+ * @see org.eclipse.example.library.Writer
+ * @generated
+ */
+ EClass getWriter();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.example.library.Writer#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.example.library.Writer#getName()
+ * @see #getWriter()
+ * @generated
+ */
+ EAttribute getWriter_Name();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.example.library.Writer#getBooks <em>Books</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Books</em>'.
+ * @see org.eclipse.example.library.Writer#getBooks()
+ * @see #getWriter()
+ * @generated
+ */
+ EReference getWriter_Books();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.example.library.BookCategory <em>Book Category</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Book Category</em>'.
+ * @see org.eclipse.example.library.BookCategory
+ * @generated
+ */
+ EEnum getBookCategory();
+
+ /**
+ * Returns the meta object for data type '{@link org.eclipse.example.library.BookCategory <em>Book Category Object</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Book Category Object</em>'.
+ * @see org.eclipse.example.library.BookCategory
+ * @model instanceClass="org.eclipse.example.library.BookCategory"
+ * extendedMetaData="name='BookCategory:Object' baseType='BookCategory'"
+ * @generated
+ */
+ EDataType getBookCategoryObject();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ LibraryFactory getLibraryFactory();
+
+} //LibraryPackage
Added: directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/Writer.java
URL: http://svn.apache.org/viewvc/directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/Writer.java?view=auto&rev=482456
==============================================================================
--- directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/Writer.java (added)
+++ directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/Writer.java Mon Dec 4 18:22:42 2006
@@ -0,0 +1,77 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.example.library;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Writer</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.example.library.Writer#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.example.library.Writer#getBooks <em>Books</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.example.library.LibraryPackage#getWriter()
+ * @model extendedMetaData="name='Writer' kind='elementOnly'"
+ * @generated
+ */
+public interface Writer extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.example.library.LibraryPackage#getWriter_Name()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * extendedMetaData="kind='element' name='name'"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.example.library.Writer#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Books</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.example.library.Book}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.example.library.Book#getAuthor <em>Author</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Books</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Books</em>' reference list.
+ * @see org.eclipse.example.library.LibraryPackage#getWriter_Books()
+ * @see org.eclipse.example.library.Book#getAuthor
+ * @model type="org.eclipse.example.library.Book" opposite="author"
+ * extendedMetaData="kind='element' name='books'"
+ * @generated
+ */
+ EList getBooks();
+
+} // Writer
Added: directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/impl/BookImpl.java
URL: http://svn.apache.org/viewvc/directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/impl/BookImpl.java?view=auto&rev=482456
==============================================================================
--- directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/impl/BookImpl.java (added)
+++ directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/impl/BookImpl.java Mon Dec 4 18:22:42 2006
@@ -0,0 +1,462 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.example.library.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.example.library.Book;
+import org.eclipse.example.library.BookCategory;
+import org.eclipse.example.library.LibraryPackage;
+import org.eclipse.example.library.Writer;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Book</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.example.library.impl.BookImpl#getTitle <em>Title</em>}</li>
+ * <li>{@link org.eclipse.example.library.impl.BookImpl#getPages <em>Pages</em>}</li>
+ * <li>{@link org.eclipse.example.library.impl.BookImpl#getCategory <em>Category</em>}</li>
+ * <li>{@link org.eclipse.example.library.impl.BookImpl#getAuthor <em>Author</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BookImpl extends EObjectImpl implements Book {
+ /**
+ * The default value of the '{@link #getTitle() <em>Title</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTitle()
+ * @generated
+ * @ordered
+ */
+ protected static final String TITLE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTitle() <em>Title</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTitle()
+ * @generated
+ * @ordered
+ */
+ protected String title = TITLE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getPages() <em>Pages</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPages()
+ * @generated
+ * @ordered
+ */
+ protected static final int PAGES_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getPages() <em>Pages</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPages()
+ * @generated
+ * @ordered
+ */
+ protected int pages = PAGES_EDEFAULT;
+
+ /**
+ * This is true if the Pages attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean pagesESet = false;
+
+ /**
+ * The default value of the '{@link #getCategory() <em>Category</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCategory()
+ * @generated
+ * @ordered
+ */
+ protected static final BookCategory CATEGORY_EDEFAULT = BookCategory.MYSTERY_LITERAL;
+
+ /**
+ * The cached value of the '{@link #getCategory() <em>Category</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCategory()
+ * @generated
+ * @ordered
+ */
+ protected BookCategory category = CATEGORY_EDEFAULT;
+
+ /**
+ * This is true if the Category attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean categoryESet = false;
+
+ /**
+ * The cached value of the '{@link #getAuthor() <em>Author</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAuthor()
+ * @generated
+ * @ordered
+ */
+ protected Writer author = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BookImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return LibraryPackage.eINSTANCE.getBook();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTitle() {
+ return title;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTitle(String newTitle) {
+ String oldTitle = title;
+ title = newTitle;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.BOOK__TITLE, oldTitle, title));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getPages() {
+ return pages;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPages(int newPages) {
+ int oldPages = pages;
+ pages = newPages;
+ boolean oldPagesESet = pagesESet;
+ pagesESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.BOOK__PAGES, oldPages, pages, !oldPagesESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetPages() {
+ int oldPages = pages;
+ boolean oldPagesESet = pagesESet;
+ pages = PAGES_EDEFAULT;
+ pagesESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, LibraryPackage.BOOK__PAGES, oldPages, PAGES_EDEFAULT, oldPagesESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetPages() {
+ return pagesESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BookCategory getCategory() {
+ return category;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCategory(BookCategory newCategory) {
+ BookCategory oldCategory = category;
+ category = newCategory == null ? CATEGORY_EDEFAULT : newCategory;
+ boolean oldCategoryESet = categoryESet;
+ categoryESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.BOOK__CATEGORY, oldCategory, category, !oldCategoryESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetCategory() {
+ BookCategory oldCategory = category;
+ boolean oldCategoryESet = categoryESet;
+ category = CATEGORY_EDEFAULT;
+ categoryESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, LibraryPackage.BOOK__CATEGORY, oldCategory, CATEGORY_EDEFAULT, oldCategoryESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetCategory() {
+ return categoryESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Writer getAuthor() {
+ if (author != null && author.eIsProxy()) {
+ Writer oldAuthor = author;
+ author = (Writer)eResolveProxy((InternalEObject)author);
+ if (author != oldAuthor) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, LibraryPackage.BOOK__AUTHOR, oldAuthor, author));
+ }
+ }
+ return author;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Writer basicGetAuthor() {
+ return author;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetAuthor(Writer newAuthor, NotificationChain msgs) {
+ Writer oldAuthor = author;
+ author = newAuthor;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LibraryPackage.BOOK__AUTHOR, oldAuthor, newAuthor);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAuthor(Writer newAuthor) {
+ if (newAuthor != author) {
+ NotificationChain msgs = null;
+ if (author != null)
+ msgs = ((InternalEObject)author).eInverseRemove(this, LibraryPackage.WRITER__BOOKS, Writer.class, msgs);
+ if (newAuthor != null)
+ msgs = ((InternalEObject)newAuthor).eInverseAdd(this, LibraryPackage.WRITER__BOOKS, Writer.class, msgs);
+ msgs = basicSetAuthor(newAuthor, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.BOOK__AUTHOR, newAuthor, newAuthor));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
+ if (featureID >= 0) {
+ switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
+ case LibraryPackage.BOOK__AUTHOR:
+ if (author != null)
+ msgs = ((InternalEObject)author).eInverseRemove(this, LibraryPackage.WRITER__BOOKS, Writer.class, msgs);
+ return basicSetAuthor((Writer)otherEnd, msgs);
+ default:
+ return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
+ }
+ }
+ if (eContainer != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return eBasicSetContainer(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
+ if (featureID >= 0) {
+ switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
+ case LibraryPackage.BOOK__AUTHOR:
+ return basicSetAuthor(null, msgs);
+ default:
+ return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
+ }
+ }
+ return eBasicSetContainer(null, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+ switch (eDerivedStructuralFeatureID(eFeature)) {
+ case LibraryPackage.BOOK__TITLE:
+ return getTitle();
+ case LibraryPackage.BOOK__PAGES:
+ return new Integer(getPages());
+ case LibraryPackage.BOOK__CATEGORY:
+ return getCategory();
+ case LibraryPackage.BOOK__AUTHOR:
+ if (resolve) return getAuthor();
+ return basicGetAuthor();
+ }
+ return eDynamicGet(eFeature, resolve);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(EStructuralFeature eFeature, Object newValue) {
+ switch (eDerivedStructuralFeatureID(eFeature)) {
+ case LibraryPackage.BOOK__TITLE:
+ setTitle((String)newValue);
+ return;
+ case LibraryPackage.BOOK__PAGES:
+ setPages(((Integer)newValue).intValue());
+ return;
+ case LibraryPackage.BOOK__CATEGORY:
+ setCategory((BookCategory)newValue);
+ return;
+ case LibraryPackage.BOOK__AUTHOR:
+ setAuthor((Writer)newValue);
+ return;
+ }
+ eDynamicSet(eFeature, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(EStructuralFeature eFeature) {
+ switch (eDerivedStructuralFeatureID(eFeature)) {
+ case LibraryPackage.BOOK__TITLE:
+ setTitle(TITLE_EDEFAULT);
+ return;
+ case LibraryPackage.BOOK__PAGES:
+ unsetPages();
+ return;
+ case LibraryPackage.BOOK__CATEGORY:
+ unsetCategory();
+ return;
+ case LibraryPackage.BOOK__AUTHOR:
+ setAuthor((Writer)null);
+ return;
+ }
+ eDynamicUnset(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(EStructuralFeature eFeature) {
+ switch (eDerivedStructuralFeatureID(eFeature)) {
+ case LibraryPackage.BOOK__TITLE:
+ return TITLE_EDEFAULT == null ? title != null : !TITLE_EDEFAULT.equals(title);
+ case LibraryPackage.BOOK__PAGES:
+ return isSetPages();
+ case LibraryPackage.BOOK__CATEGORY:
+ return isSetCategory();
+ case LibraryPackage.BOOK__AUTHOR:
+ return author != null;
+ }
+ return eDynamicIsSet(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (title: ");
+ result.append(title);
+ result.append(", pages: ");
+ if (pagesESet) result.append(pages); else result.append("<unset>");
+ result.append(", category: ");
+ if (categoryESet) result.append(category); else result.append("<unset>");
+ result.append(')');
+ return result.toString();
+ }
+
+} //BookImpl
Added: directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/impl/LibraryFactoryImpl.java
URL: http://svn.apache.org/viewvc/directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/impl/LibraryFactoryImpl.java?view=auto&rev=482456
==============================================================================
--- directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/impl/LibraryFactoryImpl.java (added)
+++ directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/impl/LibraryFactoryImpl.java Mon Dec 4 18:22:42 2006
@@ -0,0 +1,151 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.example.library.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.example.library.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LibraryFactoryImpl extends EFactoryImpl implements LibraryFactory {
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LibraryFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case LibraryPackage.BOOK: return createBook();
+ case LibraryPackage.LIBRARY: return createLibrary();
+ case LibraryPackage.WRITER: return createWriter();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case LibraryPackage.BOOK_CATEGORY: {
+ BookCategory result = BookCategory.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+ case LibraryPackage.BOOK_CATEGORY_OBJECT:
+ return createBookCategoryObjectFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case LibraryPackage.BOOK_CATEGORY:
+ return instanceValue == null ? null : instanceValue.toString();
+ case LibraryPackage.BOOK_CATEGORY_OBJECT:
+ return convertBookCategoryObjectToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Book createBook() {
+ BookImpl book = new BookImpl();
+ return book;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Library createLibrary() {
+ LibraryImpl library = new LibraryImpl();
+ return library;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Writer createWriter() {
+ WriterImpl writer = new WriterImpl();
+ return writer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BookCategory createBookCategoryObjectFromString(EDataType eDataType, String initialValue) {
+ return (BookCategory)LibraryFactory.eINSTANCE.createFromString(LibraryPackage.eINSTANCE.getBookCategory(), initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertBookCategoryObjectToString(EDataType eDataType, Object instanceValue) {
+ return LibraryFactory.eINSTANCE.convertToString(LibraryPackage.eINSTANCE.getBookCategory(), instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LibraryPackage getLibraryPackage() {
+ return (LibraryPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ public static LibraryPackage getPackage() {
+ return LibraryPackage.eINSTANCE;
+ }
+
+} //LibraryFactoryImpl
Added: directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/impl/LibraryImpl.java
URL: http://svn.apache.org/viewvc/directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/impl/LibraryImpl.java?view=auto&rev=482456
==============================================================================
--- directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/impl/LibraryImpl.java (added)
+++ directory/sandbox/oersoy/src/main/java/org/eclipse/example/library/impl/LibraryImpl.java Mon Dec 4 18:22:42 2006
@@ -0,0 +1,260 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.example.library.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.example.library.Book;
+import org.eclipse.example.library.Library;
+import org.eclipse.example.library.LibraryPackage;
+import org.eclipse.example.library.Writer;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Library</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.example.library.impl.LibraryImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.example.library.impl.LibraryImpl#getWriters <em>Writers</em>}</li>
+ * <li>{@link org.eclipse.example.library.impl.LibraryImpl#getBooks <em>Books</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class LibraryImpl extends EObjectImpl implements Library {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getWriters() <em>Writers</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWriters()
+ * @generated
+ * @ordered
+ */
+ protected EList writers = null;
+
+ /**
+ * The cached value of the '{@link #getBooks() <em>Books</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBooks()
+ * @generated
+ * @ordered
+ */
+ protected EList books = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LibraryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EClass eStaticClass() {
+ return LibraryPackage.eINSTANCE.getLibrary();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.LIBRARY__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getWriters() {
+ if (writers == null) {
+ writers = new EObjectContainmentEList(Writer.class, this, LibraryPackage.LIBRARY__WRITERS);
+ }
+ return writers;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList getBooks() {
+ if (books == null) {
+ books = new EObjectContainmentEList(Book.class, this, LibraryPackage.LIBRARY__BOOKS);
+ }
+ return books;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
+ if (featureID >= 0) {
+ switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
+ case LibraryPackage.LIBRARY__WRITERS:
+ return ((InternalEList)getWriters()).basicRemove(otherEnd, msgs);
+ case LibraryPackage.LIBRARY__BOOKS:
+ return ((InternalEList)getBooks()).basicRemove(otherEnd, msgs);
+ default:
+ return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
+ }
+ }
+ return eBasicSetContainer(null, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object eGet(EStructuralFeature eFeature, boolean resolve) {
+ switch (eDerivedStructuralFeatureID(eFeature)) {
+ case LibraryPackage.LIBRARY__NAME:
+ return getName();
+ case LibraryPackage.LIBRARY__WRITERS:
+ return getWriters();
+ case LibraryPackage.LIBRARY__BOOKS:
+ return getBooks();
+ }
+ return eDynamicGet(eFeature, resolve);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eSet(EStructuralFeature eFeature, Object newValue) {
+ switch (eDerivedStructuralFeatureID(eFeature)) {
+ case LibraryPackage.LIBRARY__NAME:
+ setName((String)newValue);
+ return;
+ case LibraryPackage.LIBRARY__WRITERS:
+ getWriters().clear();
+ getWriters().addAll((Collection)newValue);
+ return;
+ case LibraryPackage.LIBRARY__BOOKS:
+ getBooks().clear();
+ getBooks().addAll((Collection)newValue);
+ return;
+ }
+ eDynamicSet(eFeature, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void eUnset(EStructuralFeature eFeature) {
+ switch (eDerivedStructuralFeatureID(eFeature)) {
+ case LibraryPackage.LIBRARY__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case LibraryPackage.LIBRARY__WRITERS:
+ getWriters().clear();
+ return;
+ case LibraryPackage.LIBRARY__BOOKS:
+ getBooks().clear();
+ return;
+ }
+ eDynamicUnset(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean eIsSet(EStructuralFeature eFeature) {
+ switch (eDerivedStructuralFeatureID(eFeature)) {
+ case LibraryPackage.LIBRARY__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case LibraryPackage.LIBRARY__WRITERS:
+ return writers != null && !writers.isEmpty();
+ case LibraryPackage.LIBRARY__BOOKS:
+ return books != null && !books.isEmpty();
+ }
+ return eDynamicIsSet(eFeature);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //LibraryImpl