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