Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'hibernate')
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.eclipse/.classpath7
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.eclipse/.cvsignore1
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.eclipse/.project28
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.eclipse/.settings/org.eclipse.jdt.core.prefs12
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.eclipse/META-INF/MANIFEST.MF23
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.eclipse/about.html24
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.eclipse/about.ini17
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.eclipse/about.properties46
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.eclipse/build.properties22
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.eclipse/copyright.txt8
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.eclipse/epl-v10.html319
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.eclipse/license.html319
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.eclipse/modeling32.pngbin0 -> 2414 bytes
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.eclipse/plugin.properties53
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.eclipse/plugin.xml143
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/ExportXMI.java49
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/ExportXML.java45
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/GenerateHBMAction.java39
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/GenerateHBMActionSuperClass.java39
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/ImportXMI.java53
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/ImportXML.java46
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/Messages.java35
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/OpenResource.java35
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/messages.properties17
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/.classpath7
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.examples/.project28
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.examples/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.examples/.settings/org.eclipse.pde.core.prefs4
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/META-INF/MANIFEST.MF24
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/about.html24
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/about.ini17
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/about.properties46
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/build.properties15
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/copyright.txt8
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/epl-v10.html319
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/license.html319
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/model/extlibrary.ecore111
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.examples/model/extlibrary.genmodel74
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/modeling32.pngbin0 -> 2414 bytes
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/plugin.properties34
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/plugin.xml26
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/Dynamic.java207
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/QuickStart.java143
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/Tutorial.java282
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/annotations.xml10
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Addressable.java54
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/AudioVisualItem.java107
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Book.java168
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/BookCategory.java239
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/BookOnTape.java80
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Borrower.java46
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/CirculatingItem.java21
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Employee.java53
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/ExtlibraryFactory.java109
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/ExtlibraryPackage.java1773
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Item.java56
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Lendable.java75
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Library.java163
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Periodical.java80
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Person.java80
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/VideoCassette.java44
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Writer.java73
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/AudioVisualItemImpl.java274
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/BookImpl.java424
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/BookOnTapeImpl.java221
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/BorrowerImpl.java169
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/CirculatingItemImpl.java275
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/EmployeeImpl.java159
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/ExtlibraryFactoryImpl.java227
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/ExtlibraryPackageImpl.java882
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/ItemImpl.java169
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/LibraryImpl.java430
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/PeriodicalImpl.java220
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/PersonImpl.java275
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/VideoCassetteImpl.java136
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/WriterImpl.java239
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/util/ExtlibraryAdapterFactory.java358
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/util/ExtlibraryResourceFactoryImpl.java56
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/util/ExtlibraryResourceImpl.java32
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/util/ExtlibrarySwitch.java428
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/util/ExtlibraryXMLProcessor.java54
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/.classpath7
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/.cvsignore2
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/.project40
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/.cvsignore2
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/.jsdtscope4
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jdt.core.prefs12
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jdt.ui.prefs3
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jst.common.project.facet.core.prefs3
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.common.project.facet.core.xml3
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.jsdt.ui.superType.container1
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.jsdt.ui.superType.name1
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/META-INF/MANIFEST.MF25
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/about.html24
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/about.ini17
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/about.properties46
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/build.properties28
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/copyright.txt9
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/epl-v10.html319
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/license.html319
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/model/hbannotation.ecore322
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/model/hbannotation.genmodel246
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/model/hbmodel.ecore113
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/modeling32.pngbin0 -> 2414 bytes
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/plugin.properties33
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/plugin.xml27
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbAnnotationModelBuilder.java59
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbAnnotationUtil.java61
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEAnnotationParserImporter.java77
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEClassAnnotator.java208
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEDataTypeAnnotator.java121
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEFeatureAnnotator.java35
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbManyToOneReferenceAnnotator.java72
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbMappingSchemaGenerator.java91
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbOneToManyAttributeAnnotator.java99
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbOneToManyReferenceAnnotator.java167
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbOneToOneReferenceAnnotator.java72
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbSingleAttributeAnnotator.java40
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbUnidirectionalManyToManyAnnotator.java49
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbXmlPersistenceMapper.java29
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/persistence-mapping.xsd776
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/cdo/CDOEntityMapper.java70
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/cdo/CDOHelper.java73
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/cdo/CDOMappingContext.java108
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Any.java141
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/AnyMetaDef.java127
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/BatchSize.java53
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Cache.java104
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/CacheConcurrencyStrategy.java274
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Cascade.java46
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/CollectionOfElements.java82
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Columns.java25
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/DiscriminatorFormula.java53
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Fetch.java56
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Filter.java80
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/FilterDef.java98
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/FilterDefs.java44
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Filters.java44
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/ForceDiscriminator.java21
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Formula.java53
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Generated.java56
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/GenerationTime.java239
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/GenericGenerator.java96
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbAnnotation.java23
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbCascadeType.java455
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbEntity.java224
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbFetchType.java229
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbMapKey.java45
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbannotationFactory.java312
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbannotationPackage.java3458
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/IdBag.java104
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Immutable.java21
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Index.java53
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/MapKey.java43
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/MapKeyManyToMany.java72
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/MetaValue.java80
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NamedQuery.java80
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NaturalId.java53
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NotFound.java56
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NotFoundAction.java212
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/OnDelete.java56
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/OnDeleteAction.java211
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/OptimisticLockType.java266
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/ParamDef.java80
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Parameter.java76
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/PolymorphismType.java212
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Proxy.java81
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Type.java68
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/TypeDef.java94
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Where.java49
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/AnyImpl.java353
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/AnyMetaDefImpl.java328
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/BatchSizeImpl.java163
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/CacheImpl.java272
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/CascadeImpl.java149
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/CollectionOfElementsImpl.java218
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/DiscriminatorFormulaImpl.java163
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/FetchImpl.java164
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/FilterDefImpl.java257
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/FilterImpl.java217
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/ForceDiscriminatorImpl.java42
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/FormulaImpl.java163
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/GeneratedImpl.java164
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/GenericGeneratorImpl.java257
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/HbAnnotationImpl.java73
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/HbEntityImpl.java489
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/HbMapKeyImpl.java150
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/HbannotationFactoryImpl.java657
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/HbannotationPackageImpl.java1955
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/IdBagImpl.java271
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/ImmutableImpl.java42
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/IndexImpl.java163
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/MapKeyManyToManyImpl.java220
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/MetaValueImpl.java217
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/NamedQueryImpl.java217
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/NaturalIdImpl.java163
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/NotFoundImpl.java164
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/OnDeleteImpl.java164
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/ParamDefImpl.java217
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/ParameterImpl.java217
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/ProxyImpl.java217
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/TypeDefImpl.java257
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/TypeImpl.java203
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/WhereImpl.java163
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/util/HbannotationAdapterFactory.java730
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/util/HbannotationSwitch.java870
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/util/HbannotationValidator.java920
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/CacheValidator.java23
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/CascadeValidator.java23
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/CollectionOfElementsValidator.java22
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/FetchValidator.java21
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/FilterDefValidator.java25
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/FilterDefsValidator.java23
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/FilterValidator.java21
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/FiltersValidator.java23
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/GeneratedValidator.java21
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/GenericGeneratorValidator.java25
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/HbAnnotationValidator.java19
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/IdBagValidator.java23
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/IndexValidator.java20
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/MapKeyValidator.java23
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/NamedQueryValidator.java21
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/OnDeleteValidator.java25
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/ParamDefValidator.java21
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/ParameterValidator.java21
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/ProxyValidator.java26
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/TypeDefValidator.java25
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/TypeValidator.java24
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/WhereValidator.java20
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEAttribute.java165
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEClass.java332
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEDataType.java184
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEModelElement.java22
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEPackage.java118
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEReference.java305
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedETypeElement.java286
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbmodelFactory.java82
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbmodelPackage.java2748
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbAnnotatedEAttributeImpl.java1070
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbAnnotatedEClassImpl.java788
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbAnnotatedEDataTypeImpl.java519
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbAnnotatedEPackageImpl.java283
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbAnnotatedEReferenceImpl.java1387
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbmodelFactoryImpl.java146
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbmodelPackageImpl.java884
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/util/HbmodelAdapterFactory.java385
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/util/HbmodelSwitch.java409
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEAttributeValidator.java24
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEClassValidator.java40
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEDataTypeValidator.java34
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEModelElementValidator.java19
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEPackageValidator.java31
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEReferenceValidator.java26
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedETypeElementValidator.java40
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/AbstractAssociationMapper.java962
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/AbstractMapper.java971
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/BasicMapper.java293
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/EmbeddedMapper.java140
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/EntityMapper.java871
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/FeatureMapMapping.java193
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/FeatureMapper.java279
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/GenerateHBM.java145
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/HbMapperConstants.java74
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/HibernateMappingGenerator.java378
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/IdMapper.java415
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/ManyAttributeMapper.java114
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/ManyExternalReferenceMapper.java79
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/ManyToManyMapper.java166
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/ManyToOneMapper.java180
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/MappingContext.java916
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/MappingException.java61
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/MappingUtil.java139
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/OneToManyMapper.java430
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/OneToOneMapper.java198
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/classic/ClassicMappingContext.java131
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/text/description.txt254
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/.classpath7
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/.cvsignore2
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/.project28
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/.settings/.cvsignore2
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/.settings/org.eclipse.pde.core.prefs3
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/META-INF/MANIFEST.MF59
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/META-INF/eclipse.inf1
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/about.html24
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/about.ini17
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/about.properties46
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/build.properties23
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/copyright.txt8
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/epl-v10.html319
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/license.html319
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/model/hbannotation.ecore112
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/model/hbannotation.genmodel86
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/model/hbmodel.ecore44
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/modeling32.pngbin0 -> 2414 bytes
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/plugin.properties34
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/EMFInterceptor.java213
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/EPackageConstructor.java230
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbBaseSessionDataStore.java216
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbConstants.java78
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbContext.java188
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbDataStore.java1866
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbDataStoreFactory.java33
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbEntityDataStore.java737
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbEntityManagerWrapper.java272
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbHelper.java211
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbMapperException.java46
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbSessionDataStore.java274
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbSessionWrapper.java224
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbStoreException.java49
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbUtil.java399
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/LazyCollectionUtils.java307
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/SessionWrapper.java109
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/AnyEObjectType.java472
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/DefaultToStringUserType.java247
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/DynamicENumUserIntegerType.java87
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/DynamicENumUserType.java182
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/EMFInitializeCollectionEventListener.java68
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/ENumUserIntegerType.java89
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/ENumUserType.java196
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/EcoreModelElementType.java166
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/ExternalType.java151
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/HibernatePersistentStoreAdapter.java65
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/QNameUserType.java175
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/SerializableDynamicEObjectImpl.java122
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/XSDDate.java104
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/XSDDateTime.java173
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/XSDDuration.java212
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/DelegatingLateLoadingList.java205
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/EAVBlobValue.java64
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/EAVDelegatingEMap.java593
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/EAVDelegatingEcoreEList.java388
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/EAVDelegatingFeatureMap.java70
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/EAVDelegatingList.java22
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/EAVExtraMultiContainmentEReferenceValueHolder.java27
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/EAVExtraMultiEAttributeValueHolder.java27
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/EAVExtraMultiNonContainmentEReferenceValueHolder.java27
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/EAVFeatureMapEntryValueHolder.java106
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/EAVFeatureMapValueHolder.java73
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/EAVGenericIDUserType.java128
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/EAVInstantiator.java59
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/EAVMultiContainmentEReferenceValueHolder.java124
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/EAVMultiEAttributeValueHolder.java83
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/EAVMultiNonContainmentEReferenceValueHolder.java86
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/EAVMultiValueHolder.java71
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/EAVObjectTuplizer.java341
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/EAVPropertyHandler.java407
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/EAVSingleContainmentEReferenceValueHolder.java26
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/EAVSingleEAttributeValueHolder.java263
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/EAVSingleEReferenceValueHolder.java140
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/EAVSingleNonContainmentEReferenceValueHolder.java27
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/EAVTextValue.java64
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/EAVTuplizer.java87
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/EAVValueHolder.java283
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/EAVValueInstantiator.java58
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/eav/eav.hbm.xml296
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/econtainer/EContainerAccessor.java68
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/econtainer/EContainerFeatureIDAccessor.java71
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/econtainer/EContainerFeatureIDPropertyHandler.java147
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/econtainer/EContainerFeatureIDUserType.java228
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/econtainer/EContainerPropertyHandler.java148
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/econtainer/EContainerUserType.java549
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/econtainer/NewEContainerFeatureIDPropertyHandler.java168
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/elist/FeatureMapEntryComponentInstantiator.java47
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/elist/FeatureMapEntryComponentTuplizer.java107
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/elist/FeatureMapEntryInstantiator.java79
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/elist/FeatureMapEntryTuplizer.java119
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/elist/HbExtraLazyPersistableEList.java382
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/elist/HbExtraLazyPersistableEMap.java193
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/elist/HibernateFeatureMapEntry.java597
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/elist/HibernatePersistableEList.java622
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/elist/HibernatePersistableEMap.java233
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/elist/HibernatePersistableFeatureMap.java244
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/elist/MapHibernatePersistableEMap.java257
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/identifier/IdentifierCacheHandler.java262
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/identifier/IdentifierPropertyHandler.java133
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/identifier/IdentifierUtil.java179
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/internal/TeneoInternalEObject.java14
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/property/DummyPropertyHandler.java134
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/property/EAttributePropertyHandler.java391
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/property/EListPropertyHandler.java535
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/property/EReferencePropertyHandler.java252
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/property/EcoreAccess.java76
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/property/FeatureMapEntryFeatureURIPropertyHandler.java138
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/property/FeatureMapEntryPropertyHandler.java177
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/property/FeatureMapPropertyHandler.java76
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/property/SyntheticPropertyHandler.java161
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/property/VersionPropertyHandler.java124
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/property/WildCardAttributePropertyHandler.java180
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/mapping/property/WildCardReferencePropertyHandler.java166
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/resource/HbResource.java47
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/resource/HbResourceImpl.java392
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/resource/HibernateResource.java713
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/resource/HibernateResourceFactory.java38
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/resource/HibernateXMLResource.java138
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/resource/HibernateXMLResourceFactory.java38
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/resource/SessionController.java108
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/tuplizer/EMFComponentTuplizer.java162
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/tuplizer/EMFEntityNameResolver.java60
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/tuplizer/EMFInstantiator.java141
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/tuplizer/EMFTuplizer.java367
401 files changed, 76126 insertions, 0 deletions
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/.classpath b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/.classpath
new file mode 100755
index 000000000..64c5e31b7
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/.cvsignore b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/.cvsignore
new file mode 100755
index 000000000..ba077a403
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/.cvsignore
@@ -0,0 +1 @@
+bin
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/.project b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/.project
new file mode 100755
index 000000000..8e8bbe23d
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emf.teneo.hibernate.eclipse</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.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/.settings/org.eclipse.jdt.core.prefs b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..3b0cf443e
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+#Mon Feb 08 06:55:12 CET 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/META-INF/MANIFEST.MF b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/META-INF/MANIFEST.MF
new file mode 100755
index 000000000..2f3a445e2
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/META-INF/MANIFEST.MF
@@ -0,0 +1,23 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Plugin.name
+Bundle-SymbolicName: org.eclipse.emf.teneo.hibernate.eclipse; singleton:=true
+Bundle-Version: 1.1.2.qualifier
+Bundle-Vendor: %Plugin.providerName
+Bundle-Localization: plugin
+Require-Bundle: org.eclipse.ui;bundle-version="[3.5.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
+ org.eclipse.ui.ide;bundle-version="[3.5.0,4.0.0)",
+ org.eclipse.emf.common;bundle-version="[2.5.0,3.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.5.0,4.0.0)",
+ org.eclipse.jdt.core;bundle-version="[3.5.0,4.0.0)",
+ org.eclipse.jdt.launching;bundle-version="[3.5.0,4.0.0)",
+ org.eclipse.debug.core;bundle-version="[3.5.0,4.0.0)",
+ org.eclipse.emf.teneo;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.teneo.annotations;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.teneo.hibernate;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.teneo.eclipse;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.teneo.hibernate.mapper;bundle-version="[1.0.0,2.0.0)"
+Bundle-ActivationPolicy: lazy
+Bundle-Activator: org.eclipse.emf.teneo.eclipse.StorePlugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/about.html b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/about.html
new file mode 100755
index 000000000..5a279453c
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/about.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head><body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007, 2008</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body></html> \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/about.ini b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/about.ini
new file mode 100755
index 000000000..1d17e5539
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/about.ini
@@ -0,0 +1,17 @@
+# about.ini
+# contains information about a feature
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# "%key" are externalized strings defined in about.properties
+# This file does not need to be translated.
+
+# Property "aboutText" contains blurb for "About" dialog (translated)
+aboutText=%featureText
+
+# Property "featureImage" contains path to feature image (32x32)
+featureImage=modeling32.png
+
+# Property "appName" contains name of the application (translated)
+appName=%featureName
+
+# Property "welcomePage" contains path to welcome page (special XML-based format)
+#welcomePage=$nl$/welcome.xml
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/about.properties b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/about.properties
new file mode 100755
index 000000000..8baa7d475
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/about.properties
@@ -0,0 +1,46 @@
+#/**
+# * <copyright>
+# *
+# * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+# * All rights reserved. This program and the accompanying materials
+# * are made available under the terms of the Eclipse Public License v1.0
+# * which accompanies this distribution, and is available at
+# * http://www.eclipse.org/legal/epl-v10.html
+# *
+# * Contributors:
+# * Martin Taal - Initial API and implementation
+# *
+# * </copyright>
+# *
+# * $Id: about.properties,v 1.4 2009/02/24 12:04:57 mtaal Exp $
+# */
+
+# NLS_MESSAGEFORMAT_VAR
+
+# ==============================================================================
+# Do not change the properties between this line and the last line containing:
+# %%% END OF TRANSLATED PROPERTIES %%%
+# Instead, either redefine an existing property, or create a new property,
+# append it to the end of the file, and change the code to use the new name.
+# ==============================================================================
+
+# about.properties
+# contains externalized strings for about.ini
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# fill-ins are supplied by about.mappings
+# This file should be translated.
+
+featureName=Eclipse Modeling Framework Technology Object Relational Persistence UI
+
+featureText=Eclipse Modeling Framework Technology Object Relational Persistence \n\
+Version: {featureVersion}\n\
+Build id: {0}\n\
+\n\
+(c) Copyright Springsite BV (The Netherlands) and others. 2006 - 2009. All rights reserved.\n\
+\n\
+Visit http://www.eclipse.org/emft
+
+# ==============================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# The above properties have been shipped for translation.
+# ==============================================================================
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/build.properties b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/build.properties
new file mode 100755
index 000000000..3ed14ed4c
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/build.properties
@@ -0,0 +1,22 @@
+source.. = src/
+output.. = bin/
+bin.includes = plugin.properties,\
+ META-INF/,\
+ .,\
+ epl-v10.html,\
+ modeling32.png,\
+ about.ini,\
+ about.properties,\
+ copyright.txt,\
+ about.html,\
+ plugin.xml,\
+ src/org/eclipse/emf/teneo/hibernate/eclipse/messages.properties
+src.includes = about.html,\
+ epl-v10.html,\
+ copyright.txt,\
+ about.ini,\
+ about.properties,\
+ license.html,\
+ modeling32.png
+javacSource=1.5
+javacTarget=1.5
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/copyright.txt b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/copyright.txt
new file mode 100755
index 000000000..00a634676
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/copyright.txt
@@ -0,0 +1,8 @@
+Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
+
+Contributors:
+ Martin Taal \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/epl-v10.html b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/epl-v10.html
new file mode 100755
index 000000000..d7b88e941
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/epl-v10.html
@@ -0,0 +1,319 @@
+<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="ProgId" content="Word.Document">
+<meta name="Generator" content="Microsoft Word 9">
+<meta name="Originator" content="Microsoft Word 9">
+<link rel="File-List" href="http://www.eclipse.org/org/documents/Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml"><title>Eclipse Public License - Version 1.0</title><!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+ <o:Revision>2</o:Revision>
+ <o:TotalTime>3</o:TotalTime>
+ <o:Created>2004-03-05T23:03:00Z</o:Created>
+ <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
+ <o:Pages>4</o:Pages>
+ <o:Words>1626</o:Words>
+ <o:Characters>9270</o:Characters>
+ <o:Lines>77</o:Lines>
+ <o:Paragraphs>18</o:Paragraphs>
+ <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
+ <o:Version>9.4402</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+ <w:TrackRevisions/>
+ </w:WordDocument>
+</xml><![endif]-->
+
+
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+ {font-family:Tahoma;
+ panose-1:2 11 6 4 3 5 4 4 2 4;
+ mso-font-charset:0;
+ mso-generic-font-family:swiss;
+ mso-font-pitch:variable;
+ mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+ {mso-style-parent:"";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";}
+p
+ {margin-right:0in;
+ mso-margin-top-alt:auto;
+ mso-margin-bottom-alt:auto;
+ margin-left:0in;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";}
+p.BalloonText, li.BalloonText, div.BalloonText
+ {mso-style-name:"Balloon Text";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:8.0pt;
+ font-family:Tahoma;
+ mso-fareast-font-family:"Times New Roman";}
+@page Section1
+ {size:8.5in 11.0in;
+ margin:1.0in 1.25in 1.0in 1.25in;
+ mso-header-margin:.5in;
+ mso-footer-margin:.5in;
+ mso-paper-source:0;}
+div.Section1
+ {page:Section1;}
+-->
+</style></head>
+
+<body style="" lang="EN-US">
+
+<div class="Section1">
+
+<p style="text-align: center;" align="center"><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style="font-size: 10pt;">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style="font-size: 10pt;">1. DEFINITIONS</span></b> </p>
+
+<p><span style="font-size: 10pt;">"Contribution" means:</span> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear="left">
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
+changes to the Program, and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
+additions to the Program;</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">where
+such changes and/or additions to the Program originate from and are distributed
+by that particular Contributor. A Contribution 'originates' from a Contributor
+if it was added to the Program by such Contributor itself or anyone acting on
+such Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style="font-size: 10pt;">"Contributor" means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style="font-size: 10pt;">"Licensed Patents " mean patent
+claims licensable by a Contributor which are necessarily infringed by the use
+or sale of its Contribution alone or when combined with the Program. </span></p>
+
+<p><span style="font-size: 10pt;">"Program" means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style="font-size: 10pt;">"Recipient" means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style="font-size: 10pt;">2. GRANT OF RIGHTS</span></b> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span style="color: red;"> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style="color: green;"> </span>royalty-free
+patent license under Licensed Patents to make, use, sell, offer to sell, import
+and otherwise transfer the Contribution of such Contributor, if any, in source
+code and object code form. This patent license shall apply to the combination
+of the Contribution and the Program if, at the time the Contribution is added
+by the Contributor, such addition of the Contribution causes such combination
+to be covered by the Licensed Patents. The patent license shall not apply to
+any other combinations which include the Contribution. No hardware per se is
+licensed hereunder. </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">c)
+Recipient understands that although each Contributor grants the licenses to its
+Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">d)
+Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement. </span></p>
+
+<p><b><span style="font-size: 10pt;">3. REQUIREMENTS</span></b> </p>
+
+<p><span style="font-size: 10pt;">A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
+its license agreement:</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
+effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose; </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
+effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages, such
+as lost profits; </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iii)
+states that any provisions which differ from this Agreement are offered by that
+Contributor alone and not by any other party; and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iv)
+states that source code for the Program is available from such Contributor, and
+informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.<span style="color: blue;"> </span></span></p>
+
+<p><span style="font-size: 10pt;">When the Program is made available in source
+code form:</span> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+it must be made available under this Agreement; and </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b) a
+copy of this Agreement must be included with each copy of the Program. </span></p>
+
+<p><span style="font-size: 10pt;">Contributors may not remove or alter any
+copyright notices contained within the Program. </span></p>
+
+<p><span style="font-size: 10pt;">Each Contributor must identify itself as the
+originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution. </span></p>
+
+<p><b><span style="font-size: 10pt;">4. COMMERCIAL DISTRIBUTION</span></b> </p>
+
+<p><span style="font-size: 10pt;">Commercial distributors of software may
+accept certain responsibilities with respect to end users, business partners
+and the like. While this license is intended to facilitate the commercial use
+of the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes the
+Program in a commercial product offering, such Contributor ("Commercial
+Contributor") hereby agrees to defend and indemnify every other
+Contributor ("Indemnified Contributor") against any losses, damages and
+costs (collectively "Losses") arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor to
+the extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may participate
+in any such claim at its own expense.</span> </p>
+
+<p><span style="font-size: 10pt;">For example, a Contributor might include the
+Program in a commercial product offering, Product X. That Contributor is then a
+Commercial Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance claims and
+warranties are such Commercial Contributor's responsibility alone. Under this
+section, the Commercial Contributor would have to defend claims against the
+other Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result, the
+Commercial Contributor must pay those damages.</span> </p>
+
+<p><b><span style="font-size: 10pt;">5. NO WARRANTY</span></b> </p>
+
+<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and distributing the
+Program and assumes all risks associated with its exercise of rights under this
+Agreement , including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations. </span></p>
+
+<p><b><span style="font-size: 10pt;">6. DISCLAIMER OF LIABILITY</span></b> </p>
+
+<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
+THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
+
+<p><b><span style="font-size: 10pt;">7. GENERAL</span></b> </p>
+
+<p><span style="font-size: 10pt;">If any provision of this Agreement is invalid
+or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.</span> </p>
+
+<p><span style="font-size: 10pt;">If Recipient institutes patent litigation
+against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with
+other software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the date
+such litigation is filed. </span></p>
+
+<p><span style="font-size: 10pt;">All Recipient's rights under this Agreement
+shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive. </span></p>
+
+<p><span style="font-size: 10pt;">Everyone is permitted to copy and distribute
+copies of this Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement Steward has
+the right to modify this Agreement. The Eclipse Foundation is the initial
+Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version of
+the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.</span> </p>
+
+<p><span style="font-size: 10pt;">This Agreement is governed by the laws of the
+State of New York and the intellectual property laws of the United States of
+America. No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.</span> </p>
+
+<p class="MsoNormal"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></p>
+
+</div>
+
+</body></html> \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/license.html b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/license.html
new file mode 100755
index 000000000..d7b88e941
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/license.html
@@ -0,0 +1,319 @@
+<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="ProgId" content="Word.Document">
+<meta name="Generator" content="Microsoft Word 9">
+<meta name="Originator" content="Microsoft Word 9">
+<link rel="File-List" href="http://www.eclipse.org/org/documents/Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml"><title>Eclipse Public License - Version 1.0</title><!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+ <o:Revision>2</o:Revision>
+ <o:TotalTime>3</o:TotalTime>
+ <o:Created>2004-03-05T23:03:00Z</o:Created>
+ <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
+ <o:Pages>4</o:Pages>
+ <o:Words>1626</o:Words>
+ <o:Characters>9270</o:Characters>
+ <o:Lines>77</o:Lines>
+ <o:Paragraphs>18</o:Paragraphs>
+ <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
+ <o:Version>9.4402</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+ <w:TrackRevisions/>
+ </w:WordDocument>
+</xml><![endif]-->
+
+
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+ {font-family:Tahoma;
+ panose-1:2 11 6 4 3 5 4 4 2 4;
+ mso-font-charset:0;
+ mso-generic-font-family:swiss;
+ mso-font-pitch:variable;
+ mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+ {mso-style-parent:"";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";}
+p
+ {margin-right:0in;
+ mso-margin-top-alt:auto;
+ mso-margin-bottom-alt:auto;
+ margin-left:0in;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";}
+p.BalloonText, li.BalloonText, div.BalloonText
+ {mso-style-name:"Balloon Text";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:8.0pt;
+ font-family:Tahoma;
+ mso-fareast-font-family:"Times New Roman";}
+@page Section1
+ {size:8.5in 11.0in;
+ margin:1.0in 1.25in 1.0in 1.25in;
+ mso-header-margin:.5in;
+ mso-footer-margin:.5in;
+ mso-paper-source:0;}
+div.Section1
+ {page:Section1;}
+-->
+</style></head>
+
+<body style="" lang="EN-US">
+
+<div class="Section1">
+
+<p style="text-align: center;" align="center"><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style="font-size: 10pt;">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style="font-size: 10pt;">1. DEFINITIONS</span></b> </p>
+
+<p><span style="font-size: 10pt;">"Contribution" means:</span> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear="left">
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
+changes to the Program, and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
+additions to the Program;</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">where
+such changes and/or additions to the Program originate from and are distributed
+by that particular Contributor. A Contribution 'originates' from a Contributor
+if it was added to the Program by such Contributor itself or anyone acting on
+such Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style="font-size: 10pt;">"Contributor" means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style="font-size: 10pt;">"Licensed Patents " mean patent
+claims licensable by a Contributor which are necessarily infringed by the use
+or sale of its Contribution alone or when combined with the Program. </span></p>
+
+<p><span style="font-size: 10pt;">"Program" means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style="font-size: 10pt;">"Recipient" means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style="font-size: 10pt;">2. GRANT OF RIGHTS</span></b> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span style="color: red;"> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style="color: green;"> </span>royalty-free
+patent license under Licensed Patents to make, use, sell, offer to sell, import
+and otherwise transfer the Contribution of such Contributor, if any, in source
+code and object code form. This patent license shall apply to the combination
+of the Contribution and the Program if, at the time the Contribution is added
+by the Contributor, such addition of the Contribution causes such combination
+to be covered by the Licensed Patents. The patent license shall not apply to
+any other combinations which include the Contribution. No hardware per se is
+licensed hereunder. </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">c)
+Recipient understands that although each Contributor grants the licenses to its
+Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">d)
+Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement. </span></p>
+
+<p><b><span style="font-size: 10pt;">3. REQUIREMENTS</span></b> </p>
+
+<p><span style="font-size: 10pt;">A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
+its license agreement:</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
+effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose; </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
+effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages, such
+as lost profits; </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iii)
+states that any provisions which differ from this Agreement are offered by that
+Contributor alone and not by any other party; and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iv)
+states that source code for the Program is available from such Contributor, and
+informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.<span style="color: blue;"> </span></span></p>
+
+<p><span style="font-size: 10pt;">When the Program is made available in source
+code form:</span> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+it must be made available under this Agreement; and </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b) a
+copy of this Agreement must be included with each copy of the Program. </span></p>
+
+<p><span style="font-size: 10pt;">Contributors may not remove or alter any
+copyright notices contained within the Program. </span></p>
+
+<p><span style="font-size: 10pt;">Each Contributor must identify itself as the
+originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution. </span></p>
+
+<p><b><span style="font-size: 10pt;">4. COMMERCIAL DISTRIBUTION</span></b> </p>
+
+<p><span style="font-size: 10pt;">Commercial distributors of software may
+accept certain responsibilities with respect to end users, business partners
+and the like. While this license is intended to facilitate the commercial use
+of the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes the
+Program in a commercial product offering, such Contributor ("Commercial
+Contributor") hereby agrees to defend and indemnify every other
+Contributor ("Indemnified Contributor") against any losses, damages and
+costs (collectively "Losses") arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor to
+the extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may participate
+in any such claim at its own expense.</span> </p>
+
+<p><span style="font-size: 10pt;">For example, a Contributor might include the
+Program in a commercial product offering, Product X. That Contributor is then a
+Commercial Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance claims and
+warranties are such Commercial Contributor's responsibility alone. Under this
+section, the Commercial Contributor would have to defend claims against the
+other Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result, the
+Commercial Contributor must pay those damages.</span> </p>
+
+<p><b><span style="font-size: 10pt;">5. NO WARRANTY</span></b> </p>
+
+<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and distributing the
+Program and assumes all risks associated with its exercise of rights under this
+Agreement , including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations. </span></p>
+
+<p><b><span style="font-size: 10pt;">6. DISCLAIMER OF LIABILITY</span></b> </p>
+
+<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
+THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
+
+<p><b><span style="font-size: 10pt;">7. GENERAL</span></b> </p>
+
+<p><span style="font-size: 10pt;">If any provision of this Agreement is invalid
+or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.</span> </p>
+
+<p><span style="font-size: 10pt;">If Recipient institutes patent litigation
+against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with
+other software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the date
+such litigation is filed. </span></p>
+
+<p><span style="font-size: 10pt;">All Recipient's rights under this Agreement
+shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive. </span></p>
+
+<p><span style="font-size: 10pt;">Everyone is permitted to copy and distribute
+copies of this Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement Steward has
+the right to modify this Agreement. The Eclipse Foundation is the initial
+Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version of
+the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.</span> </p>
+
+<p><span style="font-size: 10pt;">This Agreement is governed by the laws of the
+State of New York and the intellectual property laws of the United States of
+America. No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.</span> </p>
+
+<p class="MsoNormal"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></p>
+
+</div>
+
+</body></html> \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/modeling32.png b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/modeling32.png
new file mode 100755
index 000000000..6b08de2ad
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/modeling32.png
Binary files differ
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/plugin.properties b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/plugin.properties
new file mode 100755
index 000000000..af9b9ccae
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/plugin.properties
@@ -0,0 +1,53 @@
+#/**
+# * <copyright>
+# *
+# * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+# * All rights reserved. This program and the accompanying materials
+# * are made available under the terms of the Eclipse Public License v1.0
+# * which accompanies this distribution, and is available at
+# * http://www.eclipse.org/legal/epl-v10.html
+# *
+# * Contributors:
+# * Martin Taal - Initial API and implementation
+# *
+# * </copyright>
+# *
+# * $Id: plugin.properties,v 1.9 2009/05/13 10:23:06 mtaal Exp $
+# */
+
+# NLS_MESSAGEFORMAT_VAR
+
+# ==============================================================================
+# Do not change the properties between this line and the last line containing:
+# %%% END OF TRANSLATED PROPERTIES %%%
+# Instead, either redefine an existing property, or create a new property,
+# append it to the end of the file, and change the code to use the new name.
+# ==============================================================================
+
+Plugin.name = EMF Teneo Hibernate Eclipse UI
+Plugin.providerName = Eclipse Modeling Project
+
+# ==============================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# The above properties have been shipped for translation.
+# ==============================================================================
+teneo = Teneo
+teneo.hbm.label.0 = Generate EMF - Hibernate OR Mapping (joined-subclass)
+teneo.hbm.tooltip.0 = Select to generate a hibernate.hbm.xml file from the ecore model(s). Uses joined-subclass inheritance mapping strategy.
+teneo.hbm.label.1 = Generate EMF - Hibernate OR Mapping (super-class)
+teneo.hbm.tooltip.1 = Select to generate a hibernate.hbm.xml file from the ecore model(s). Uses superclass-table inheritance mapping strategy.
+teneo.openresource.label.0 = Open Resource
+teneo.openresource.tooltip.0 = Opens a resource using the specified editor
+teneo.import.label.0 = Import from XMI
+teneo.import.tooltip.0 = Imports an XMI file into a datastore
+teneo.export.label.0 = Export to XMI
+teneo.export.tooltip.0 = Exports a complete datastore to xmi
+teneo.import.label.1 = Import from XML
+teneo.import.tooltip.1 = Imports an XML file into a datastore
+teneo.export.label.1 = Export to XML
+teneo.export.tooltip.1 = Exports a complete datastore to xml
+teneo.cdo.label.0 = Generate CDO - Hibernate OR Mapping (joined-subclass)
+teneo.cdo.tooltip.0 = Select to generate a hibernate.hbm.xml file from the ecore model(s) for use in a CDO server. Uses joined-subclass inheritance mapping strategy.
+teneo.cdo.label.1 = Generate CDO - Hibernate OR Mapping (super-class)
+teneo.cdo.tooltip.1 = Select to generate a hibernate.hbm.xml file from the ecore model(s) for use in a cdo server. Uses superclass-table inheritance mapping strategy.
+teneo.generate.orm = Generate ORM File
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/plugin.xml b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/plugin.xml
new file mode 100755
index 000000000..76577ae89
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/plugin.xml
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin>
+
+ <extension
+ point="org.eclipse.ui.popupMenus">
+ <objectContribution
+ id="org.eclipse.emf.teneo.hibernate.eclipse.contribution0"
+ nameFilter="*.ecore"
+ objectClass="org.eclipse.core.resources.IFile">
+ <menu
+ label="%teneo"
+ path="additions"
+ id="org.eclipse.emf.teneo.eclipse.teneomenu">
+ <separator
+ name="group2">
+ </separator>
+ </menu>
+ <action
+ class="org.eclipse.emf.teneo.hibernate.eclipse.GenerateHBMAction"
+ enablesFor="+"
+ id="org.eclipse.emf.teneo.hibernate.eclipse.generatehbm"
+ label="%teneo.hbm.label.0"
+ menubarPath="org.eclipse.emf.teneo.eclipse.teneomenu/group2"
+ tooltip="%teneo.hbm.tooltip.0">
+ </action>
+ </objectContribution>
+ <objectContribution
+ id="org.eclipse.emf.teneo.hibernate.eclipse.contribution1"
+ nameFilter="*.ecore"
+ objectClass="org.eclipse.core.resources.IFile">
+ <menu
+ label="%teneo"
+ path="additions"
+ id="org.eclipse.emf.teneo.eclipse.teneomenu">
+ <separator
+ name="group2">
+ </separator>
+ </menu>
+ <action
+ class="org.eclipse.emf.teneo.hibernate.eclipse.GenerateHBMActionSuperClass"
+ enablesFor="+"
+ id="org.eclipse.emf.teneo.hibernate.eclipse.generatehbmsuperclass"
+ label="%teneo.hbm.label.1"
+ menubarPath="org.eclipse.emf.teneo.eclipse.teneomenu/group2"
+ tooltip="%teneo.hbm.tooltip.1">
+ </action>
+ </objectContribution>
+ <objectContribution
+ id="org.eclipse.emf.teneo.hibernate.eclipse.contribution2"
+ nameFilter="*.ehb"
+ objectClass="org.eclipse.core.resources.IFile">
+ <menu
+ label="%teneo"
+ path="additions"
+ id="org.eclipse.emf.teneo.hibernate.eclipse.teneomenu">
+ <separator
+ name="group2">
+ </separator>
+ </menu>
+ <action
+ class="org.eclipse.emf.teneo.hibernate.eclipse.OpenResource"
+ enablesFor="1"
+ id="org.eclipse.emf.teneo.hibernate.eclipse.openResource"
+ label="%teneo.openresource.label.0"
+ menubarPath="org.eclipse.emf.teneo.hibernate.eclipse.teneomenu/group2"
+ tooltip="%teneo.openresource.tooltip.0">
+ </action>
+ </objectContribution>
+ <objectContribution
+ id="org.eclipse.emf.teneo.hibernate.eclipse.contribution3"
+ nameFilter="*.ehb"
+ objectClass="org.eclipse.core.resources.IFile">
+ <menu
+ id="org.eclipse.emf.teneo.hibernate.eclipse.teneomenu"
+ label="%teneo"
+ path="additions">
+ <separator name="group4"/>
+ </menu>
+ <action
+ class="org.eclipse.emf.teneo.hibernate.eclipse.ImportXMI"
+ enablesFor="1"
+ id="org.eclipse.emf.teneo.hibernate.eclipse.importXMI"
+ label="%teneo.import.label.0"
+ menubarPath="org.eclipse.emf.teneo.hibernate.eclipse.teneomenu/group4"
+ tooltip="%teneo.import.tooltip.0"/>
+ </objectContribution>
+ <objectContribution
+ id="org.eclipse.emf.teneo.hibernate.eclipse.contribution4"
+ nameFilter="*.ehb"
+ objectClass="org.eclipse.core.resources.IFile">
+ <menu
+ id="org.eclipse.emf.teneo.hibernate.eclipse.teneomenu"
+ label="%teneo"
+ path="additions">
+ <separator name="group4"/>
+ </menu>
+ <action
+ class="org.eclipse.emf.teneo.hibernate.eclipse.ExportXMI"
+ enablesFor="1"
+ id="org.eclipse.emf.teneo.hibernate.eclipse.exportXMI"
+ label="%teneo.export.label.0"
+ menubarPath="org.eclipse.emf.teneo.hibernate.eclipse.teneomenu/group4"
+ tooltip="%teneo.export.tooltip.0"/>
+ </objectContribution>
+ <objectContribution
+ id="org.eclipse.emf.teneo.hibernate.eclipse.contribution5"
+ nameFilter="*.ehb"
+ objectClass="org.eclipse.core.resources.IFile">
+ <menu
+ id="org.eclipse.emf.teneo.hibernate.eclipse.teneomenu"
+ label="%teneo"
+ path="additions">
+ <separator name="group3"/>
+ </menu>
+ <action
+ class="org.eclipse.emf.teneo.hibernate.eclipse.ImportXML"
+ enablesFor="1"
+ id="org.eclipse.emf.teneo.hibernate.eclipse.importXML"
+ label="%teneo.import.label.1"
+ menubarPath="org.eclipse.emf.teneo.hibernate.eclipse.teneomenu/group3"
+ tooltip="%teneo.import.tooltip.1"/>
+ </objectContribution>
+ <objectContribution
+ id="org.eclipse.emf.teneo.hibernate.eclipse.contribution6"
+ nameFilter="*.ehb"
+ objectClass="org.eclipse.core.resources.IFile">
+ <menu
+ id="org.eclipse.emf.teneo.hibernate.eclipse.teneomenu"
+ label="%teneo"
+ path="additions">
+ <separator name="group3"/>
+ </menu>
+ <action
+ class="org.eclipse.emf.teneo.hibernate.eclipse.ExportXML"
+ enablesFor="1"
+ id="org.eclipse.emf.teneo.hibernate.eclipse.exportXML"
+ label="%teneo.export.label.1"
+ menubarPath="org.eclipse.emf.teneo.hibernate.eclipse.teneomenu/group3"
+ tooltip="%teneo.export.tooltip.1"/>
+ </objectContribution>
+ </extension>
+</plugin>
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/ExportXMI.java b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/ExportXMI.java
new file mode 100755
index 000000000..4e829c4aa
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/ExportXMI.java
@@ -0,0 +1,49 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Taal
+ * </copyright>
+ *
+ * $Id: ExportXMI.java,v 1.3 2008/02/28 07:07:59 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.hibernate.eclipse;
+
+import java.io.ByteArrayOutputStream;
+import java.util.Properties;
+
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.emf.teneo.eclipse.resourcehandler.StoreExportXML;
+import org.eclipse.emf.teneo.hibernate.HbConstants;
+import org.eclipse.emf.teneo.hibernate.HbDataStore;
+import org.eclipse.emf.teneo.hibernate.HbUtil;
+
+/**
+ * Performs the export xmi action
+ *
+ * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
+ * @version $Revision: 1.3 $
+ */
+
+public class ExportXMI extends StoreExportXML {
+ /** Can be overridden */
+ protected boolean isXMLExport() {
+ return false;
+ }
+
+ /** Does the real export */
+ protected byte[] doExport(Properties props) {
+ HbDataStore emfds = HbUtil.getCreateDataStore(props);
+ // for now export the whole content to one byte array
+ final ByteArrayOutputStream os = new ByteArrayOutputStream();
+ emfds.exportDataStore(os, HbConstants.EXCHANGE_FORMAT_XMI, ResourcesPlugin.getEncoding());
+ return os.toByteArray();
+ }
+}
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/ExportXML.java b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/ExportXML.java
new file mode 100755
index 000000000..26168097d
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/ExportXML.java
@@ -0,0 +1,45 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Taal
+ * </copyright>
+ *
+ * $Id: ExportXML.java,v 1.3 2008/02/28 07:07:59 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.hibernate.eclipse;
+
+import java.io.ByteArrayOutputStream;
+import java.util.Properties;
+
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.emf.teneo.eclipse.resourcehandler.StoreExportXML;
+import org.eclipse.emf.teneo.hibernate.HbConstants;
+import org.eclipse.emf.teneo.hibernate.HbDataStore;
+import org.eclipse.emf.teneo.hibernate.HbUtil;
+
+/**
+ * Performs the export xml action
+ *
+ * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
+ * @version $Revision: 1.3 $
+ */
+
+public class ExportXML extends StoreExportXML {
+ /** Does the real export */
+ protected byte[] doExport(Properties props) {
+ HbDataStore emfds = HbUtil.getCreateDataStore(props);
+ // for now export the whole content to one byte array
+ final ByteArrayOutputStream os = new ByteArrayOutputStream();
+ emfds.exportDataStore(os, HbConstants.EXCHANGE_FORMAT_XML, ResourcesPlugin.getEncoding());
+ return os.toByteArray();
+ }
+
+}
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/GenerateHBMAction.java b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/GenerateHBMAction.java
new file mode 100755
index 000000000..78e43e843
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/GenerateHBMAction.java
@@ -0,0 +1,39 @@
+/**
+ * <copyright> Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others All rights
+ * reserved. This program and the accompanying materials are made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html Contributors: Martin Taal </copyright> $Id:
+ * GenerateHBMAction.java,v 1.2 2007/02/01 12:34:24 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.hibernate.eclipse;
+
+import java.util.HashMap;
+
+import org.eclipse.emf.teneo.PersistenceOptions;
+import org.eclipse.emf.teneo.annotations.pannotation.InheritanceType;
+import org.eclipse.emf.teneo.eclipse.genxml.GenerateMappingAction;
+import org.eclipse.emf.teneo.hibernate.HbConstants;
+import org.eclipse.emf.teneo.hibernate.mapper.GenerateHBM;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.ui.IActionDelegate;
+
+/**
+ * Eclipse popup action to generate a hibernate file based on ecore files.
+ *
+ * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
+ * @version $Revision: 1.6 $
+ */
+
+public class GenerateHBMAction extends GenerateMappingAction {
+ /**
+ * @see IActionDelegate#run(IAction)
+ */
+ @Override
+ public void run(IAction action) {
+ final HashMap<String, String> options = new HashMap<String, String>();
+ options.put(PersistenceOptions.INHERITANCE_MAPPING, InheritanceType.JOINED.getName());
+ super.run(action, HbConstants.HBM_FILE_NAME, Messages.getString("teneo.generate.hbm"), options,
+ GenerateHBM.class.getName());
+ }
+} \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/GenerateHBMActionSuperClass.java b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/GenerateHBMActionSuperClass.java
new file mode 100755
index 000000000..038ef4c6a
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/GenerateHBMActionSuperClass.java
@@ -0,0 +1,39 @@
+/**
+ * <copyright> Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others All rights
+ * reserved. This program and the accompanying materials are made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html Contributors: Martin Taal </copyright> $Id:
+ * GenerateHBMActionSuperClass.java,v 1.2 2007/02/01 12:34:24 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.hibernate.eclipse;
+
+import java.util.HashMap;
+
+import org.eclipse.emf.teneo.PersistenceOptions;
+import org.eclipse.emf.teneo.annotations.pannotation.InheritanceType;
+import org.eclipse.emf.teneo.eclipse.genxml.GenerateMappingAction;
+import org.eclipse.emf.teneo.hibernate.HbConstants;
+import org.eclipse.emf.teneo.hibernate.mapper.GenerateHBM;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.ui.IActionDelegate;
+
+/**
+ * Eclipse popup action to generate a hbm file based on the ecore files.
+ *
+ * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
+ * @version $Revision: 1.7 $
+ */
+
+public class GenerateHBMActionSuperClass extends GenerateMappingAction {
+ /**
+ * @see IActionDelegate#run(IAction)
+ */
+ @Override
+ public void run(IAction action) {
+ final HashMap<String, String> options = new HashMap<String, String>();
+ options.put(PersistenceOptions.INHERITANCE_MAPPING, InheritanceType.SINGLE_TABLE.getName());
+ super.run(action, HbConstants.HBM_FILE_NAME, Messages.getString("teneo.generate.hbm"), options,
+ GenerateHBM.class.getName());
+ }
+} \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/ImportXMI.java b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/ImportXMI.java
new file mode 100755
index 000000000..7d09c2122
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/ImportXMI.java
@@ -0,0 +1,53 @@
+/**
+ * <copyright> Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others All rights
+ * reserved. This program and the accompanying materials are made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html Contributors: Martin Taal </copyright> $Id:
+ * ImportXMI.java,v 1.2 2007/02/01 12:34:24 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.hibernate.eclipse;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.emf.teneo.eclipse.StoreEclipseException;
+import org.eclipse.emf.teneo.eclipse.resourcehandler.StoreImportXML;
+import org.eclipse.emf.teneo.hibernate.HbConstants;
+import org.eclipse.emf.teneo.hibernate.HbDataStore;
+import org.eclipse.emf.teneo.hibernate.HbUtil;
+
+/**
+ * Performs the import xmi action
+ *
+ * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
+ * @version $Revision: 1.4 $
+ */
+
+public class ImportXMI extends StoreImportXML {
+ /** Can be overridden */
+ @Override
+ protected boolean isXMLImport() {
+ return false;
+ }
+
+ /** Imports the files into the store */
+ @Override
+ protected void doImport(IFile[] files, Properties props) {
+ try {
+ final HbDataStore emfds = HbUtil.getCreateDataStore(props);
+ for (IFile element : files) {
+ final InputStream is = element.getContents();
+ emfds.importDataStore(is, HbConstants.EXCHANGE_FORMAT_XMI);
+ is.close();
+ }
+ } catch (IOException i) {
+ throw new StoreEclipseException("IO exception while importing xmi", i);
+ } catch (CoreException c) {
+ throw new StoreEclipseException("Core exception while importing xmi", c);
+ }
+ }
+}
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/ImportXML.java b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/ImportXML.java
new file mode 100755
index 000000000..ffb9c0876
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/ImportXML.java
@@ -0,0 +1,46 @@
+/**
+ * <copyright> Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others All rights
+ * reserved. This program and the accompanying materials are made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html Contributors: Martin Taal </copyright> $Id:
+ * ImportXML.java,v 1.3 2007/02/01 12:34:24 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.hibernate.eclipse;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.emf.teneo.eclipse.StoreEclipseException;
+import org.eclipse.emf.teneo.eclipse.resourcehandler.StoreImportXML;
+import org.eclipse.emf.teneo.hibernate.HbConstants;
+import org.eclipse.emf.teneo.hibernate.HbDataStore;
+import org.eclipse.emf.teneo.hibernate.HbUtil;
+
+/**
+ * Performs the import xml action
+ *
+ * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
+ * @version $Revision: 1.5 $
+ */
+
+public class ImportXML extends StoreImportXML {
+ /** Imports the files into the store */
+ protected void doImport(IFile[] files, Properties props) {
+ try {
+ final HbDataStore emfds = HbUtil.getCreateDataStore(props);
+ for (int i = 0; i < files.length; i++) {
+ final InputStream is = files[i].getContents();
+ emfds.importDataStore(is, HbConstants.EXCHANGE_FORMAT_XML);
+ is.close();
+ }
+ } catch (IOException i) {
+ throw new StoreEclipseException("IO exception while importing xml", i);
+ } catch (CoreException c) {
+ throw new StoreEclipseException("Core exception while importing xml", c);
+ }
+ }
+}
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/Messages.java b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/Messages.java
new file mode 100644
index 000000000..4e6e82893
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/Messages.java
@@ -0,0 +1,35 @@
+/**
+ * Copyright (c) 2004 - 2009 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Victor Roldan Betancort - initial API and implementation
+ * Eike Stepper - maintenance
+ */
+package org.eclipse.emf.teneo.hibernate.eclipse;
+
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+/**
+ * @author Victor Roldan Betancort
+ */
+public class Messages {
+ private static final String BUNDLE_NAME = "org.eclipse.emf.teneo.hibernate.eclipse.messages"; //$NON-NLS-1$
+
+ private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
+
+ private Messages() {
+ }
+
+ public static String getString(String key) {
+ try {
+ return RESOURCE_BUNDLE.getString(key);
+ } catch (MissingResourceException e) {
+ return '!' + key + '!';
+ }
+ }
+}
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/OpenResource.java b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/OpenResource.java
new file mode 100755
index 000000000..be6f9c91a
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/OpenResource.java
@@ -0,0 +1,35 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Taal
+ * </copyright>
+ *
+ * $Id: OpenResource.java,v 1.3 2008/02/28 07:07:59 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.hibernate.eclipse;
+
+import java.util.Properties;
+
+import org.eclipse.emf.teneo.eclipse.resourcehandler.StoreOpenResource;
+import org.eclipse.emf.teneo.hibernate.HbUtil;
+
+/**
+ * Performs the open resource action based on the information in the .ehb file
+ *
+ * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
+ * @version $Revision: 1.3 $
+ */
+public class OpenResource extends StoreOpenResource {
+ /** Ensure that the data store is opened */
+ protected void openDataStore(Properties props) {
+ HbUtil.getCreateDataStore(props);
+ }
+} \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/messages.properties b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/messages.properties
new file mode 100644
index 000000000..b75dd5147
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.eclipse/src/org/eclipse/emf/teneo/hibernate/eclipse/messages.properties
@@ -0,0 +1,17 @@
+# ==============================================================================
+# Copyright (c) 2004 - 2009 Martin Taal and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Martin Taal
+# ==============================================================================
+
+# ==============================================================================
+# This properties file contains all strings subject to be shown in the UI.
+# ==============================================================================
+
+teneo.generate.hbm.cdo = "Generate Hibernate mapping file for CDO
+teneo.generate.hbm = Generate Hibernate mapping file \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/.classpath b/hibernate/org.eclipse.emf.teneo.hibernate.examples/.classpath
new file mode 100755
index 000000000..304e86186
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/.project b/hibernate/org.eclipse.emf.teneo.hibernate.examples/.project
new file mode 100644
index 000000000..eec6be9f6
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emf.teneo.hibernate.examples</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.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/.settings/org.eclipse.jdt.core.prefs b/hibernate/org.eclipse.emf.teneo.hibernate.examples/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..ad42b6378
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+#Sat Jan 23 09:38:04 CET 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/.settings/org.eclipse.pde.core.prefs b/hibernate/org.eclipse.emf.teneo.hibernate.examples/.settings/org.eclipse.pde.core.prefs
new file mode 100644
index 000000000..05fa0efe2
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/.settings/org.eclipse.pde.core.prefs
@@ -0,0 +1,4 @@
+#Sat Jan 23 09:38:04 CET 2010
+eclipse.preferences.version=1
+pluginProject.extensions=false
+resolve.requirebundle=false
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/META-INF/MANIFEST.MF b/hibernate/org.eclipse.emf.teneo.hibernate.examples/META-INF/MANIFEST.MF
new file mode 100755
index 000000000..cbc751984
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/META-INF/MANIFEST.MF
@@ -0,0 +1,24 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.emf.teneo.hibernate.examples;singleton:=true
+Bundle-Version: 1.0.0
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.emf.teneo.hibernate.examples;version="1.0.0",
+ org.eclipse.emf.teneo.hibernate.examples.extlibrary;version="1.0.0",
+ org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl;version="1.0.0",
+ org.eclipse.emf.teneo.hibernate.examples.extlibrary.util;version="1.0.0"
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.5.0,3.0.0)",
+ org.eclipse.emf.teneo.hibernate;bundle-version="[1.0.0,2.0.0)",
+ org.hibernate;bundle-version="[3.3.2,4.0.0)";resolution:=optional,
+ org.eclipse.emf.ecore.change;bundle-version="[2.5.0,3.0.0)";resolution:=optional,
+ org.apache.commons.logging;bundle-version="[1.0.0,2.0.0)";resolution:=optional,
+ org.dom4j;bundle-version="[1.0.0,2.0.0)";resolution:=optional,
+ org.hsqldb;bundle-version="[1.0.0,2.0.0)";resolution:=optional,
+ com.mysql.jdbc;bundle-version="[4.0.0,6.0.0)";resolution:=optional
+Bundle-ActivationPolicy: lazy
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/about.html b/hibernate/org.eclipse.emf.teneo.hibernate.examples/about.html
new file mode 100755
index 000000000..5a279453c
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/about.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head><body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007, 2008</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body></html> \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/about.ini b/hibernate/org.eclipse.emf.teneo.hibernate.examples/about.ini
new file mode 100755
index 000000000..1d17e5539
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/about.ini
@@ -0,0 +1,17 @@
+# about.ini
+# contains information about a feature
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# "%key" are externalized strings defined in about.properties
+# This file does not need to be translated.
+
+# Property "aboutText" contains blurb for "About" dialog (translated)
+aboutText=%featureText
+
+# Property "featureImage" contains path to feature image (32x32)
+featureImage=modeling32.png
+
+# Property "appName" contains name of the application (translated)
+appName=%featureName
+
+# Property "welcomePage" contains path to welcome page (special XML-based format)
+#welcomePage=$nl$/welcome.xml
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/about.properties b/hibernate/org.eclipse.emf.teneo.hibernate.examples/about.properties
new file mode 100755
index 000000000..08c2afb85
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/about.properties
@@ -0,0 +1,46 @@
+#/**
+# * <copyright>
+# *
+# * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+# * All rights reserved. This program and the accompanying materials
+# * are made available under the terms of the Eclipse Public License v1.0
+# * which accompanies this distribution, and is available at
+# * http://www.eclipse.org/legal/epl-v10.html
+# *
+# * Contributors:
+# * Martin Taal - Initial API and implementation
+# *
+# * </copyright>
+# *
+# * $Id: about.properties,v 1.2 2010/03/02 06:08:36 mtaal Exp $
+# */
+
+# NLS_MESSAGEFORMAT_VAR
+
+# ==============================================================================
+# Do not change the properties between this line and the last line containing:
+# %%% END OF TRANSLATED PROPERTIES %%%
+# Instead, either redefine an existing property, or create a new property,
+# append it to the end of the file, and change the code to use the new name.
+# ==============================================================================
+
+# about.properties
+# contains externalized strings for about.ini
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# fill-ins are supplied by about.mappings
+# This file should be translated.
+
+featureName=Eclipse Modeling Framework Technology Object Relational Persistence
+
+featureText=Eclipse Modeling Framework Technology Object Relational Persistence \n\
+Version: {featureVersion}\n\
+Build id: {0}\n\
+\n\
+(c) Copyright Springsite BV (The Netherlands) and others. 2006 - 2009. All rights reserved.\n\
+\n\
+Visit http://www.eclipse.org/emft
+
+# ==============================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# The above properties have been shipped for translation.
+# ==============================================================================
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/build.properties b/hibernate/org.eclipse.emf.teneo.hibernate.examples/build.properties
new file mode 100755
index 000000000..23f30bc21
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/build.properties
@@ -0,0 +1,15 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id: build.properties,v 1.3 2010/03/03 15:21:55 mtaal Exp $
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ src/org/eclipse/emf/teneo/hibernate/examples/annotations.xml
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/copyright.txt b/hibernate/org.eclipse.emf.teneo.hibernate.examples/copyright.txt
new file mode 100755
index 000000000..2578d24ab
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/copyright.txt
@@ -0,0 +1,8 @@
+Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
+
+Contributors:
+ Martin Taal
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/epl-v10.html b/hibernate/org.eclipse.emf.teneo.hibernate.examples/epl-v10.html
new file mode 100755
index 000000000..d7b88e941
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/epl-v10.html
@@ -0,0 +1,319 @@
+<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="ProgId" content="Word.Document">
+<meta name="Generator" content="Microsoft Word 9">
+<meta name="Originator" content="Microsoft Word 9">
+<link rel="File-List" href="http://www.eclipse.org/org/documents/Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml"><title>Eclipse Public License - Version 1.0</title><!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+ <o:Revision>2</o:Revision>
+ <o:TotalTime>3</o:TotalTime>
+ <o:Created>2004-03-05T23:03:00Z</o:Created>
+ <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
+ <o:Pages>4</o:Pages>
+ <o:Words>1626</o:Words>
+ <o:Characters>9270</o:Characters>
+ <o:Lines>77</o:Lines>
+ <o:Paragraphs>18</o:Paragraphs>
+ <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
+ <o:Version>9.4402</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+ <w:TrackRevisions/>
+ </w:WordDocument>
+</xml><![endif]-->
+
+
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+ {font-family:Tahoma;
+ panose-1:2 11 6 4 3 5 4 4 2 4;
+ mso-font-charset:0;
+ mso-generic-font-family:swiss;
+ mso-font-pitch:variable;
+ mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+ {mso-style-parent:"";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";}
+p
+ {margin-right:0in;
+ mso-margin-top-alt:auto;
+ mso-margin-bottom-alt:auto;
+ margin-left:0in;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";}
+p.BalloonText, li.BalloonText, div.BalloonText
+ {mso-style-name:"Balloon Text";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:8.0pt;
+ font-family:Tahoma;
+ mso-fareast-font-family:"Times New Roman";}
+@page Section1
+ {size:8.5in 11.0in;
+ margin:1.0in 1.25in 1.0in 1.25in;
+ mso-header-margin:.5in;
+ mso-footer-margin:.5in;
+ mso-paper-source:0;}
+div.Section1
+ {page:Section1;}
+-->
+</style></head>
+
+<body style="" lang="EN-US">
+
+<div class="Section1">
+
+<p style="text-align: center;" align="center"><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style="font-size: 10pt;">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style="font-size: 10pt;">1. DEFINITIONS</span></b> </p>
+
+<p><span style="font-size: 10pt;">"Contribution" means:</span> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear="left">
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
+changes to the Program, and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
+additions to the Program;</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">where
+such changes and/or additions to the Program originate from and are distributed
+by that particular Contributor. A Contribution 'originates' from a Contributor
+if it was added to the Program by such Contributor itself or anyone acting on
+such Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style="font-size: 10pt;">"Contributor" means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style="font-size: 10pt;">"Licensed Patents " mean patent
+claims licensable by a Contributor which are necessarily infringed by the use
+or sale of its Contribution alone or when combined with the Program. </span></p>
+
+<p><span style="font-size: 10pt;">"Program" means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style="font-size: 10pt;">"Recipient" means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style="font-size: 10pt;">2. GRANT OF RIGHTS</span></b> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span style="color: red;"> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style="color: green;"> </span>royalty-free
+patent license under Licensed Patents to make, use, sell, offer to sell, import
+and otherwise transfer the Contribution of such Contributor, if any, in source
+code and object code form. This patent license shall apply to the combination
+of the Contribution and the Program if, at the time the Contribution is added
+by the Contributor, such addition of the Contribution causes such combination
+to be covered by the Licensed Patents. The patent license shall not apply to
+any other combinations which include the Contribution. No hardware per se is
+licensed hereunder. </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">c)
+Recipient understands that although each Contributor grants the licenses to its
+Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">d)
+Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement. </span></p>
+
+<p><b><span style="font-size: 10pt;">3. REQUIREMENTS</span></b> </p>
+
+<p><span style="font-size: 10pt;">A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
+its license agreement:</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
+effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose; </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
+effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages, such
+as lost profits; </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iii)
+states that any provisions which differ from this Agreement are offered by that
+Contributor alone and not by any other party; and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iv)
+states that source code for the Program is available from such Contributor, and
+informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.<span style="color: blue;"> </span></span></p>
+
+<p><span style="font-size: 10pt;">When the Program is made available in source
+code form:</span> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+it must be made available under this Agreement; and </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b) a
+copy of this Agreement must be included with each copy of the Program. </span></p>
+
+<p><span style="font-size: 10pt;">Contributors may not remove or alter any
+copyright notices contained within the Program. </span></p>
+
+<p><span style="font-size: 10pt;">Each Contributor must identify itself as the
+originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution. </span></p>
+
+<p><b><span style="font-size: 10pt;">4. COMMERCIAL DISTRIBUTION</span></b> </p>
+
+<p><span style="font-size: 10pt;">Commercial distributors of software may
+accept certain responsibilities with respect to end users, business partners
+and the like. While this license is intended to facilitate the commercial use
+of the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes the
+Program in a commercial product offering, such Contributor ("Commercial
+Contributor") hereby agrees to defend and indemnify every other
+Contributor ("Indemnified Contributor") against any losses, damages and
+costs (collectively "Losses") arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor to
+the extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may participate
+in any such claim at its own expense.</span> </p>
+
+<p><span style="font-size: 10pt;">For example, a Contributor might include the
+Program in a commercial product offering, Product X. That Contributor is then a
+Commercial Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance claims and
+warranties are such Commercial Contributor's responsibility alone. Under this
+section, the Commercial Contributor would have to defend claims against the
+other Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result, the
+Commercial Contributor must pay those damages.</span> </p>
+
+<p><b><span style="font-size: 10pt;">5. NO WARRANTY</span></b> </p>
+
+<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and distributing the
+Program and assumes all risks associated with its exercise of rights under this
+Agreement , including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations. </span></p>
+
+<p><b><span style="font-size: 10pt;">6. DISCLAIMER OF LIABILITY</span></b> </p>
+
+<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
+THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
+
+<p><b><span style="font-size: 10pt;">7. GENERAL</span></b> </p>
+
+<p><span style="font-size: 10pt;">If any provision of this Agreement is invalid
+or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.</span> </p>
+
+<p><span style="font-size: 10pt;">If Recipient institutes patent litigation
+against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with
+other software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the date
+such litigation is filed. </span></p>
+
+<p><span style="font-size: 10pt;">All Recipient's rights under this Agreement
+shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive. </span></p>
+
+<p><span style="font-size: 10pt;">Everyone is permitted to copy and distribute
+copies of this Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement Steward has
+the right to modify this Agreement. The Eclipse Foundation is the initial
+Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version of
+the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.</span> </p>
+
+<p><span style="font-size: 10pt;">This Agreement is governed by the laws of the
+State of New York and the intellectual property laws of the United States of
+America. No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.</span> </p>
+
+<p class="MsoNormal"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></p>
+
+</div>
+
+</body></html> \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/license.html b/hibernate/org.eclipse.emf.teneo.hibernate.examples/license.html
new file mode 100755
index 000000000..d7b88e941
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/license.html
@@ -0,0 +1,319 @@
+<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="ProgId" content="Word.Document">
+<meta name="Generator" content="Microsoft Word 9">
+<meta name="Originator" content="Microsoft Word 9">
+<link rel="File-List" href="http://www.eclipse.org/org/documents/Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml"><title>Eclipse Public License - Version 1.0</title><!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+ <o:Revision>2</o:Revision>
+ <o:TotalTime>3</o:TotalTime>
+ <o:Created>2004-03-05T23:03:00Z</o:Created>
+ <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
+ <o:Pages>4</o:Pages>
+ <o:Words>1626</o:Words>
+ <o:Characters>9270</o:Characters>
+ <o:Lines>77</o:Lines>
+ <o:Paragraphs>18</o:Paragraphs>
+ <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
+ <o:Version>9.4402</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+ <w:TrackRevisions/>
+ </w:WordDocument>
+</xml><![endif]-->
+
+
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+ {font-family:Tahoma;
+ panose-1:2 11 6 4 3 5 4 4 2 4;
+ mso-font-charset:0;
+ mso-generic-font-family:swiss;
+ mso-font-pitch:variable;
+ mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+ {mso-style-parent:"";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";}
+p
+ {margin-right:0in;
+ mso-margin-top-alt:auto;
+ mso-margin-bottom-alt:auto;
+ margin-left:0in;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";}
+p.BalloonText, li.BalloonText, div.BalloonText
+ {mso-style-name:"Balloon Text";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:8.0pt;
+ font-family:Tahoma;
+ mso-fareast-font-family:"Times New Roman";}
+@page Section1
+ {size:8.5in 11.0in;
+ margin:1.0in 1.25in 1.0in 1.25in;
+ mso-header-margin:.5in;
+ mso-footer-margin:.5in;
+ mso-paper-source:0;}
+div.Section1
+ {page:Section1;}
+-->
+</style></head>
+
+<body style="" lang="EN-US">
+
+<div class="Section1">
+
+<p style="text-align: center;" align="center"><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style="font-size: 10pt;">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style="font-size: 10pt;">1. DEFINITIONS</span></b> </p>
+
+<p><span style="font-size: 10pt;">"Contribution" means:</span> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear="left">
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
+changes to the Program, and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
+additions to the Program;</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">where
+such changes and/or additions to the Program originate from and are distributed
+by that particular Contributor. A Contribution 'originates' from a Contributor
+if it was added to the Program by such Contributor itself or anyone acting on
+such Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style="font-size: 10pt;">"Contributor" means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style="font-size: 10pt;">"Licensed Patents " mean patent
+claims licensable by a Contributor which are necessarily infringed by the use
+or sale of its Contribution alone or when combined with the Program. </span></p>
+
+<p><span style="font-size: 10pt;">"Program" means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style="font-size: 10pt;">"Recipient" means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style="font-size: 10pt;">2. GRANT OF RIGHTS</span></b> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span style="color: red;"> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style="color: green;"> </span>royalty-free
+patent license under Licensed Patents to make, use, sell, offer to sell, import
+and otherwise transfer the Contribution of such Contributor, if any, in source
+code and object code form. This patent license shall apply to the combination
+of the Contribution and the Program if, at the time the Contribution is added
+by the Contributor, such addition of the Contribution causes such combination
+to be covered by the Licensed Patents. The patent license shall not apply to
+any other combinations which include the Contribution. No hardware per se is
+licensed hereunder. </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">c)
+Recipient understands that although each Contributor grants the licenses to its
+Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">d)
+Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement. </span></p>
+
+<p><b><span style="font-size: 10pt;">3. REQUIREMENTS</span></b> </p>
+
+<p><span style="font-size: 10pt;">A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
+its license agreement:</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
+effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose; </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
+effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages, such
+as lost profits; </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iii)
+states that any provisions which differ from this Agreement are offered by that
+Contributor alone and not by any other party; and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iv)
+states that source code for the Program is available from such Contributor, and
+informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.<span style="color: blue;"> </span></span></p>
+
+<p><span style="font-size: 10pt;">When the Program is made available in source
+code form:</span> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+it must be made available under this Agreement; and </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b) a
+copy of this Agreement must be included with each copy of the Program. </span></p>
+
+<p><span style="font-size: 10pt;">Contributors may not remove or alter any
+copyright notices contained within the Program. </span></p>
+
+<p><span style="font-size: 10pt;">Each Contributor must identify itself as the
+originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution. </span></p>
+
+<p><b><span style="font-size: 10pt;">4. COMMERCIAL DISTRIBUTION</span></b> </p>
+
+<p><span style="font-size: 10pt;">Commercial distributors of software may
+accept certain responsibilities with respect to end users, business partners
+and the like. While this license is intended to facilitate the commercial use
+of the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes the
+Program in a commercial product offering, such Contributor ("Commercial
+Contributor") hereby agrees to defend and indemnify every other
+Contributor ("Indemnified Contributor") against any losses, damages and
+costs (collectively "Losses") arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor to
+the extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may participate
+in any such claim at its own expense.</span> </p>
+
+<p><span style="font-size: 10pt;">For example, a Contributor might include the
+Program in a commercial product offering, Product X. That Contributor is then a
+Commercial Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance claims and
+warranties are such Commercial Contributor's responsibility alone. Under this
+section, the Commercial Contributor would have to defend claims against the
+other Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result, the
+Commercial Contributor must pay those damages.</span> </p>
+
+<p><b><span style="font-size: 10pt;">5. NO WARRANTY</span></b> </p>
+
+<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and distributing the
+Program and assumes all risks associated with its exercise of rights under this
+Agreement , including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations. </span></p>
+
+<p><b><span style="font-size: 10pt;">6. DISCLAIMER OF LIABILITY</span></b> </p>
+
+<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
+THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
+
+<p><b><span style="font-size: 10pt;">7. GENERAL</span></b> </p>
+
+<p><span style="font-size: 10pt;">If any provision of this Agreement is invalid
+or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.</span> </p>
+
+<p><span style="font-size: 10pt;">If Recipient institutes patent litigation
+against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with
+other software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the date
+such litigation is filed. </span></p>
+
+<p><span style="font-size: 10pt;">All Recipient's rights under this Agreement
+shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive. </span></p>
+
+<p><span style="font-size: 10pt;">Everyone is permitted to copy and distribute
+copies of this Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement Steward has
+the right to modify this Agreement. The Eclipse Foundation is the initial
+Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version of
+the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.</span> </p>
+
+<p><span style="font-size: 10pt;">This Agreement is governed by the laws of the
+State of New York and the intellectual property laws of the United States of
+America. No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.</span> </p>
+
+<p class="MsoNormal"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></p>
+
+</div>
+
+</body></html> \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/model/extlibrary.ecore b/hibernate/org.eclipse.emf.teneo.hibernate.examples/model/extlibrary.ecore
new file mode 100755
index 000000000..eb66c74f8
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/model/extlibrary.ecore
@@ -0,0 +1,111 @@
+<?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="extlibrary"
+ nsURI="http://www.eclipse.org/emf/teneo/hibernate/examples/extlibrary" nsPrefix="extlib">
+ <eClassifiers xsi:type="ecore:EClass" name="Book" eSuperTypes="#//CirculatingItem">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="pages" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ defaultValueLiteral="100"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" eType="#//BookCategory"
+ unsettable="true">
+ <eAnnotations source="teneo.jpa">
+ <details key="value" value="@Enumerated(ORDINAL)"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="author" lowerBound="1"
+ eType="#//Writer" eOpposite="#//Writer/books"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Library" eSuperTypes="#//Addressable">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="writers" upperBound="-1"
+ eType="#//Writer" volatile="true" transient="true" derived="true" containment="true">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="group" value="#people"/>
+ </eAnnotations>
+ <eAnnotations source="teneo.jpa">
+ <details key="value" value="@IdBag"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="employees" upperBound="-1"
+ eType="#//Employee" volatile="true" transient="true" derived="true" containment="true">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="group" value="#people"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="borrowers" upperBound="-1"
+ eType="#//Borrower" volatile="true" transient="true" derived="true" containment="true">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="group" value="#people"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="stock" ordered="false"
+ upperBound="-1" eType="#//Item" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="books" ordered="false"
+ upperBound="-1" eType="#//Book"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="people" upperBound="-1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="group"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Writer" eSuperTypes="#//Person">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="books" upperBound="-1"
+ eType="#//Book" eOpposite="#//Book/author"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="BookCategory">
+ <eLiterals name="Mystery"/>
+ <eLiterals name="ScienceFiction" value="1"/>
+ <eLiterals name="Biography" value="2"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Item" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="publicationDate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Lendable" abstract="true" interface="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="copies" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="borrowers" ordered="false"
+ upperBound="-1" eType="#//Borrower" eOpposite="#//Borrower/borrowed"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CirculatingItem" abstract="true" eSuperTypes="#//Item #//Lendable"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Periodical" abstract="true" eSuperTypes="#//Item">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="issuesPerYear" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AudioVisualItem" abstract="true" eSuperTypes="#//CirculatingItem">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="minutesLength" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="damaged" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BookOnTape" eSuperTypes="#//AudioVisualItem">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="reader" eType="#//Person"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="bookAuthor" eType="#//Writer">
+ <eAnnotations source="http://annotation.elver.org/JoinColumn">
+ <details key="name" value="BookOnTapeAuthor"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="VideoCassette" eSuperTypes="#//AudioVisualItem">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="cast" upperBound="-1" eType="#//Person"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Borrower" eSuperTypes="#//Person">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="borrowed" upperBound="-1"
+ eType="#//Lendable" eOpposite="#//Lendable/borrowers"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Person" eSuperTypes="#//Addressable">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="firstName" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="lastName" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Employee" eSuperTypes="#//Person">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="manager" eType="#//Employee"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Addressable" abstract="true" interface="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="address" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/model/extlibrary.genmodel b/hibernate/org.eclipse.emf.teneo.hibernate.examples/model/extlibrary.genmodel
new file mode 100644
index 000000000..b6f28cf87
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/model/extlibrary.genmodel
@@ -0,0 +1,74 @@
+<?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="/org.eclipse.emf.teneo.hibernate.examples/src"
+ modelPluginID="org.eclipse.emf.teneo.hibernate.examples" modelName="Extlibrary"
+ importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false">
+ <foreignModel>extlibrary.ecore</foreignModel>
+ <genPackages prefix="Extlibrary" basePackage="org.eclipse.emf.teneo.hibernate.examples"
+ resource="XML" disposableProviderFactory="true" ecorePackage="extlibrary.ecore#/">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="extlibrary.ecore#//BookCategory">
+ <genEnumLiterals ecoreEnumLiteral="extlibrary.ecore#//BookCategory/Mystery"/>
+ <genEnumLiterals ecoreEnumLiteral="extlibrary.ecore#//BookCategory/ScienceFiction"/>
+ <genEnumLiterals ecoreEnumLiteral="extlibrary.ecore#//BookCategory/Biography"/>
+ </genEnums>
+ <genClasses ecoreClass="extlibrary.ecore#//Book">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute extlibrary.ecore#//Book/title"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute extlibrary.ecore#//Book/pages"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute extlibrary.ecore#//Book/category"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference extlibrary.ecore#//Book/author"/>
+ </genClasses>
+ <genClasses ecoreClass="extlibrary.ecore#//Library">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute extlibrary.ecore#//Library/name"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference extlibrary.ecore#//Library/writers"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference extlibrary.ecore#//Library/employees"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference extlibrary.ecore#//Library/borrowers"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference extlibrary.ecore#//Library/stock"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference extlibrary.ecore#//Library/books"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference extlibrary.ecore#//Library/branches"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference extlibrary.ecore#//Library/parentBranch"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute extlibrary.ecore#//Library/people"/>
+ </genClasses>
+ <genClasses ecoreClass="extlibrary.ecore#//Writer">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute extlibrary.ecore#//Writer/name"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference extlibrary.ecore#//Writer/books"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="extlibrary.ecore#//Item">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute extlibrary.ecore#//Item/publicationDate"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="extlibrary.ecore#//Lendable">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute extlibrary.ecore#//Lendable/copies"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference extlibrary.ecore#//Lendable/borrowers"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="extlibrary.ecore#//CirculatingItem"/>
+ <genClasses image="false" ecoreClass="extlibrary.ecore#//Periodical">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute extlibrary.ecore#//Periodical/title"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute extlibrary.ecore#//Periodical/issuesPerYear"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="extlibrary.ecore#//AudioVisualItem">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute extlibrary.ecore#//AudioVisualItem/title"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute extlibrary.ecore#//AudioVisualItem/minutesLength"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute extlibrary.ecore#//AudioVisualItem/damaged"/>
+ </genClasses>
+ <genClasses ecoreClass="extlibrary.ecore#//BookOnTape">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference extlibrary.ecore#//BookOnTape/reader"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference extlibrary.ecore#//BookOnTape/bookAuthor"/>
+ </genClasses>
+ <genClasses ecoreClass="extlibrary.ecore#//VideoCassette">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference extlibrary.ecore#//VideoCassette/cast"/>
+ </genClasses>
+ <genClasses ecoreClass="extlibrary.ecore#//Borrower">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference extlibrary.ecore#//Borrower/borrowed"/>
+ </genClasses>
+ <genClasses ecoreClass="extlibrary.ecore#//Person">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute extlibrary.ecore#//Person/firstName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute extlibrary.ecore#//Person/lastName"/>
+ </genClasses>
+ <genClasses ecoreClass="extlibrary.ecore#//Employee">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference extlibrary.ecore#//Employee/manager"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="extlibrary.ecore#//Addressable">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute extlibrary.ecore#//Addressable/address"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/modeling32.png b/hibernate/org.eclipse.emf.teneo.hibernate.examples/modeling32.png
new file mode 100755
index 000000000..6b08de2ad
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/modeling32.png
Binary files differ
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/plugin.properties b/hibernate/org.eclipse.emf.teneo.hibernate.examples/plugin.properties
new file mode 100755
index 000000000..feb81d53f
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/plugin.properties
@@ -0,0 +1,34 @@
+#/**
+# * <copyright>
+# *
+# * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+# * All rights reserved. This program and the accompanying materials
+# * are made available under the terms of the Eclipse Public License v1.0
+# * which accompanies this distribution, and is available at
+# * http://www.eclipse.org/legal/epl-v10.html
+# *
+# * Contributors:
+# * Martin Taal - Initial API and implementation
+# *
+# * </copyright>
+# *
+# * $Id: plugin.properties,v 1.2 2010/03/02 06:08:36 mtaal Exp $
+# */
+
+# NLS_MESSAGEFORMAT_VAR
+
+# ==============================================================================
+# Do not change the properties between this line and the last line containing:
+# %%% END OF TRANSLATED PROPERTIES %%%
+# Instead, either redefine an existing property, or create a new property,
+# append it to the end of the file, and change the code to use the new name.
+# ==============================================================================
+
+pluginName = Teneo Hibernate Examples
+pluginProvider = Eclipse.org
+
+# ==============================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# The above properties have been shipped for translation.
+# ==============================================================================
+providerName = www.example.org
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/plugin.xml b/hibernate/org.eclipse.emf.teneo.hibernate.examples/plugin.xml
new file mode 100755
index 000000000..2f0e39eaf
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/plugin.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id: plugin.xml,v 1.3 2010/03/03 14:34:11 mtaal Exp $
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri="http://www.eclipse.org/emf/teneo/hibernate/examples/extlibrary"
+ class="extlibrary.ExtlibraryPackage"
+ genModel="model/extlibrary.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="extlibrary"
+ class="org.eclipse.emf.teneo.hibernate.resource.HibernateResourceFactory"/>
+ </extension>
+
+</plugin>
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/Dynamic.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/Dynamic.java
new file mode 100755
index 000000000..c69ca3d56
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/Dynamic.java
@@ -0,0 +1,207 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010 Springsite BV (The Netherlands) and others
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Taal
+ * </copyright>
+ *
+ * $Id: Dynamic.java,v 1.4 2010/03/03 13:26:20 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.hibernate.examples;
+
+import java.io.IOException;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.EMap;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.change.ChangeDescription;
+import org.eclipse.emf.ecore.change.FeatureChange;
+import org.eclipse.emf.ecore.change.util.ChangeRecorder;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.teneo.hibernate.HbDataStore;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Book;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.BookCategory;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryFactory;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Writer;
+import org.hibernate.Query;
+import org.hibernate.Session;
+import org.hibernate.SessionFactory;
+import org.hibernate.Transaction;
+
+/**
+ * Dynamic Tutorial
+ *
+ * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
+ * @version $Revision: 1.4 $
+ */
+public class Dynamic {
+
+ /** The main method */
+ public static void main(String[] args) {
+
+ // first do the quick start with the correct dbname
+ HbDataStore hbds = QuickStart.doQuickStart("DynamicLibrary");
+
+ final EcoreFactory efactory = EcoreFactory.eINSTANCE;
+ final EcorePackage epackage = EcorePackage.eINSTANCE;
+
+ // This tutorial will create a new type of book which inherits from the
+ // standard
+ // Book
+
+ // create the SchoolBook EClass
+ EClass schoolBookEClass = efactory.createEClass();
+ schoolBookEClass.setName("SchoolBook");
+
+ // create a new attribute for this EClass
+ EAttribute level = efactory.createEAttribute();
+ level.setName("level");
+ level.setEType(epackage.getEInt());
+ schoolBookEClass.getEStructuralFeatures().add(level);
+
+ // Set the supertype of SchoolBook to the Book
+ schoolBookEClass.getESuperTypes().add(ExtlibraryPackage.eINSTANCE.getBook());
+
+ // create a course
+ EClass courseEClass = efactory.createEClass();
+ courseEClass.setName("Course");
+
+ // give the Course a name
+ EAttribute courseName = efactory.createEAttribute();
+ courseName.setName("courseName");
+ courseName.setEType(epackage.getEString());
+ courseEClass.getEStructuralFeatures().add(courseName);
+
+ // A course always uses one SchoolBook
+ EReference courseBook = efactory.createEReference();
+ courseBook.setName("courseBook");
+ courseBook.setEType(schoolBookEClass);
+ courseBook.setContainment(false);
+ courseEClass.getEStructuralFeatures().add(courseBook);
+
+ // Create a new EPackage and add the new EClasses
+ EPackage schoolPackage = efactory.createEPackage();
+ schoolPackage.setName("elv");
+ schoolPackage.setNsPrefix("elv");
+ schoolPackage.setNsURI("http:///www.elver.org/School");
+ schoolPackage.getEClassifiers().add(courseEClass);
+ schoolPackage.getEClassifiers().add(schoolBookEClass);
+ EPackage.Registry.INSTANCE.put(schoolPackage.getNsURI(), schoolPackage);
+
+ // Now reset the epackages in the datastore
+ hbds.setEPackages(new EPackage[] { ExtlibraryPackage.eINSTANCE, schoolPackage });
+
+ // recreate the database
+ hbds.initialize();
+
+ // print the hibernate.hbm.xml for demo purposes
+ System.err.println(hbds.getMappingXML());
+
+ // Now create an author, is used below
+ Writer writer = ExtlibraryFactory.eINSTANCE.createWriter();
+ writer.setName("Teacher");
+
+ // now create a schoolBook
+ // NOTE: because schoolBook inherits from Book, the create method will
+ // return a Book
+ Book bk = (Book) schoolPackage.getEFactoryInstance().create(schoolBookEClass);
+ bk.setAuthor(writer);
+ bk.setTitle("Biografie van Multatuli");
+ bk.setCategory(BookCategory.BIOGRAPHY);
+ bk.setPages(500);
+ bk.eSet(level, new Integer(1));
+
+ // and create a course
+ EObject course = schoolPackage.getEFactoryInstance().create(courseEClass);
+ course.eSet(courseName, "Dutch Literature Level 1");
+ course.eSet(courseBook, bk);
+
+ final SessionFactory sessionFactory = hbds.getSessionFactory();
+
+ // now persist them all
+
+ Session session = sessionFactory.openSession();
+ Transaction tx = session.getTransaction();
+ tx.begin();
+ session.save(bk);
+ session.save(writer);
+ session.save(course);
+ tx.commit();
+
+ // Now query for the books, at least one of them should be a SchoolBook
+ tx.begin();
+ Query qry = session.createQuery("from Book");
+ List<?> list = qry.list();
+ Book schoolBook = null;
+ for (Iterator<?> it = list.iterator(); it.hasNext();) {
+ Book book = (Book) it.next();
+ if (book.eClass() == schoolBookEClass) {
+ if (schoolBook != null) {
+ throw new Error("More than one schoolbook? Was the database not empty?");
+ }
+ schoolBook = book;
+ }
+ }
+ if (schoolBook == null) {
+ throw new Error("No schoolbook??");
+ }
+
+ // now query for all courses the right name
+ qry = session.createQuery("from Course where courseName='Dutch Literature Level 1'");
+ list = qry.list();
+ EObject eobject = (EObject) list.get(0);
+ if (eobject.eClass() != courseEClass) {
+ throw new Error("No Course?");
+ }
+ // the schoolBook should be the book of the course
+ Book courseBk = (Book) eobject.eGet(courseBook);
+ if (courseBk != schoolBook) {
+ throw new Error("No schoolbook?");
+ }
+ // and the dynamic feature level should be 1
+ if (((Integer) courseBk.eGet(level)).intValue() != 1) {
+ throw new Error("Incorrect level?");
+ }
+
+ tx.commit();
+ session.close();
+
+ URI uri1 = URI.createURI("hibernate://?dsname=Library&query1=FROM Course");
+ Resource res1 = new ResourceSetImpl().createResource(uri1);
+ try {
+ res1.load(Collections.EMPTY_MAP);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ eobject = res1.getContents().get(0);
+ ChangeRecorder cr = new ChangeRecorder(res1);
+ eobject.eSet(courseName, "English 1");
+ System.out.println(eobject);
+
+ ChangeDescription changeDescription = cr.endRecording();
+
+ EMap<EObject, EList<FeatureChange>> objectChanges = changeDescription.getObjectChanges();
+ System.out.println("change size: " + objectChanges.size());
+ course.eSet(courseName, "Dutch Literature Level 1");
+ }
+}
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/QuickStart.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/QuickStart.java
new file mode 100755
index 000000000..1c9d1e162
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/QuickStart.java
@@ -0,0 +1,143 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010 Springsite BV (The Netherlands) and others
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Taal
+ * </copyright>
+ *
+ * $Id: QuickStart.java,v 1.7 2010/11/11 10:28:15 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.hibernate.examples;
+
+import java.util.Properties;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.teneo.PersistenceOptions;
+import org.eclipse.emf.teneo.hibernate.HbDataStore;
+import org.eclipse.emf.teneo.hibernate.HbHelper;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Book;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.BookCategory;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryFactory;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Library;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Writer;
+import org.hibernate.Session;
+import org.hibernate.SessionFactory;
+import org.hibernate.Transaction;
+import org.hibernate.cfg.Environment;
+
+/**
+ * Quick Start Tutorial for the <a
+ * href="http://wiki.eclipse.org/Teneo">Teneo</a> project.
+ *
+ * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
+ * @version $Revision: 1.7 $
+ */
+public class QuickStart {
+
+ /** The main method */
+ public static void main(String[] args) {
+ // the name of the database, this database should exist but does not
+ // need to contain tables
+ String dbName = "library";
+ doQuickStart(dbName); // ignore return
+ }
+
+ /**
+ * The method performing the real action. This method is used by other
+ * tutorials therefore has it been made public and expects the database name
+ * and returns an instance of the HbDataStore.
+ */
+ public static HbDataStore doQuickStart(String dbName) {
+
+ // The hibernate properties can be set by having a hibernate.properties
+ // file in the root of
+ // the classpath.
+ // Another approach is setting the properties in the HbDataStore.
+ // For more information see section 3.1 of the Hibernate manual
+ final Properties props = new Properties();
+ // props.setProperty(Environment.DRIVER, "com.mysql.jdbc.Driver");
+ // props.setProperty(Environment.USER, "root");
+ // props.setProperty(Environment.URL, "jdbc:mysql://127.0.0.1:3306/" +
+ // dbName);
+ // props.setProperty(Environment.PASS, "root");
+ // props.setProperty(Environment.DIALECT,
+ // org.hibernate.dialect.MySQLInnoDBDialect.class.getName());
+
+ props.setProperty(Environment.DRIVER, "org.hsqldb.jdbcDriver");
+ props.setProperty(Environment.USER, "sa");
+ props.setProperty(Environment.URL, "jdbc:hsqldb:mem:library");
+ props.setProperty(Environment.PASS, "");
+ props.setProperty(Environment.DIALECT,
+ org.hibernate.dialect.HSQLDialect.class.getName());
+
+ // set a specific option
+ // see this page
+ // http://wiki.eclipse.org/Teneo/Hibernate/Configuration_Options
+ // for all the available options
+ props.setProperty(PersistenceOptions.CASCADE_POLICY_ON_NON_CONTAINMENT,
+ "REFRESH,PERSIST,MERGE");
+
+ // the name of the session factory
+ String hbName = "Library";
+ // create the HbDataStore using the name
+ final HbDataStore hbds = HbHelper.INSTANCE
+ .createRegisterDataStore(hbName);
+
+ // set the properties
+ hbds.setDataStoreProperties(props);
+
+ // sets its epackages stored in this datastore
+ hbds.setEPackages(new EPackage[] { ExtlibraryPackage.eINSTANCE });
+
+ // initialize, also creates the database tables
+ try {
+ hbds.initialize();
+ } finally {
+ // print the generated mapping
+ System.err.println(hbds.getMappingXML());
+ }
+
+ SessionFactory sessionFactory = hbds.getSessionFactory();
+
+ // Create a session and a transaction
+ Session session = sessionFactory.openSession();
+ Transaction tx = session.getTransaction();
+
+ // Start a transaction, create a library and make it persistent
+ tx.begin();
+ Library lib = ExtlibraryFactory.eINSTANCE.createLibrary();
+ lib.setName("My Library");
+ session.save(lib);
+
+ // create a writer
+ Writer writer = ExtlibraryFactory.eINSTANCE.createWriter();
+ writer.setName("JRR Tolkien");
+
+ // and one of his books
+ Book book = ExtlibraryFactory.eINSTANCE.createBook();
+ book.setAuthor(writer);
+ book.setPages(305);
+ book.setTitle("The Hobbit");
+ book.setCategory(BookCategory.SCIENCE_FICTION);
+ session.save(book);
+
+ // add the writer/book to the library.
+ lib.getWriters().add(writer);
+ lib.getBooks().add(book);
+
+ // at commit the objects will be present in the database
+ tx.commit();
+ // and close of, this should actually be done in a finally block
+ session.close();
+
+ return hbds;
+ }
+} \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/Tutorial.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/Tutorial.java
new file mode 100755
index 000000000..dcae6234a
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/Tutorial.java
@@ -0,0 +1,282 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010 Springsite BV (The Netherlands) and others
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Taal
+ * </copyright>
+ *
+ * $Id: Tutorial.java,v 1.4 2010/11/11 10:28:15 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.hibernate.examples;
+
+import java.io.IOException;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.teneo.PersistenceOptions;
+import org.eclipse.emf.teneo.hibernate.HbDataStore;
+import org.eclipse.emf.teneo.hibernate.HbHelper;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Book;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.BookCategory;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryFactory;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Library;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Writer;
+import org.eclipse.emf.teneo.hibernate.resource.HibernateResource;
+import org.hibernate.Query;
+import org.hibernate.Session;
+import org.hibernate.SessionFactory;
+import org.hibernate.cfg.Environment;
+
+/**
+ * Quick Start Tutorial
+ *
+ * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
+ * @version $Revision: 1.4 $
+ */
+public class Tutorial {
+
+ /** The main method */
+ public static void main(String[] args) {
+
+ // To configure Hibernate, supply properties describing the JDBC driver,
+ // URL, username/password and SQL dialect.
+ // By default the properties are obtained from the file
+ // "hibernate.properties" at the classpath root.
+ //
+ // Alternatively, you can set the properties programmatically:
+ //
+ // For more information see <a
+ // href="http://www.hibernate.org/hib_docs/v3/reference/en/html/session-configuration.html#configuration-programmatic">
+ // section 3.1 of the Hibernate manual</a>.
+ //
+ Properties hibernateProperties = new Properties();
+ //
+ // 1) From a ".properties" file or stream.
+ // InputStream in = ...
+ // hibernateProperties.load(in);
+ //
+ // 2) or populated manually:
+ // hibernateProperties.setProperty(Environment.DRIVER,
+ // "com.mysql.jdbc.Driver");
+ // hibernateProperties.setProperty(Environment.USER, "root");
+ // hibernateProperties.setProperty(Environment.URL,
+ // "jdbc:mysql://127.0.0.1:3306/library");
+ // hibernateProperties.setProperty(Environment.PASS, "root");
+ // hibernateProperties.setProperty(Environment.DIALECT,
+ // "org.hibernate.dialect.MySQLInnoDBDialect");
+
+ hibernateProperties.setProperty(Environment.DRIVER,
+ "org.hsqldb.jdbcDriver");
+ hibernateProperties.setProperty(Environment.USER, "sa");
+ hibernateProperties.setProperty(Environment.URL,
+ "jdbc:hsqldb:mem:library");
+ hibernateProperties.setProperty(Environment.PASS, "");
+ hibernateProperties.setProperty(Environment.DIALECT,
+ org.hibernate.dialect.HSQLDialect.class.getName());
+
+ // set a specific option
+ // see this page
+ // http://wiki.eclipse.org/Teneo/Hibernate/Configuration_Options
+ // for all the available options
+ hibernateProperties.setProperty(
+ PersistenceOptions.CASCADE_POLICY_ON_NON_CONTAINMENT,
+ "REFRESH,PERSIST,MERGE");
+
+ // use the joined inheritance mapping
+ hibernateProperties.setProperty(PersistenceOptions.INHERITANCE_MAPPING,
+ "JOINED");
+
+ // use an annotations file as an example
+ // this lets the library use a special table
+ hibernateProperties.setProperty(PersistenceOptions.PERSISTENCE_XML,
+ "org/eclipse/emf/teneo/hibernate/examples/annotations.xml");
+
+ // Create the DataStore.
+ final String dataStoreName = "LibraryDataStore";
+ final HbDataStore dataStore = HbHelper.INSTANCE
+ .createRegisterDataStore(dataStoreName);
+ dataStore.setDataStoreProperties(hibernateProperties);
+
+ // Configure the EPackages used by this DataStore.
+ dataStore.setEPackages(new EPackage[] { ExtlibraryPackage.eINSTANCE });
+
+ // Initialize the DataStore. This sets up the Hibernate mapping and, in
+ // turn, creates the corresponding tables in the database.
+ try {
+ dataStore.initialize();
+ } finally {
+ // print the hibernate mapping
+ System.err.println(dataStore.getMappingXML());
+ }
+
+ final SessionFactory sessionFactory = dataStore.getSessionFactory();
+ {
+ // Open a new Session and start transaction.
+ final Session session = sessionFactory.openSession();
+ session.beginTransaction();
+
+ // Create a library.
+ Library library = ExtlibraryFactory.eINSTANCE.createLibrary();
+ library.setName("My Library");
+ // Make it persistent.
+ session.save(library);
+
+ // Create a writer...
+ Writer writer = ExtlibraryFactory.eINSTANCE.createWriter();
+ writer.setName("JRR Tolkien");
+ writer.setFirstName("John");
+ writer.setLastName("Tolkien");
+
+ // ...and one of his books.
+ Book book = ExtlibraryFactory.eINSTANCE.createBook();
+ book.setAuthor(writer);
+ book.setPages(305);
+ book.setTitle("The Hobbit");
+ book.setCategory(BookCategory.SCIENCE_FICTION);
+
+ // Add the Writer and Book to the Library.
+ library.getWriters().add(writer);
+ library.getBooks().add(book);
+ session.save(book);
+
+ // Commit the changes to the database.
+ session.getTransaction().commit();
+ // Close the session. Not necessary if
+ session.close();
+ }
+
+ {
+ final Session session = sessionFactory.openSession();
+ session.beginTransaction();
+
+ // Retrieve the Library and its child objects.
+ // Note that you must use the EClass name in the HQL query.
+ Query query = session.createQuery("FROM Library");
+ List<?> libraries = query.list();
+ Library library = (Library) libraries.get(0);
+
+ // Obtain the Writer and Book
+ Writer writer = library.getWriters().get(0);
+ System.out.println(writer.getName());
+ Book book = library.getBooks().get(0);
+ System.out.println(book.getTitle());
+
+ // Verify that the eContainer and references are set correctly.
+ assert (book.eContainer() == library);
+ assert (writer.getBooks().get(0) == book);
+
+ // Add a new Writer and Book
+ Writer georgeOrwell = ExtlibraryFactory.eINSTANCE.createWriter();
+ georgeOrwell.setName("G. Orwell");
+ georgeOrwell.setFirstName("George");
+ georgeOrwell.setLastName("Orwell");
+
+ // Create a new Book and set the Writer and Library.
+ Book georgesBook = ExtlibraryFactory.eINSTANCE.createBook();
+ georgesBook.setPages(250);
+ georgesBook.setTitle("1984");
+ georgesBook.setCategory(BookCategory.SCIENCE_FICTION);
+ georgesBook.setAuthor(georgeOrwell);
+
+ library.getBooks().add(georgesBook);
+ library.getWriters().add(georgeOrwell);
+
+ // Commit.
+ session.getTransaction().commit();
+ session.close();
+ }
+
+ {
+ final Session session = sessionFactory.openSession();
+ session.beginTransaction();
+
+ // Retrieve all Books and display their titles.
+ Query query = session.createQuery("FROM Book");
+ List<?> books = query.list();
+ for (Iterator<?> it = books.iterator(); it.hasNext();) {
+ Book book = (Book) it.next();
+ System.out.println(book.getTitle());
+ }
+
+ // Retrieve George Orwell's book.
+ query = session
+ .createQuery("SELECT book FROM Book book, Writer writ WHERE "
+ + " book.title='1984' AND book.author=writ AND writ.name='G. Orwell'");
+ books = query.list();
+
+ // Show some results
+ System.out
+ .println("There are " + books.size() + " in the Library.");
+ System.out.println(books.get(0).getClass().getName());
+ Book book = (Book) books.get(0);
+ System.out.println(book.getTitle());
+ System.out.println(book.getAuthor().getName());
+
+ // Count the number of books in the library
+ query = session
+ .createQuery("SELECT count(allbooks) FROM Library lib LEFT JOIN lib.books AS allbooks "
+ + " WHERE lib.name='My Library'");
+ int count = ((Number) query.uniqueResult()).intValue();
+ System.out.println("There are " + count + " books in the library");
+ session.getTransaction().commit();
+ }
+
+ try {
+ String uriStr = "hibernate://?" + HibernateResource.DS_NAME_PARAM
+ + "=" + dataStoreName;
+ final URI uri = URI.createURI(uriStr);
+ ResourceSet resourceSet = new ResourceSetImpl();
+ final Resource res = resourceSet.createResource(uri);
+
+ res.load(Collections.EMPTY_MAP);
+ Iterator<?> it = res.getContents().iterator();
+ Library libTest;
+ while (it.hasNext()) {
+ libTest = (Library) it.next();
+ System.out.println(libTest.getName());
+ }
+
+ Library libNew = ExtlibraryFactory.eINSTANCE.createLibrary();
+ libNew.setName("My Second Library");
+
+ // create a writer
+ Writer writerNew = ExtlibraryFactory.eINSTANCE.createWriter();
+ writerNew.setName("I. Asimov");
+ writerNew.setFirstName("Isaac");
+ writerNew.setLastName("Asimov");
+
+ // and one of his books
+ Book bookNew = ExtlibraryFactory.eINSTANCE.createBook();
+ bookNew.setAuthor(writerNew);
+ bookNew.setPages(305);
+ bookNew.setTitle("Foundation and Empire");
+ bookNew.setCategory(BookCategory.SCIENCE_FICTION);
+
+ // add the writer/book to the library.
+ libNew.getWriters().add(writerNew);
+ libNew.getBooks().add(bookNew);
+
+ // now add the top-level object to the resource
+ res.getContents().add(libNew);
+
+ res.save(null);
+ } catch (IOException e) {
+ throw new Error("IOException", e);
+ }
+ }
+}
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/annotations.xml b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/annotations.xml
new file mode 100644
index 000000000..642806084
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/annotations.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<persistence-mapping xmlns="http://www.eclipse.org/emft/teneo"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <epackage namespace-uri="http://www.eclipse.org/emf/teneo/hibernate/examples/extlibrary">
+ <eclass name="Library">
+ <table name="theLibraryTable"/>
+ </eclass>
+ </epackage>
+</persistence-mapping> \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Addressable.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Addressable.java
new file mode 100755
index 000000000..4c50acdb1
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Addressable.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Addressable.java,v 1.2 2010/03/02 06:08:39 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Addressable</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Addressable#getAddress <em>Address</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getAddressable()
+ * @model interface="true" abstract="true"
+ * @generated
+ */
+public interface Addressable extends EObject {
+ /**
+ * Returns the value of the '<em><b>Address</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Address</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Address</em>' attribute.
+ * @see #setAddress(String)
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getAddressable_Address()
+ * @model
+ * @generated
+ */
+ String getAddress();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Addressable#getAddress <em>Address</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Address</em>' attribute.
+ * @see #getAddress()
+ * @generated
+ */
+ void setAddress(String value);
+
+} // Addressable
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/AudioVisualItem.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/AudioVisualItem.java
new file mode 100755
index 000000000..fb4cc84cd
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/AudioVisualItem.java
@@ -0,0 +1,107 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: AudioVisualItem.java,v 1.2 2010/03/02 06:08:40 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Audio Visual Item</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.AudioVisualItem#getTitle <em>Title</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.AudioVisualItem#getMinutesLength <em>Minutes Length</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.AudioVisualItem#isDamaged <em>Damaged</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getAudioVisualItem()
+ * @model abstract="true"
+ * @generated
+ */
+public interface AudioVisualItem extends CirculatingItem {
+ /**
+ * 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.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getAudioVisualItem_Title()
+ * @model
+ * @generated
+ */
+ String getTitle();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.AudioVisualItem#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>Minutes Length</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Minutes Length</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Minutes Length</em>' attribute.
+ * @see #setMinutesLength(int)
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getAudioVisualItem_MinutesLength()
+ * @model required="true"
+ * @generated
+ */
+ int getMinutesLength();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.AudioVisualItem#getMinutesLength <em>Minutes Length</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Minutes Length</em>' attribute.
+ * @see #getMinutesLength()
+ * @generated
+ */
+ void setMinutesLength(int value);
+
+ /**
+ * Returns the value of the '<em><b>Damaged</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Damaged</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Damaged</em>' attribute.
+ * @see #setDamaged(boolean)
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getAudioVisualItem_Damaged()
+ * @model
+ * @generated
+ */
+ boolean isDamaged();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.AudioVisualItem#isDamaged <em>Damaged</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Damaged</em>' attribute.
+ * @see #isDamaged()
+ * @generated
+ */
+ void setDamaged(boolean value);
+
+} // AudioVisualItem
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Book.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Book.java
new file mode 100755
index 000000000..c2dbfd51a
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Book.java
@@ -0,0 +1,168 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Book.java,v 1.2 2010/03/02 06:08:38 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary;
+
+
+/**
+ * <!-- 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.emf.teneo.hibernate.examples.extlibrary.Book#getTitle <em>Title</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Book#getPages <em>Pages</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Book#getCategory <em>Category</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Book#getAuthor <em>Author</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getBook()
+ * @model
+ * @generated
+ */
+public interface Book extends CirculatingItem {
+ /**
+ * 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.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getBook_Title()
+ * @model
+ * @generated
+ */
+ String getTitle();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.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.
+ * The default value is <code>"100"</code>.
+ * <!-- 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 #setPages(int)
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getBook_Pages()
+ * @model default="100"
+ * @generated
+ */
+ int getPages();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Book#getPages <em>Pages</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Pages</em>' attribute.
+ * @see #getPages()
+ * @generated
+ */
+ void setPages(int value);
+
+ /**
+ * Returns the value of the '<em><b>Category</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.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.emf.teneo.hibernate.examples.extlibrary.BookCategory
+ * @see #isSetCategory()
+ * @see #unsetCategory()
+ * @see #setCategory(BookCategory)
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getBook_Category()
+ * @model unsettable="true"
+ * annotation="teneo.jpa value='@Enumerated(ORDINAL)'"
+ * @generated
+ */
+ BookCategory getCategory();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.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.emf.teneo.hibernate.examples.extlibrary.BookCategory
+ * @see #isSetCategory()
+ * @see #unsetCategory()
+ * @see #getCategory()
+ * @generated
+ */
+ void setCategory(BookCategory value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.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.emf.teneo.hibernate.examples.extlibrary.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.emf.teneo.hibernate.examples.extlibrary.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.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getBook_Author()
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Writer#getBooks
+ * @model opposite="books" required="true"
+ * @generated
+ */
+ Writer getAuthor();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.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
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/BookCategory.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/BookCategory.java
new file mode 100755
index 000000000..6bad32ced
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/BookCategory.java
@@ -0,0 +1,239 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: BookCategory.java,v 1.2 2010/03/02 06:08:39 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- 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.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getBookCategory()
+ * @model
+ * @generated
+ */
+public enum BookCategory implements Enumerator {
+ /**
+ * The '<em><b>Mystery</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #MYSTERY_VALUE
+ * @generated
+ * @ordered
+ */
+ MYSTERY(0, "Mystery", "Mystery"),
+
+ /**
+ * The '<em><b>Science Fiction</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SCIENCE_FICTION_VALUE
+ * @generated
+ * @ordered
+ */
+ SCIENCE_FICTION(1, "ScienceFiction", "ScienceFiction"),
+
+ /**
+ * The '<em><b>Biography</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #BIOGRAPHY_VALUE
+ * @generated
+ * @ordered
+ */
+ BIOGRAPHY(2, "Biography", "Biography");
+
+ /**
+ * 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
+ * @model name="Mystery"
+ * @generated
+ * @ordered
+ */
+ public static final int MYSTERY_VALUE = 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
+ * @model name="ScienceFiction"
+ * @generated
+ * @ordered
+ */
+ public static final int SCIENCE_FICTION_VALUE = 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
+ * @model name="Biography"
+ * @generated
+ * @ordered
+ */
+ public static final int BIOGRAPHY_VALUE = 2;
+
+ /**
+ * 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,
+ SCIENCE_FICTION,
+ BIOGRAPHY,
+ };
+
+ /**
+ * 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<BookCategory> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Book Category</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static BookCategory get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ BookCategory result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Book Category</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static BookCategory getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ BookCategory result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Book Category</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static BookCategory get(int value) {
+ switch (value) {
+ case MYSTERY_VALUE: return MYSTERY;
+ case SCIENCE_FICTION_VALUE: return SCIENCE_FICTION;
+ case BIOGRAPHY_VALUE: return BIOGRAPHY;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private BookCategory(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //BookCategory
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/BookOnTape.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/BookOnTape.java
new file mode 100755
index 000000000..fda95d1de
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/BookOnTape.java
@@ -0,0 +1,80 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: BookOnTape.java,v 1.2 2010/03/02 06:08:39 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Book On Tape</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.BookOnTape#getReader <em>Reader</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.BookOnTape#getBookAuthor <em>Book Author</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getBookOnTape()
+ * @model
+ * @generated
+ */
+public interface BookOnTape extends AudioVisualItem {
+ /**
+ * Returns the value of the '<em><b>Reader</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Reader</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Reader</em>' reference.
+ * @see #setReader(Person)
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getBookOnTape_Reader()
+ * @model
+ * @generated
+ */
+ Person getReader();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.BookOnTape#getReader <em>Reader</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Reader</em>' reference.
+ * @see #getReader()
+ * @generated
+ */
+ void setReader(Person value);
+
+ /**
+ * Returns the value of the '<em><b>Book Author</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Book 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>Book Author</em>' reference.
+ * @see #setBookAuthor(Writer)
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getBookOnTape_BookAuthor()
+ * @model annotation="http://annotation.elver.org/JoinColumn name='BookOnTapeAuthor'"
+ * @generated
+ */
+ Writer getBookAuthor();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.BookOnTape#getBookAuthor <em>Book Author</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Book Author</em>' reference.
+ * @see #getBookAuthor()
+ * @generated
+ */
+ void setBookAuthor(Writer value);
+
+} // BookOnTape
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Borrower.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Borrower.java
new file mode 100755
index 000000000..28ae31503
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Borrower.java
@@ -0,0 +1,46 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Borrower.java,v 1.2 2010/03/02 06:08:40 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Borrower</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Borrower#getBorrowed <em>Borrowed</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getBorrower()
+ * @model
+ * @generated
+ */
+public interface Borrower extends Person {
+ /**
+ * Returns the value of the '<em><b>Borrowed</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Lendable}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Lendable#getBorrowers <em>Borrowers</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Borrowed</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>Borrowed</em>' reference list.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getBorrower_Borrowed()
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Lendable#getBorrowers
+ * @model opposite="borrowers"
+ * @generated
+ */
+ EList<Lendable> getBorrowed();
+
+} // Borrower
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/CirculatingItem.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/CirculatingItem.java
new file mode 100755
index 000000000..93598ac4d
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/CirculatingItem.java
@@ -0,0 +1,21 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: CirculatingItem.java,v 1.2 2010/03/02 06:08:40 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Circulating Item</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getCirculatingItem()
+ * @model abstract="true"
+ * @generated
+ */
+public interface CirculatingItem extends Item, Lendable {
+} // CirculatingItem
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Employee.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Employee.java
new file mode 100755
index 000000000..28348236c
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Employee.java
@@ -0,0 +1,53 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Employee.java,v 1.2 2010/03/02 06:08:40 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Employee</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Employee#getManager <em>Manager</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getEmployee()
+ * @model
+ * @generated
+ */
+public interface Employee extends Person {
+ /**
+ * Returns the value of the '<em><b>Manager</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Manager</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Manager</em>' reference.
+ * @see #setManager(Employee)
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getEmployee_Manager()
+ * @model
+ * @generated
+ */
+ Employee getManager();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Employee#getManager <em>Manager</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Manager</em>' reference.
+ * @see #getManager()
+ * @generated
+ */
+ void setManager(Employee value);
+
+} // Employee
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/ExtlibraryFactory.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/ExtlibraryFactory.java
new file mode 100755
index 000000000..c6c672057
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/ExtlibraryFactory.java
@@ -0,0 +1,109 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ExtlibraryFactory.java,v 1.2 2010/03/02 06:08:40 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary;
+
+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.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage
+ * @generated
+ */
+public interface ExtlibraryFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ExtlibraryFactory eINSTANCE = org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryFactoryImpl.init();
+
+ /**
+ * 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 a new object of class '<em>Book On Tape</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Book On Tape</em>'.
+ * @generated
+ */
+ BookOnTape createBookOnTape();
+
+ /**
+ * Returns a new object of class '<em>Video Cassette</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Video Cassette</em>'.
+ * @generated
+ */
+ VideoCassette createVideoCassette();
+
+ /**
+ * Returns a new object of class '<em>Borrower</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Borrower</em>'.
+ * @generated
+ */
+ Borrower createBorrower();
+
+ /**
+ * Returns a new object of class '<em>Person</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Person</em>'.
+ * @generated
+ */
+ Person createPerson();
+
+ /**
+ * Returns a new object of class '<em>Employee</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Employee</em>'.
+ * @generated
+ */
+ Employee createEmployee();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ ExtlibraryPackage getExtlibraryPackage();
+
+} //ExtlibraryFactory
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/ExtlibraryPackage.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/ExtlibraryPackage.java
new file mode 100755
index 000000000..9ec4c4e20
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/ExtlibraryPackage.java
@@ -0,0 +1,1773 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ExtlibraryPackage.java,v 1.3 2010/03/03 14:34:11 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+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.emf.teneo.hibernate.examples.extlibrary.ExtlibraryFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ExtlibraryPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "extlibrary";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/emf/teneo/hibernate/examples/extlibrary";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "extlib";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ExtlibraryPackage eINSTANCE = org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ItemImpl <em>Item</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ItemImpl
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getItem()
+ * @generated
+ */
+ int ITEM = 3;
+
+ /**
+ * The feature id for the '<em><b>Publication Date</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM__PUBLICATION_DATE = 0;
+
+ /**
+ * The number of structural features of the '<em>Item</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.CirculatingItemImpl <em>Circulating Item</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.CirculatingItemImpl
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getCirculatingItem()
+ * @generated
+ */
+ int CIRCULATING_ITEM = 5;
+
+ /**
+ * The feature id for the '<em><b>Publication Date</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CIRCULATING_ITEM__PUBLICATION_DATE = ITEM__PUBLICATION_DATE;
+
+ /**
+ * The feature id for the '<em><b>Copies</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CIRCULATING_ITEM__COPIES = ITEM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Borrowers</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CIRCULATING_ITEM__BORROWERS = ITEM_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Circulating Item</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CIRCULATING_ITEM_FEATURE_COUNT = ITEM_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.BookImpl <em>Book</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.BookImpl
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getBook()
+ * @generated
+ */
+ int BOOK = 0;
+
+ /**
+ * The feature id for the '<em><b>Publication Date</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK__PUBLICATION_DATE = CIRCULATING_ITEM__PUBLICATION_DATE;
+
+ /**
+ * The feature id for the '<em><b>Copies</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK__COPIES = CIRCULATING_ITEM__COPIES;
+
+ /**
+ * The feature id for the '<em><b>Borrowers</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK__BORROWERS = CIRCULATING_ITEM__BORROWERS;
+
+ /**
+ * The feature id for the '<em><b>Title</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK__TITLE = CIRCULATING_ITEM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Pages</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK__PAGES = CIRCULATING_ITEM_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Category</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK__CATEGORY = CIRCULATING_ITEM_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Author</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK__AUTHOR = CIRCULATING_ITEM_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Book</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK_FEATURE_COUNT = CIRCULATING_ITEM_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Addressable <em>Addressable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Addressable
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getAddressable()
+ * @generated
+ */
+ int ADDRESSABLE = 13;
+
+ /**
+ * The feature id for the '<em><b>Address</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADDRESSABLE__ADDRESS = 0;
+
+ /**
+ * The number of structural features of the '<em>Addressable</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADDRESSABLE_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.LibraryImpl <em>Library</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.LibraryImpl
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getLibrary()
+ * @generated
+ */
+ int LIBRARY = 1;
+
+ /**
+ * The feature id for the '<em><b>Address</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIBRARY__ADDRESS = ADDRESSABLE__ADDRESS;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIBRARY__NAME = ADDRESSABLE_FEATURE_COUNT + 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 = ADDRESSABLE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Employees</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIBRARY__EMPLOYEES = ADDRESSABLE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Borrowers</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIBRARY__BORROWERS = ADDRESSABLE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Stock</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIBRARY__STOCK = ADDRESSABLE_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Books</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIBRARY__BOOKS = ADDRESSABLE_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>People</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIBRARY__PEOPLE = ADDRESSABLE_FEATURE_COUNT + 6;
+
+ /**
+ * The number of structural features of the '<em>Library</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIBRARY_FEATURE_COUNT = ADDRESSABLE_FEATURE_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.PersonImpl <em>Person</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.PersonImpl
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getPerson()
+ * @generated
+ */
+ int PERSON = 11;
+
+ /**
+ * The feature id for the '<em><b>Address</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERSON__ADDRESS = ADDRESSABLE__ADDRESS;
+
+ /**
+ * The feature id for the '<em><b>First Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERSON__FIRST_NAME = ADDRESSABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Last Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERSON__LAST_NAME = ADDRESSABLE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Person</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERSON_FEATURE_COUNT = ADDRESSABLE_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.WriterImpl <em>Writer</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.WriterImpl
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getWriter()
+ * @generated
+ */
+ int WRITER = 2;
+
+ /**
+ * The feature id for the '<em><b>Address</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WRITER__ADDRESS = PERSON__ADDRESS;
+
+ /**
+ * The feature id for the '<em><b>First Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WRITER__FIRST_NAME = PERSON__FIRST_NAME;
+
+ /**
+ * The feature id for the '<em><b>Last Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WRITER__LAST_NAME = PERSON__LAST_NAME;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WRITER__NAME = PERSON_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Books</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WRITER__BOOKS = PERSON_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Writer</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WRITER_FEATURE_COUNT = PERSON_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Lendable <em>Lendable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Lendable
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getLendable()
+ * @generated
+ */
+ int LENDABLE = 4;
+
+ /**
+ * The feature id for the '<em><b>Copies</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LENDABLE__COPIES = 0;
+
+ /**
+ * The feature id for the '<em><b>Borrowers</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LENDABLE__BORROWERS = 1;
+
+ /**
+ * The number of structural features of the '<em>Lendable</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LENDABLE_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.PeriodicalImpl <em>Periodical</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.PeriodicalImpl
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getPeriodical()
+ * @generated
+ */
+ int PERIODICAL = 6;
+
+ /**
+ * The feature id for the '<em><b>Publication Date</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERIODICAL__PUBLICATION_DATE = ITEM__PUBLICATION_DATE;
+
+ /**
+ * The feature id for the '<em><b>Title</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERIODICAL__TITLE = ITEM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Issues Per Year</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERIODICAL__ISSUES_PER_YEAR = ITEM_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Periodical</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERIODICAL_FEATURE_COUNT = ITEM_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.AudioVisualItemImpl <em>Audio Visual Item</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.AudioVisualItemImpl
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getAudioVisualItem()
+ * @generated
+ */
+ int AUDIO_VISUAL_ITEM = 7;
+
+ /**
+ * The feature id for the '<em><b>Publication Date</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AUDIO_VISUAL_ITEM__PUBLICATION_DATE = CIRCULATING_ITEM__PUBLICATION_DATE;
+
+ /**
+ * The feature id for the '<em><b>Copies</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AUDIO_VISUAL_ITEM__COPIES = CIRCULATING_ITEM__COPIES;
+
+ /**
+ * The feature id for the '<em><b>Borrowers</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AUDIO_VISUAL_ITEM__BORROWERS = CIRCULATING_ITEM__BORROWERS;
+
+ /**
+ * The feature id for the '<em><b>Title</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AUDIO_VISUAL_ITEM__TITLE = CIRCULATING_ITEM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Minutes Length</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AUDIO_VISUAL_ITEM__MINUTES_LENGTH = CIRCULATING_ITEM_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Damaged</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AUDIO_VISUAL_ITEM__DAMAGED = CIRCULATING_ITEM_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Audio Visual Item</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AUDIO_VISUAL_ITEM_FEATURE_COUNT = CIRCULATING_ITEM_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.BookOnTapeImpl <em>Book On Tape</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.BookOnTapeImpl
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getBookOnTape()
+ * @generated
+ */
+ int BOOK_ON_TAPE = 8;
+
+ /**
+ * The feature id for the '<em><b>Publication Date</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK_ON_TAPE__PUBLICATION_DATE = AUDIO_VISUAL_ITEM__PUBLICATION_DATE;
+
+ /**
+ * The feature id for the '<em><b>Copies</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK_ON_TAPE__COPIES = AUDIO_VISUAL_ITEM__COPIES;
+
+ /**
+ * The feature id for the '<em><b>Borrowers</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK_ON_TAPE__BORROWERS = AUDIO_VISUAL_ITEM__BORROWERS;
+
+ /**
+ * The feature id for the '<em><b>Title</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK_ON_TAPE__TITLE = AUDIO_VISUAL_ITEM__TITLE;
+
+ /**
+ * The feature id for the '<em><b>Minutes Length</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK_ON_TAPE__MINUTES_LENGTH = AUDIO_VISUAL_ITEM__MINUTES_LENGTH;
+
+ /**
+ * The feature id for the '<em><b>Damaged</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK_ON_TAPE__DAMAGED = AUDIO_VISUAL_ITEM__DAMAGED;
+
+ /**
+ * The feature id for the '<em><b>Reader</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK_ON_TAPE__READER = AUDIO_VISUAL_ITEM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Book Author</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK_ON_TAPE__BOOK_AUTHOR = AUDIO_VISUAL_ITEM_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Book On Tape</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK_ON_TAPE_FEATURE_COUNT = AUDIO_VISUAL_ITEM_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.VideoCassetteImpl <em>Video Cassette</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.VideoCassetteImpl
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getVideoCassette()
+ * @generated
+ */
+ int VIDEO_CASSETTE = 9;
+
+ /**
+ * The feature id for the '<em><b>Publication Date</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIDEO_CASSETTE__PUBLICATION_DATE = AUDIO_VISUAL_ITEM__PUBLICATION_DATE;
+
+ /**
+ * The feature id for the '<em><b>Copies</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIDEO_CASSETTE__COPIES = AUDIO_VISUAL_ITEM__COPIES;
+
+ /**
+ * The feature id for the '<em><b>Borrowers</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIDEO_CASSETTE__BORROWERS = AUDIO_VISUAL_ITEM__BORROWERS;
+
+ /**
+ * The feature id for the '<em><b>Title</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIDEO_CASSETTE__TITLE = AUDIO_VISUAL_ITEM__TITLE;
+
+ /**
+ * The feature id for the '<em><b>Minutes Length</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIDEO_CASSETTE__MINUTES_LENGTH = AUDIO_VISUAL_ITEM__MINUTES_LENGTH;
+
+ /**
+ * The feature id for the '<em><b>Damaged</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIDEO_CASSETTE__DAMAGED = AUDIO_VISUAL_ITEM__DAMAGED;
+
+ /**
+ * The feature id for the '<em><b>Cast</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIDEO_CASSETTE__CAST = AUDIO_VISUAL_ITEM_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Video Cassette</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VIDEO_CASSETTE_FEATURE_COUNT = AUDIO_VISUAL_ITEM_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.BorrowerImpl <em>Borrower</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.BorrowerImpl
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getBorrower()
+ * @generated
+ */
+ int BORROWER = 10;
+
+ /**
+ * The feature id for the '<em><b>Address</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BORROWER__ADDRESS = PERSON__ADDRESS;
+
+ /**
+ * The feature id for the '<em><b>First Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BORROWER__FIRST_NAME = PERSON__FIRST_NAME;
+
+ /**
+ * The feature id for the '<em><b>Last Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BORROWER__LAST_NAME = PERSON__LAST_NAME;
+
+ /**
+ * The feature id for the '<em><b>Borrowed</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BORROWER__BORROWED = PERSON_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Borrower</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BORROWER_FEATURE_COUNT = PERSON_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.EmployeeImpl <em>Employee</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.EmployeeImpl
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getEmployee()
+ * @generated
+ */
+ int EMPLOYEE = 12;
+
+ /**
+ * The feature id for the '<em><b>Address</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EMPLOYEE__ADDRESS = PERSON__ADDRESS;
+
+ /**
+ * The feature id for the '<em><b>First Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EMPLOYEE__FIRST_NAME = PERSON__FIRST_NAME;
+
+ /**
+ * The feature id for the '<em><b>Last Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EMPLOYEE__LAST_NAME = PERSON__LAST_NAME;
+
+ /**
+ * The feature id for the '<em><b>Manager</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EMPLOYEE__MANAGER = PERSON_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Employee</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EMPLOYEE_FEATURE_COUNT = PERSON_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.BookCategory <em>Book Category</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.BookCategory
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getBookCategory()
+ * @generated
+ */
+ int BOOK_CATEGORY = 14;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Book <em>Book</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Book</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Book
+ * @generated
+ */
+ EClass getBook();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Book#getTitle <em>Title</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Title</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Book#getTitle()
+ * @see #getBook()
+ * @generated
+ */
+ EAttribute getBook_Title();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Book#getPages <em>Pages</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Pages</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Book#getPages()
+ * @see #getBook()
+ * @generated
+ */
+ EAttribute getBook_Pages();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Book#getCategory <em>Category</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Category</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Book#getCategory()
+ * @see #getBook()
+ * @generated
+ */
+ EAttribute getBook_Category();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Book#getAuthor <em>Author</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Author</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Book#getAuthor()
+ * @see #getBook()
+ * @generated
+ */
+ EReference getBook_Author();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Library <em>Library</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Library</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Library
+ * @generated
+ */
+ EClass getLibrary();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Library#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Library#getName()
+ * @see #getLibrary()
+ * @generated
+ */
+ EAttribute getLibrary_Name();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.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.emf.teneo.hibernate.examples.extlibrary.Library#getWriters()
+ * @see #getLibrary()
+ * @generated
+ */
+ EReference getLibrary_Writers();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Library#getEmployees <em>Employees</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Employees</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Library#getEmployees()
+ * @see #getLibrary()
+ * @generated
+ */
+ EReference getLibrary_Employees();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Library#getBorrowers <em>Borrowers</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Borrowers</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Library#getBorrowers()
+ * @see #getLibrary()
+ * @generated
+ */
+ EReference getLibrary_Borrowers();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Library#getStock <em>Stock</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Stock</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Library#getStock()
+ * @see #getLibrary()
+ * @generated
+ */
+ EReference getLibrary_Stock();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Library#getBooks <em>Books</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Books</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Library#getBooks()
+ * @see #getLibrary()
+ * @generated
+ */
+ EReference getLibrary_Books();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Library#getPeople <em>People</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>People</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Library#getPeople()
+ * @see #getLibrary()
+ * @generated
+ */
+ EAttribute getLibrary_People();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Writer <em>Writer</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Writer</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Writer
+ * @generated
+ */
+ EClass getWriter();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Writer#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Writer#getName()
+ * @see #getWriter()
+ * @generated
+ */
+ EAttribute getWriter_Name();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.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.emf.teneo.hibernate.examples.extlibrary.Writer#getBooks()
+ * @see #getWriter()
+ * @generated
+ */
+ EReference getWriter_Books();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Item <em>Item</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Item</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Item
+ * @generated
+ */
+ EClass getItem();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Item#getPublicationDate <em>Publication Date</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Publication Date</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Item#getPublicationDate()
+ * @see #getItem()
+ * @generated
+ */
+ EAttribute getItem_PublicationDate();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Lendable <em>Lendable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Lendable</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Lendable
+ * @generated
+ */
+ EClass getLendable();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Lendable#getCopies <em>Copies</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Copies</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Lendable#getCopies()
+ * @see #getLendable()
+ * @generated
+ */
+ EAttribute getLendable_Copies();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Lendable#getBorrowers <em>Borrowers</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Borrowers</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Lendable#getBorrowers()
+ * @see #getLendable()
+ * @generated
+ */
+ EReference getLendable_Borrowers();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.CirculatingItem <em>Circulating Item</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Circulating Item</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.CirculatingItem
+ * @generated
+ */
+ EClass getCirculatingItem();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Periodical <em>Periodical</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Periodical</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Periodical
+ * @generated
+ */
+ EClass getPeriodical();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Periodical#getTitle <em>Title</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Title</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Periodical#getTitle()
+ * @see #getPeriodical()
+ * @generated
+ */
+ EAttribute getPeriodical_Title();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Periodical#getIssuesPerYear <em>Issues Per Year</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Issues Per Year</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Periodical#getIssuesPerYear()
+ * @see #getPeriodical()
+ * @generated
+ */
+ EAttribute getPeriodical_IssuesPerYear();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.AudioVisualItem <em>Audio Visual Item</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Audio Visual Item</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.AudioVisualItem
+ * @generated
+ */
+ EClass getAudioVisualItem();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.AudioVisualItem#getTitle <em>Title</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Title</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.AudioVisualItem#getTitle()
+ * @see #getAudioVisualItem()
+ * @generated
+ */
+ EAttribute getAudioVisualItem_Title();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.AudioVisualItem#getMinutesLength <em>Minutes Length</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Minutes Length</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.AudioVisualItem#getMinutesLength()
+ * @see #getAudioVisualItem()
+ * @generated
+ */
+ EAttribute getAudioVisualItem_MinutesLength();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.AudioVisualItem#isDamaged <em>Damaged</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Damaged</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.AudioVisualItem#isDamaged()
+ * @see #getAudioVisualItem()
+ * @generated
+ */
+ EAttribute getAudioVisualItem_Damaged();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.BookOnTape <em>Book On Tape</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Book On Tape</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.BookOnTape
+ * @generated
+ */
+ EClass getBookOnTape();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.BookOnTape#getReader <em>Reader</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Reader</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.BookOnTape#getReader()
+ * @see #getBookOnTape()
+ * @generated
+ */
+ EReference getBookOnTape_Reader();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.BookOnTape#getBookAuthor <em>Book Author</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Book Author</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.BookOnTape#getBookAuthor()
+ * @see #getBookOnTape()
+ * @generated
+ */
+ EReference getBookOnTape_BookAuthor();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.VideoCassette <em>Video Cassette</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Video Cassette</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.VideoCassette
+ * @generated
+ */
+ EClass getVideoCassette();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.VideoCassette#getCast <em>Cast</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Cast</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.VideoCassette#getCast()
+ * @see #getVideoCassette()
+ * @generated
+ */
+ EReference getVideoCassette_Cast();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Borrower <em>Borrower</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Borrower</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Borrower
+ * @generated
+ */
+ EClass getBorrower();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Borrower#getBorrowed <em>Borrowed</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Borrowed</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Borrower#getBorrowed()
+ * @see #getBorrower()
+ * @generated
+ */
+ EReference getBorrower_Borrowed();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Person <em>Person</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Person</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Person
+ * @generated
+ */
+ EClass getPerson();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Person#getFirstName <em>First Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>First Name</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Person#getFirstName()
+ * @see #getPerson()
+ * @generated
+ */
+ EAttribute getPerson_FirstName();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Person#getLastName <em>Last Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Last Name</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Person#getLastName()
+ * @see #getPerson()
+ * @generated
+ */
+ EAttribute getPerson_LastName();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Employee <em>Employee</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Employee</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Employee
+ * @generated
+ */
+ EClass getEmployee();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Employee#getManager <em>Manager</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Manager</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Employee#getManager()
+ * @see #getEmployee()
+ * @generated
+ */
+ EReference getEmployee_Manager();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Addressable <em>Addressable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Addressable</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Addressable
+ * @generated
+ */
+ EClass getAddressable();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Addressable#getAddress <em>Address</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Address</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Addressable#getAddress()
+ * @see #getAddressable()
+ * @generated
+ */
+ EAttribute getAddressable_Address();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.BookCategory <em>Book Category</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Book Category</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.BookCategory
+ * @generated
+ */
+ EEnum getBookCategory();
+
+ /**
+ * 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
+ */
+ ExtlibraryFactory getExtlibraryFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that 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 -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.BookImpl <em>Book</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.BookImpl
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getBook()
+ * @generated
+ */
+ EClass BOOK = eINSTANCE.getBook();
+
+ /**
+ * The meta object literal for the '<em><b>Title</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute BOOK__TITLE = eINSTANCE.getBook_Title();
+
+ /**
+ * The meta object literal for the '<em><b>Pages</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute BOOK__PAGES = eINSTANCE.getBook_Pages();
+
+ /**
+ * The meta object literal for the '<em><b>Category</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute BOOK__CATEGORY = eINSTANCE.getBook_Category();
+
+ /**
+ * The meta object literal for the '<em><b>Author</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BOOK__AUTHOR = eINSTANCE.getBook_Author();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.LibraryImpl <em>Library</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.LibraryImpl
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getLibrary()
+ * @generated
+ */
+ EClass LIBRARY = eINSTANCE.getLibrary();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LIBRARY__NAME = eINSTANCE.getLibrary_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Writers</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LIBRARY__WRITERS = eINSTANCE.getLibrary_Writers();
+
+ /**
+ * The meta object literal for the '<em><b>Employees</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LIBRARY__EMPLOYEES = eINSTANCE.getLibrary_Employees();
+
+ /**
+ * The meta object literal for the '<em><b>Borrowers</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LIBRARY__BORROWERS = eINSTANCE.getLibrary_Borrowers();
+
+ /**
+ * The meta object literal for the '<em><b>Stock</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LIBRARY__STOCK = eINSTANCE.getLibrary_Stock();
+
+ /**
+ * The meta object literal for the '<em><b>Books</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LIBRARY__BOOKS = eINSTANCE.getLibrary_Books();
+
+ /**
+ * The meta object literal for the '<em><b>People</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LIBRARY__PEOPLE = eINSTANCE.getLibrary_People();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.WriterImpl <em>Writer</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.WriterImpl
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getWriter()
+ * @generated
+ */
+ EClass WRITER = eINSTANCE.getWriter();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute WRITER__NAME = eINSTANCE.getWriter_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Books</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference WRITER__BOOKS = eINSTANCE.getWriter_Books();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ItemImpl <em>Item</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ItemImpl
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getItem()
+ * @generated
+ */
+ EClass ITEM = eINSTANCE.getItem();
+
+ /**
+ * The meta object literal for the '<em><b>Publication Date</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ITEM__PUBLICATION_DATE = eINSTANCE.getItem_PublicationDate();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Lendable <em>Lendable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Lendable
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getLendable()
+ * @generated
+ */
+ EClass LENDABLE = eINSTANCE.getLendable();
+
+ /**
+ * The meta object literal for the '<em><b>Copies</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LENDABLE__COPIES = eINSTANCE.getLendable_Copies();
+
+ /**
+ * The meta object literal for the '<em><b>Borrowers</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LENDABLE__BORROWERS = eINSTANCE.getLendable_Borrowers();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.CirculatingItemImpl <em>Circulating Item</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.CirculatingItemImpl
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getCirculatingItem()
+ * @generated
+ */
+ EClass CIRCULATING_ITEM = eINSTANCE.getCirculatingItem();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.PeriodicalImpl <em>Periodical</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.PeriodicalImpl
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getPeriodical()
+ * @generated
+ */
+ EClass PERIODICAL = eINSTANCE.getPeriodical();
+
+ /**
+ * The meta object literal for the '<em><b>Title</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PERIODICAL__TITLE = eINSTANCE.getPeriodical_Title();
+
+ /**
+ * The meta object literal for the '<em><b>Issues Per Year</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PERIODICAL__ISSUES_PER_YEAR = eINSTANCE.getPeriodical_IssuesPerYear();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.AudioVisualItemImpl <em>Audio Visual Item</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.AudioVisualItemImpl
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getAudioVisualItem()
+ * @generated
+ */
+ EClass AUDIO_VISUAL_ITEM = eINSTANCE.getAudioVisualItem();
+
+ /**
+ * The meta object literal for the '<em><b>Title</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute AUDIO_VISUAL_ITEM__TITLE = eINSTANCE.getAudioVisualItem_Title();
+
+ /**
+ * The meta object literal for the '<em><b>Minutes Length</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute AUDIO_VISUAL_ITEM__MINUTES_LENGTH = eINSTANCE.getAudioVisualItem_MinutesLength();
+
+ /**
+ * The meta object literal for the '<em><b>Damaged</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute AUDIO_VISUAL_ITEM__DAMAGED = eINSTANCE.getAudioVisualItem_Damaged();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.BookOnTapeImpl <em>Book On Tape</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.BookOnTapeImpl
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getBookOnTape()
+ * @generated
+ */
+ EClass BOOK_ON_TAPE = eINSTANCE.getBookOnTape();
+
+ /**
+ * The meta object literal for the '<em><b>Reader</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BOOK_ON_TAPE__READER = eINSTANCE.getBookOnTape_Reader();
+
+ /**
+ * The meta object literal for the '<em><b>Book Author</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BOOK_ON_TAPE__BOOK_AUTHOR = eINSTANCE.getBookOnTape_BookAuthor();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.VideoCassetteImpl <em>Video Cassette</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.VideoCassetteImpl
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getVideoCassette()
+ * @generated
+ */
+ EClass VIDEO_CASSETTE = eINSTANCE.getVideoCassette();
+
+ /**
+ * The meta object literal for the '<em><b>Cast</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VIDEO_CASSETTE__CAST = eINSTANCE.getVideoCassette_Cast();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.BorrowerImpl <em>Borrower</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.BorrowerImpl
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getBorrower()
+ * @generated
+ */
+ EClass BORROWER = eINSTANCE.getBorrower();
+
+ /**
+ * The meta object literal for the '<em><b>Borrowed</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BORROWER__BORROWED = eINSTANCE.getBorrower_Borrowed();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.PersonImpl <em>Person</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.PersonImpl
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getPerson()
+ * @generated
+ */
+ EClass PERSON = eINSTANCE.getPerson();
+
+ /**
+ * The meta object literal for the '<em><b>First Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PERSON__FIRST_NAME = eINSTANCE.getPerson_FirstName();
+
+ /**
+ * The meta object literal for the '<em><b>Last Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PERSON__LAST_NAME = eINSTANCE.getPerson_LastName();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.EmployeeImpl <em>Employee</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.EmployeeImpl
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getEmployee()
+ * @generated
+ */
+ EClass EMPLOYEE = eINSTANCE.getEmployee();
+
+ /**
+ * The meta object literal for the '<em><b>Manager</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EMPLOYEE__MANAGER = eINSTANCE.getEmployee_Manager();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Addressable <em>Addressable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Addressable
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getAddressable()
+ * @generated
+ */
+ EClass ADDRESSABLE = eINSTANCE.getAddressable();
+
+ /**
+ * The meta object literal for the '<em><b>Address</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ADDRESSABLE__ADDRESS = eINSTANCE.getAddressable_Address();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.BookCategory <em>Book Category</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.BookCategory
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ExtlibraryPackageImpl#getBookCategory()
+ * @generated
+ */
+ EEnum BOOK_CATEGORY = eINSTANCE.getBookCategory();
+
+ }
+
+} //ExtlibraryPackage
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Item.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Item.java
new file mode 100755
index 000000000..880aed79b
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Item.java
@@ -0,0 +1,56 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Item.java,v 1.2 2010/03/02 06:08:39 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary;
+
+import java.util.Date;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Item</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Item#getPublicationDate <em>Publication Date</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getItem()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Item extends EObject {
+ /**
+ * Returns the value of the '<em><b>Publication Date</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Publication Date</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Publication Date</em>' attribute.
+ * @see #setPublicationDate(Date)
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getItem_PublicationDate()
+ * @model
+ * @generated
+ */
+ Date getPublicationDate();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Item#getPublicationDate <em>Publication Date</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Publication Date</em>' attribute.
+ * @see #getPublicationDate()
+ * @generated
+ */
+ void setPublicationDate(Date value);
+
+} // Item
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Lendable.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Lendable.java
new file mode 100755
index 000000000..f78f061b0
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Lendable.java
@@ -0,0 +1,75 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Lendable.java,v 1.2 2010/03/02 06:08:38 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Lendable</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Lendable#getCopies <em>Copies</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Lendable#getBorrowers <em>Borrowers</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getLendable()
+ * @model interface="true" abstract="true"
+ * @generated
+ */
+public interface Lendable extends EObject {
+ /**
+ * Returns the value of the '<em><b>Copies</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Copies</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Copies</em>' attribute.
+ * @see #setCopies(int)
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getLendable_Copies()
+ * @model required="true"
+ * @generated
+ */
+ int getCopies();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Lendable#getCopies <em>Copies</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Copies</em>' attribute.
+ * @see #getCopies()
+ * @generated
+ */
+ void setCopies(int value);
+
+ /**
+ * Returns the value of the '<em><b>Borrowers</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Borrower}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Borrower#getBorrowed <em>Borrowed</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Borrowers</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>Borrowers</em>' reference list.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getLendable_Borrowers()
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Borrower#getBorrowed
+ * @model opposite="borrowed" ordered="false"
+ * @generated
+ */
+ EList<Borrower> getBorrowers();
+
+} // Lendable
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Library.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Library.java
new file mode 100755
index 000000000..59628accc
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Library.java
@@ -0,0 +1,163 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Library.java,v 1.5 2010/03/03 14:34:11 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.util.FeatureMap;
+
+/**
+ * <!-- 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.emf.teneo.hibernate.examples.extlibrary.Library#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Library#getWriters <em>Writers</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Library#getEmployees <em>Employees</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Library#getBorrowers <em>Borrowers</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Library#getStock <em>Stock</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Library#getBooks <em>Books</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Library#getPeople <em>People</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getLibrary()
+ * @model
+ * @generated
+ */
+public interface Library extends Addressable {
+ /**
+ * 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.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getLibrary_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.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.emf.teneo.hibernate.examples.extlibrary.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.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getLibrary_Writers()
+ * @model containment="true" transient="true" volatile="true" derived="true"
+ * extendedMetaData="group='#people'"
+ * annotation="teneo.jpa value='@IdBag'"
+ * @generated
+ */
+ EList<Writer> getWriters();
+
+ /**
+ * Returns the value of the '<em><b>Employees</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Employee}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Employees</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>Employees</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getLibrary_Employees()
+ * @model containment="true" transient="true" volatile="true" derived="true"
+ * extendedMetaData="group='#people'"
+ * @generated
+ */
+ EList<Employee> getEmployees();
+
+ /**
+ * Returns the value of the '<em><b>Borrowers</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Borrower}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Borrowers</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>Borrowers</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getLibrary_Borrowers()
+ * @model containment="true" transient="true" volatile="true" derived="true"
+ * extendedMetaData="group='#people'"
+ * @generated
+ */
+ EList<Borrower> getBorrowers();
+
+ /**
+ * Returns the value of the '<em><b>Stock</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Item}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Stock</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>Stock</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getLibrary_Stock()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<Item> getStock();
+
+ /**
+ * Returns the value of the '<em><b>Books</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Book}.
+ * <!-- 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.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getLibrary_Books()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Book> getBooks();
+
+ /**
+ * Returns the value of the '<em><b>People</b></em>' attribute list.
+ * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>People</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>People</em>' attribute list.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getLibrary_People()
+ * @model dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
+ * extendedMetaData="kind='group'"
+ * @generated
+ */
+ FeatureMap getPeople();
+
+} // Library
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Periodical.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Periodical.java
new file mode 100755
index 000000000..0d8d25de9
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Periodical.java
@@ -0,0 +1,80 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Periodical.java,v 1.2 2010/03/02 06:08:38 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Periodical</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Periodical#getTitle <em>Title</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Periodical#getIssuesPerYear <em>Issues Per Year</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getPeriodical()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Periodical extends Item {
+ /**
+ * 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.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getPeriodical_Title()
+ * @model
+ * @generated
+ */
+ String getTitle();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Periodical#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>Issues Per Year</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Issues Per Year</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Issues Per Year</em>' attribute.
+ * @see #setIssuesPerYear(int)
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getPeriodical_IssuesPerYear()
+ * @model required="true"
+ * @generated
+ */
+ int getIssuesPerYear();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Periodical#getIssuesPerYear <em>Issues Per Year</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Issues Per Year</em>' attribute.
+ * @see #getIssuesPerYear()
+ * @generated
+ */
+ void setIssuesPerYear(int value);
+
+} // Periodical
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Person.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Person.java
new file mode 100755
index 000000000..ab7904498
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Person.java
@@ -0,0 +1,80 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Person.java,v 1.2 2010/03/02 06:08:40 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Person</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Person#getFirstName <em>First Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Person#getLastName <em>Last Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getPerson()
+ * @model
+ * @generated
+ */
+public interface Person extends Addressable {
+ /**
+ * Returns the value of the '<em><b>First Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>First 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>First Name</em>' attribute.
+ * @see #setFirstName(String)
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getPerson_FirstName()
+ * @model required="true"
+ * @generated
+ */
+ String getFirstName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Person#getFirstName <em>First Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>First Name</em>' attribute.
+ * @see #getFirstName()
+ * @generated
+ */
+ void setFirstName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Last Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Last 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>Last Name</em>' attribute.
+ * @see #setLastName(String)
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getPerson_LastName()
+ * @model required="true"
+ * @generated
+ */
+ String getLastName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Person#getLastName <em>Last Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Last Name</em>' attribute.
+ * @see #getLastName()
+ * @generated
+ */
+ void setLastName(String value);
+
+} // Person
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/VideoCassette.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/VideoCassette.java
new file mode 100755
index 000000000..d51841715
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/VideoCassette.java
@@ -0,0 +1,44 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: VideoCassette.java,v 1.2 2010/03/02 06:08:40 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Video Cassette</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.VideoCassette#getCast <em>Cast</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getVideoCassette()
+ * @model
+ * @generated
+ */
+public interface VideoCassette extends AudioVisualItem {
+ /**
+ * Returns the value of the '<em><b>Cast</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Person}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cast</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>Cast</em>' reference list.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getVideoCassette_Cast()
+ * @model
+ * @generated
+ */
+ EList<Person> getCast();
+
+} // VideoCassette
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Writer.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Writer.java
new file mode 100755
index 000000000..ffbc9ae64
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/Writer.java
@@ -0,0 +1,73 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Writer.java,v 1.4 2010/03/03 12:29:32 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- 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.emf.teneo.hibernate.examples.extlibrary.Writer#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Writer#getBooks <em>Books</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getWriter()
+ * @model
+ * @generated
+ */
+public interface Writer extends Person {
+ /**
+ * 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.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getWriter_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.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.emf.teneo.hibernate.examples.extlibrary.Book}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.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.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#getWriter_Books()
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Book#getAuthor
+ * @model opposite="author"
+ * @generated
+ */
+ EList<Book> getBooks();
+
+} // Writer
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/AudioVisualItemImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/AudioVisualItemImpl.java
new file mode 100755
index 000000000..37d081a26
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/AudioVisualItemImpl.java
@@ -0,0 +1,274 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: AudioVisualItemImpl.java,v 1.2 2010/03/02 06:08:38 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.AudioVisualItem;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Audio Visual Item</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.AudioVisualItemImpl#getTitle <em>Title</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.AudioVisualItemImpl#getMinutesLength <em>Minutes Length</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.AudioVisualItemImpl#isDamaged <em>Damaged</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class AudioVisualItemImpl extends CirculatingItemImpl implements AudioVisualItem {
+ /**
+ * 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 #getMinutesLength() <em>Minutes Length</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMinutesLength()
+ * @generated
+ * @ordered
+ */
+ protected static final int MINUTES_LENGTH_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getMinutesLength() <em>Minutes Length</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMinutesLength()
+ * @generated
+ * @ordered
+ */
+ protected int minutesLength = MINUTES_LENGTH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isDamaged() <em>Damaged</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDamaged()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean DAMAGED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isDamaged() <em>Damaged</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isDamaged()
+ * @generated
+ * @ordered
+ */
+ protected boolean damaged = DAMAGED_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AudioVisualItemImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtlibraryPackage.Literals.AUDIO_VISUAL_ITEM;
+ }
+
+ /**
+ * <!-- 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, ExtlibraryPackage.AUDIO_VISUAL_ITEM__TITLE, oldTitle, title));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getMinutesLength() {
+ return minutesLength;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMinutesLength(int newMinutesLength) {
+ int oldMinutesLength = minutesLength;
+ minutesLength = newMinutesLength;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtlibraryPackage.AUDIO_VISUAL_ITEM__MINUTES_LENGTH, oldMinutesLength, minutesLength));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isDamaged() {
+ return damaged;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDamaged(boolean newDamaged) {
+ boolean oldDamaged = damaged;
+ damaged = newDamaged;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtlibraryPackage.AUDIO_VISUAL_ITEM__DAMAGED, oldDamaged, damaged));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ExtlibraryPackage.AUDIO_VISUAL_ITEM__TITLE:
+ return getTitle();
+ case ExtlibraryPackage.AUDIO_VISUAL_ITEM__MINUTES_LENGTH:
+ return getMinutesLength();
+ case ExtlibraryPackage.AUDIO_VISUAL_ITEM__DAMAGED:
+ return isDamaged();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ExtlibraryPackage.AUDIO_VISUAL_ITEM__TITLE:
+ setTitle((String)newValue);
+ return;
+ case ExtlibraryPackage.AUDIO_VISUAL_ITEM__MINUTES_LENGTH:
+ setMinutesLength((Integer)newValue);
+ return;
+ case ExtlibraryPackage.AUDIO_VISUAL_ITEM__DAMAGED:
+ setDamaged((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ExtlibraryPackage.AUDIO_VISUAL_ITEM__TITLE:
+ setTitle(TITLE_EDEFAULT);
+ return;
+ case ExtlibraryPackage.AUDIO_VISUAL_ITEM__MINUTES_LENGTH:
+ setMinutesLength(MINUTES_LENGTH_EDEFAULT);
+ return;
+ case ExtlibraryPackage.AUDIO_VISUAL_ITEM__DAMAGED:
+ setDamaged(DAMAGED_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ExtlibraryPackage.AUDIO_VISUAL_ITEM__TITLE:
+ return TITLE_EDEFAULT == null ? title != null : !TITLE_EDEFAULT.equals(title);
+ case ExtlibraryPackage.AUDIO_VISUAL_ITEM__MINUTES_LENGTH:
+ return minutesLength != MINUTES_LENGTH_EDEFAULT;
+ case ExtlibraryPackage.AUDIO_VISUAL_ITEM__DAMAGED:
+ return damaged != DAMAGED_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (title: ");
+ result.append(title);
+ result.append(", minutesLength: ");
+ result.append(minutesLength);
+ result.append(", damaged: ");
+ result.append(damaged);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AudioVisualItemImpl
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/BookImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/BookImpl.java
new file mode 100755
index 000000000..2d531e8ef
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/BookImpl.java
@@ -0,0 +1,424 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: BookImpl.java,v 1.2 2010/03/02 06:08:38 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary.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.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Book;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.BookCategory;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.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.emf.teneo.hibernate.examples.extlibrary.impl.BookImpl#getTitle <em>Title</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.BookImpl#getPages <em>Pages</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.BookImpl#getCategory <em>Category</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.BookImpl#getAuthor <em>Author</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BookImpl extends CirculatingItemImpl 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 = 100;
+
+ /**
+ * 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;
+
+ /**
+ * 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;
+
+ /**
+ * 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;
+
+ /**
+ * The cached value of the '{@link #getAuthor() <em>Author</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAuthor()
+ * @generated
+ * @ordered
+ */
+ protected Writer author;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BookImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtlibraryPackage.Literals.BOOK;
+ }
+
+ /**
+ * <!-- 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, ExtlibraryPackage.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;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtlibraryPackage.BOOK__PAGES, oldPages, pages));
+ }
+
+ /**
+ * <!-- 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, ExtlibraryPackage.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, ExtlibraryPackage.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()) {
+ InternalEObject oldAuthor = (InternalEObject)author;
+ author = (Writer)eResolveProxy(oldAuthor);
+ if (author != oldAuthor) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ExtlibraryPackage.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, ExtlibraryPackage.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, ExtlibraryPackage.WRITER__BOOKS, Writer.class, msgs);
+ if (newAuthor != null)
+ msgs = ((InternalEObject)newAuthor).eInverseAdd(this, ExtlibraryPackage.WRITER__BOOKS, Writer.class, msgs);
+ msgs = basicSetAuthor(newAuthor, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtlibraryPackage.BOOK__AUTHOR, newAuthor, newAuthor));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ExtlibraryPackage.BOOK__AUTHOR:
+ if (author != null)
+ msgs = ((InternalEObject)author).eInverseRemove(this, ExtlibraryPackage.WRITER__BOOKS, Writer.class, msgs);
+ return basicSetAuthor((Writer)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ExtlibraryPackage.BOOK__AUTHOR:
+ return basicSetAuthor(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ExtlibraryPackage.BOOK__TITLE:
+ return getTitle();
+ case ExtlibraryPackage.BOOK__PAGES:
+ return getPages();
+ case ExtlibraryPackage.BOOK__CATEGORY:
+ return getCategory();
+ case ExtlibraryPackage.BOOK__AUTHOR:
+ if (resolve) return getAuthor();
+ return basicGetAuthor();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ExtlibraryPackage.BOOK__TITLE:
+ setTitle((String)newValue);
+ return;
+ case ExtlibraryPackage.BOOK__PAGES:
+ setPages((Integer)newValue);
+ return;
+ case ExtlibraryPackage.BOOK__CATEGORY:
+ setCategory((BookCategory)newValue);
+ return;
+ case ExtlibraryPackage.BOOK__AUTHOR:
+ setAuthor((Writer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ExtlibraryPackage.BOOK__TITLE:
+ setTitle(TITLE_EDEFAULT);
+ return;
+ case ExtlibraryPackage.BOOK__PAGES:
+ setPages(PAGES_EDEFAULT);
+ return;
+ case ExtlibraryPackage.BOOK__CATEGORY:
+ unsetCategory();
+ return;
+ case ExtlibraryPackage.BOOK__AUTHOR:
+ setAuthor((Writer)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ExtlibraryPackage.BOOK__TITLE:
+ return TITLE_EDEFAULT == null ? title != null : !TITLE_EDEFAULT.equals(title);
+ case ExtlibraryPackage.BOOK__PAGES:
+ return pages != PAGES_EDEFAULT;
+ case ExtlibraryPackage.BOOK__CATEGORY:
+ return isSetCategory();
+ case ExtlibraryPackage.BOOK__AUTHOR:
+ return author != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (title: ");
+ result.append(title);
+ result.append(", pages: ");
+ result.append(pages);
+ result.append(", category: ");
+ if (categoryESet) result.append(category); else result.append("<unset>");
+ result.append(')');
+ return result.toString();
+ }
+
+} //BookImpl
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/BookOnTapeImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/BookOnTapeImpl.java
new file mode 100755
index 000000000..5c9714185
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/BookOnTapeImpl.java
@@ -0,0 +1,221 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: BookOnTapeImpl.java,v 1.2 2010/03/02 06:08:37 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.BookOnTape;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Person;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Writer;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Book On Tape</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.BookOnTapeImpl#getReader <em>Reader</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.BookOnTapeImpl#getBookAuthor <em>Book Author</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BookOnTapeImpl extends AudioVisualItemImpl implements BookOnTape {
+ /**
+ * The cached value of the '{@link #getReader() <em>Reader</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReader()
+ * @generated
+ * @ordered
+ */
+ protected Person reader;
+
+ /**
+ * The cached value of the '{@link #getBookAuthor() <em>Book Author</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBookAuthor()
+ * @generated
+ * @ordered
+ */
+ protected Writer bookAuthor;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BookOnTapeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtlibraryPackage.Literals.BOOK_ON_TAPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Person getReader() {
+ if (reader != null && reader.eIsProxy()) {
+ InternalEObject oldReader = (InternalEObject)reader;
+ reader = (Person)eResolveProxy(oldReader);
+ if (reader != oldReader) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ExtlibraryPackage.BOOK_ON_TAPE__READER, oldReader, reader));
+ }
+ }
+ return reader;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Person basicGetReader() {
+ return reader;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setReader(Person newReader) {
+ Person oldReader = reader;
+ reader = newReader;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtlibraryPackage.BOOK_ON_TAPE__READER, oldReader, reader));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Writer getBookAuthor() {
+ if (bookAuthor != null && bookAuthor.eIsProxy()) {
+ InternalEObject oldBookAuthor = (InternalEObject)bookAuthor;
+ bookAuthor = (Writer)eResolveProxy(oldBookAuthor);
+ if (bookAuthor != oldBookAuthor) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ExtlibraryPackage.BOOK_ON_TAPE__BOOK_AUTHOR, oldBookAuthor, bookAuthor));
+ }
+ }
+ return bookAuthor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Writer basicGetBookAuthor() {
+ return bookAuthor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBookAuthor(Writer newBookAuthor) {
+ Writer oldBookAuthor = bookAuthor;
+ bookAuthor = newBookAuthor;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtlibraryPackage.BOOK_ON_TAPE__BOOK_AUTHOR, oldBookAuthor, bookAuthor));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ExtlibraryPackage.BOOK_ON_TAPE__READER:
+ if (resolve) return getReader();
+ return basicGetReader();
+ case ExtlibraryPackage.BOOK_ON_TAPE__BOOK_AUTHOR:
+ if (resolve) return getBookAuthor();
+ return basicGetBookAuthor();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ExtlibraryPackage.BOOK_ON_TAPE__READER:
+ setReader((Person)newValue);
+ return;
+ case ExtlibraryPackage.BOOK_ON_TAPE__BOOK_AUTHOR:
+ setBookAuthor((Writer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ExtlibraryPackage.BOOK_ON_TAPE__READER:
+ setReader((Person)null);
+ return;
+ case ExtlibraryPackage.BOOK_ON_TAPE__BOOK_AUTHOR:
+ setBookAuthor((Writer)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ExtlibraryPackage.BOOK_ON_TAPE__READER:
+ return reader != null;
+ case ExtlibraryPackage.BOOK_ON_TAPE__BOOK_AUTHOR:
+ return bookAuthor != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //BookOnTapeImpl
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/BorrowerImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/BorrowerImpl.java
new file mode 100755
index 000000000..40535ca14
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/BorrowerImpl.java
@@ -0,0 +1,169 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: BorrowerImpl.java,v 1.2 2010/03/02 06:08:37 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl;
+
+import java.util.Collection;
+
+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.InternalEObject;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Borrower;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Lendable;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Borrower</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.BorrowerImpl#getBorrowed <em>Borrowed</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BorrowerImpl extends PersonImpl implements Borrower {
+ /**
+ * The cached value of the '{@link #getBorrowed() <em>Borrowed</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBorrowed()
+ * @generated
+ * @ordered
+ */
+ protected EList<Lendable> borrowed;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BorrowerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtlibraryPackage.Literals.BORROWER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Lendable> getBorrowed() {
+ if (borrowed == null) {
+ borrowed = new EObjectWithInverseResolvingEList.ManyInverse<Lendable>(Lendable.class, this, ExtlibraryPackage.BORROWER__BORROWED, ExtlibraryPackage.LENDABLE__BORROWERS);
+ }
+ return borrowed;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ExtlibraryPackage.BORROWER__BORROWED:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getBorrowed()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ExtlibraryPackage.BORROWER__BORROWED:
+ return ((InternalEList<?>)getBorrowed()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ExtlibraryPackage.BORROWER__BORROWED:
+ return getBorrowed();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ExtlibraryPackage.BORROWER__BORROWED:
+ getBorrowed().clear();
+ getBorrowed().addAll((Collection<? extends Lendable>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ExtlibraryPackage.BORROWER__BORROWED:
+ getBorrowed().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ExtlibraryPackage.BORROWER__BORROWED:
+ return borrowed != null && !borrowed.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //BorrowerImpl
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/CirculatingItemImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/CirculatingItemImpl.java
new file mode 100755
index 000000000..e4e9c304e
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/CirculatingItemImpl.java
@@ -0,0 +1,275 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: CirculatingItemImpl.java,v 1.2 2010/03/02 06:08:38 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary.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.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Borrower;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.CirculatingItem;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Lendable;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Circulating Item</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.CirculatingItemImpl#getCopies <em>Copies</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.CirculatingItemImpl#getBorrowers <em>Borrowers</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class CirculatingItemImpl extends ItemImpl implements CirculatingItem {
+ /**
+ * The default value of the '{@link #getCopies() <em>Copies</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCopies()
+ * @generated
+ * @ordered
+ */
+ protected static final int COPIES_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getCopies() <em>Copies</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCopies()
+ * @generated
+ * @ordered
+ */
+ protected int copies = COPIES_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBorrowers() <em>Borrowers</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBorrowers()
+ * @generated
+ * @ordered
+ */
+ protected EList<Borrower> borrowers;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CirculatingItemImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtlibraryPackage.Literals.CIRCULATING_ITEM;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getCopies() {
+ return copies;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCopies(int newCopies) {
+ int oldCopies = copies;
+ copies = newCopies;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtlibraryPackage.CIRCULATING_ITEM__COPIES, oldCopies, copies));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Borrower> getBorrowers() {
+ if (borrowers == null) {
+ borrowers = new EObjectWithInverseResolvingEList.ManyInverse<Borrower>(Borrower.class, this, ExtlibraryPackage.CIRCULATING_ITEM__BORROWERS, ExtlibraryPackage.BORROWER__BORROWED);
+ }
+ return borrowers;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ExtlibraryPackage.CIRCULATING_ITEM__BORROWERS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getBorrowers()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ExtlibraryPackage.CIRCULATING_ITEM__BORROWERS:
+ return ((InternalEList<?>)getBorrowers()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ExtlibraryPackage.CIRCULATING_ITEM__COPIES:
+ return getCopies();
+ case ExtlibraryPackage.CIRCULATING_ITEM__BORROWERS:
+ return getBorrowers();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ExtlibraryPackage.CIRCULATING_ITEM__COPIES:
+ setCopies((Integer)newValue);
+ return;
+ case ExtlibraryPackage.CIRCULATING_ITEM__BORROWERS:
+ getBorrowers().clear();
+ getBorrowers().addAll((Collection<? extends Borrower>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ExtlibraryPackage.CIRCULATING_ITEM__COPIES:
+ setCopies(COPIES_EDEFAULT);
+ return;
+ case ExtlibraryPackage.CIRCULATING_ITEM__BORROWERS:
+ getBorrowers().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ExtlibraryPackage.CIRCULATING_ITEM__COPIES:
+ return copies != COPIES_EDEFAULT;
+ case ExtlibraryPackage.CIRCULATING_ITEM__BORROWERS:
+ return borrowers != null && !borrowers.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == Lendable.class) {
+ switch (derivedFeatureID) {
+ case ExtlibraryPackage.CIRCULATING_ITEM__COPIES: return ExtlibraryPackage.LENDABLE__COPIES;
+ case ExtlibraryPackage.CIRCULATING_ITEM__BORROWERS: return ExtlibraryPackage.LENDABLE__BORROWERS;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == Lendable.class) {
+ switch (baseFeatureID) {
+ case ExtlibraryPackage.LENDABLE__COPIES: return ExtlibraryPackage.CIRCULATING_ITEM__COPIES;
+ case ExtlibraryPackage.LENDABLE__BORROWERS: return ExtlibraryPackage.CIRCULATING_ITEM__BORROWERS;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (copies: ");
+ result.append(copies);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CirculatingItemImpl
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/EmployeeImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/EmployeeImpl.java
new file mode 100755
index 000000000..774a5c9d8
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/EmployeeImpl.java
@@ -0,0 +1,159 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: EmployeeImpl.java,v 1.2 2010/03/02 06:08:38 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Employee;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Employee</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.EmployeeImpl#getManager <em>Manager</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EmployeeImpl extends PersonImpl implements Employee {
+ /**
+ * The cached value of the '{@link #getManager() <em>Manager</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getManager()
+ * @generated
+ * @ordered
+ */
+ protected Employee manager;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EmployeeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtlibraryPackage.Literals.EMPLOYEE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Employee getManager() {
+ if (manager != null && manager.eIsProxy()) {
+ InternalEObject oldManager = (InternalEObject)manager;
+ manager = (Employee)eResolveProxy(oldManager);
+ if (manager != oldManager) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ExtlibraryPackage.EMPLOYEE__MANAGER, oldManager, manager));
+ }
+ }
+ return manager;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Employee basicGetManager() {
+ return manager;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setManager(Employee newManager) {
+ Employee oldManager = manager;
+ manager = newManager;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtlibraryPackage.EMPLOYEE__MANAGER, oldManager, manager));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ExtlibraryPackage.EMPLOYEE__MANAGER:
+ if (resolve) return getManager();
+ return basicGetManager();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ExtlibraryPackage.EMPLOYEE__MANAGER:
+ setManager((Employee)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ExtlibraryPackage.EMPLOYEE__MANAGER:
+ setManager((Employee)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ExtlibraryPackage.EMPLOYEE__MANAGER:
+ return manager != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //EmployeeImpl
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/ExtlibraryFactoryImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/ExtlibraryFactoryImpl.java
new file mode 100755
index 000000000..323bfaba1
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/ExtlibraryFactoryImpl.java
@@ -0,0 +1,227 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ExtlibraryFactoryImpl.java,v 1.2 2010/03/02 06:08:37 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExtlibraryFactoryImpl extends EFactoryImpl implements ExtlibraryFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ExtlibraryFactory init() {
+ try {
+ ExtlibraryFactory theExtlibraryFactory = (ExtlibraryFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/emf/teneo/hibernate/examples/extlibrary");
+ if (theExtlibraryFactory != null) {
+ return theExtlibraryFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new ExtlibraryFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtlibraryFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case ExtlibraryPackage.BOOK: return createBook();
+ case ExtlibraryPackage.LIBRARY: return createLibrary();
+ case ExtlibraryPackage.WRITER: return createWriter();
+ case ExtlibraryPackage.BOOK_ON_TAPE: return createBookOnTape();
+ case ExtlibraryPackage.VIDEO_CASSETTE: return createVideoCassette();
+ case ExtlibraryPackage.BORROWER: return createBorrower();
+ case ExtlibraryPackage.PERSON: return createPerson();
+ case ExtlibraryPackage.EMPLOYEE: return createEmployee();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case ExtlibraryPackage.BOOK_CATEGORY:
+ return createBookCategoryFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case ExtlibraryPackage.BOOK_CATEGORY:
+ return convertBookCategoryToString(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 BookOnTape createBookOnTape() {
+ BookOnTapeImpl bookOnTape = new BookOnTapeImpl();
+ return bookOnTape;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VideoCassette createVideoCassette() {
+ VideoCassetteImpl videoCassette = new VideoCassetteImpl();
+ return videoCassette;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Borrower createBorrower() {
+ BorrowerImpl borrower = new BorrowerImpl();
+ return borrower;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Person createPerson() {
+ PersonImpl person = new PersonImpl();
+ return person;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Employee createEmployee() {
+ EmployeeImpl employee = new EmployeeImpl();
+ return employee;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BookCategory createBookCategoryFromString(EDataType eDataType, String initialValue) {
+ BookCategory result = BookCategory.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertBookCategoryToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtlibraryPackage getExtlibraryPackage() {
+ return (ExtlibraryPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static ExtlibraryPackage getPackage() {
+ return ExtlibraryPackage.eINSTANCE;
+ }
+
+} //ExtlibraryFactoryImpl
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/ExtlibraryPackageImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/ExtlibraryPackageImpl.java
new file mode 100755
index 000000000..d97a12f23
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/ExtlibraryPackageImpl.java
@@ -0,0 +1,882 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ExtlibraryPackageImpl.java,v 1.5 2010/03/03 14:34:11 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Addressable;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.AudioVisualItem;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Book;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.BookCategory;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.BookOnTape;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Borrower;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.CirculatingItem;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Employee;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryFactory;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Item;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Lendable;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Library;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Periodical;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Person;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.VideoCassette;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Writer;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExtlibraryPackageImpl extends EPackageImpl implements ExtlibraryPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass bookEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass libraryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass writerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass itemEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass lendableEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass circulatingItemEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass periodicalEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass audioVisualItemEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass bookOnTapeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass videoCassetteEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass borrowerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass personEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass employeeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass addressableEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum bookCategoryEEnum = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private ExtlibraryPackageImpl() {
+ super(eNS_URI, ExtlibraryFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link ExtlibraryPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static ExtlibraryPackage init() {
+ if (isInited) return (ExtlibraryPackage)EPackage.Registry.INSTANCE.getEPackage(ExtlibraryPackage.eNS_URI);
+
+ // Obtain or create and register package
+ ExtlibraryPackageImpl theExtlibraryPackage = (ExtlibraryPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ExtlibraryPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ExtlibraryPackageImpl());
+
+ isInited = true;
+
+ // Create package meta-data objects
+ theExtlibraryPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theExtlibraryPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theExtlibraryPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(ExtlibraryPackage.eNS_URI, theExtlibraryPackage);
+ return theExtlibraryPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBook() {
+ return bookEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBook_Title() {
+ return (EAttribute)bookEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBook_Pages() {
+ return (EAttribute)bookEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBook_Category() {
+ return (EAttribute)bookEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBook_Author() {
+ return (EReference)bookEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLibrary() {
+ return libraryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLibrary_Name() {
+ return (EAttribute)libraryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLibrary_Writers() {
+ return (EReference)libraryEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLibrary_Employees() {
+ return (EReference)libraryEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLibrary_Borrowers() {
+ return (EReference)libraryEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLibrary_Stock() {
+ return (EReference)libraryEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLibrary_Books() {
+ return (EReference)libraryEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLibrary_People() {
+ return (EAttribute)libraryEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getWriter() {
+ return writerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getWriter_Name() {
+ return (EAttribute)writerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getWriter_Books() {
+ return (EReference)writerEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getItem() {
+ return itemEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getItem_PublicationDate() {
+ return (EAttribute)itemEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLendable() {
+ return lendableEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLendable_Copies() {
+ return (EAttribute)lendableEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLendable_Borrowers() {
+ return (EReference)lendableEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCirculatingItem() {
+ return circulatingItemEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPeriodical() {
+ return periodicalEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPeriodical_Title() {
+ return (EAttribute)periodicalEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPeriodical_IssuesPerYear() {
+ return (EAttribute)periodicalEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAudioVisualItem() {
+ return audioVisualItemEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAudioVisualItem_Title() {
+ return (EAttribute)audioVisualItemEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAudioVisualItem_MinutesLength() {
+ return (EAttribute)audioVisualItemEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAudioVisualItem_Damaged() {
+ return (EAttribute)audioVisualItemEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBookOnTape() {
+ return bookOnTapeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBookOnTape_Reader() {
+ return (EReference)bookOnTapeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBookOnTape_BookAuthor() {
+ return (EReference)bookOnTapeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVideoCassette() {
+ return videoCassetteEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVideoCassette_Cast() {
+ return (EReference)videoCassetteEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBorrower() {
+ return borrowerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBorrower_Borrowed() {
+ return (EReference)borrowerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPerson() {
+ return personEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPerson_FirstName() {
+ return (EAttribute)personEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPerson_LastName() {
+ return (EAttribute)personEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEmployee() {
+ return employeeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEmployee_Manager() {
+ return (EReference)employeeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAddressable() {
+ return addressableEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAddressable_Address() {
+ return (EAttribute)addressableEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getBookCategory() {
+ return bookCategoryEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtlibraryFactory getExtlibraryFactory() {
+ return (ExtlibraryFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ bookEClass = createEClass(BOOK);
+ createEAttribute(bookEClass, BOOK__TITLE);
+ createEAttribute(bookEClass, BOOK__PAGES);
+ createEAttribute(bookEClass, BOOK__CATEGORY);
+ createEReference(bookEClass, BOOK__AUTHOR);
+
+ libraryEClass = createEClass(LIBRARY);
+ createEAttribute(libraryEClass, LIBRARY__NAME);
+ createEReference(libraryEClass, LIBRARY__WRITERS);
+ createEReference(libraryEClass, LIBRARY__EMPLOYEES);
+ createEReference(libraryEClass, LIBRARY__BORROWERS);
+ createEReference(libraryEClass, LIBRARY__STOCK);
+ createEReference(libraryEClass, LIBRARY__BOOKS);
+ createEAttribute(libraryEClass, LIBRARY__PEOPLE);
+
+ writerEClass = createEClass(WRITER);
+ createEAttribute(writerEClass, WRITER__NAME);
+ createEReference(writerEClass, WRITER__BOOKS);
+
+ itemEClass = createEClass(ITEM);
+ createEAttribute(itemEClass, ITEM__PUBLICATION_DATE);
+
+ lendableEClass = createEClass(LENDABLE);
+ createEAttribute(lendableEClass, LENDABLE__COPIES);
+ createEReference(lendableEClass, LENDABLE__BORROWERS);
+
+ circulatingItemEClass = createEClass(CIRCULATING_ITEM);
+
+ periodicalEClass = createEClass(PERIODICAL);
+ createEAttribute(periodicalEClass, PERIODICAL__TITLE);
+ createEAttribute(periodicalEClass, PERIODICAL__ISSUES_PER_YEAR);
+
+ audioVisualItemEClass = createEClass(AUDIO_VISUAL_ITEM);
+ createEAttribute(audioVisualItemEClass, AUDIO_VISUAL_ITEM__TITLE);
+ createEAttribute(audioVisualItemEClass, AUDIO_VISUAL_ITEM__MINUTES_LENGTH);
+ createEAttribute(audioVisualItemEClass, AUDIO_VISUAL_ITEM__DAMAGED);
+
+ bookOnTapeEClass = createEClass(BOOK_ON_TAPE);
+ createEReference(bookOnTapeEClass, BOOK_ON_TAPE__READER);
+ createEReference(bookOnTapeEClass, BOOK_ON_TAPE__BOOK_AUTHOR);
+
+ videoCassetteEClass = createEClass(VIDEO_CASSETTE);
+ createEReference(videoCassetteEClass, VIDEO_CASSETTE__CAST);
+
+ borrowerEClass = createEClass(BORROWER);
+ createEReference(borrowerEClass, BORROWER__BORROWED);
+
+ personEClass = createEClass(PERSON);
+ createEAttribute(personEClass, PERSON__FIRST_NAME);
+ createEAttribute(personEClass, PERSON__LAST_NAME);
+
+ employeeEClass = createEClass(EMPLOYEE);
+ createEReference(employeeEClass, EMPLOYEE__MANAGER);
+
+ addressableEClass = createEClass(ADDRESSABLE);
+ createEAttribute(addressableEClass, ADDRESSABLE__ADDRESS);
+
+ // Create enums
+ bookCategoryEEnum = createEEnum(BOOK_CATEGORY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ bookEClass.getESuperTypes().add(this.getCirculatingItem());
+ libraryEClass.getESuperTypes().add(this.getAddressable());
+ writerEClass.getESuperTypes().add(this.getPerson());
+ circulatingItemEClass.getESuperTypes().add(this.getItem());
+ circulatingItemEClass.getESuperTypes().add(this.getLendable());
+ periodicalEClass.getESuperTypes().add(this.getItem());
+ audioVisualItemEClass.getESuperTypes().add(this.getCirculatingItem());
+ bookOnTapeEClass.getESuperTypes().add(this.getAudioVisualItem());
+ videoCassetteEClass.getESuperTypes().add(this.getAudioVisualItem());
+ borrowerEClass.getESuperTypes().add(this.getPerson());
+ personEClass.getESuperTypes().add(this.getAddressable());
+ employeeEClass.getESuperTypes().add(this.getPerson());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(bookEClass, Book.class, "Book", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getBook_Title(), ecorePackage.getEString(), "title", null, 0, 1, Book.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getBook_Pages(), ecorePackage.getEInt(), "pages", "100", 0, 1, Book.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getBook_Category(), this.getBookCategory(), "category", null, 0, 1, Book.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getBook_Author(), this.getWriter(), this.getWriter_Books(), "author", null, 1, 1, Book.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(libraryEClass, Library.class, "Library", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getLibrary_Name(), ecorePackage.getEString(), "name", null, 0, 1, Library.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getLibrary_Writers(), this.getWriter(), null, "writers", null, 0, -1, Library.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+ initEReference(getLibrary_Employees(), this.getEmployee(), null, "employees", null, 0, -1, Library.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+ initEReference(getLibrary_Borrowers(), this.getBorrower(), null, "borrowers", null, 0, -1, Library.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+ initEReference(getLibrary_Stock(), this.getItem(), null, "stock", null, 0, -1, Library.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getLibrary_Books(), this.getBook(), null, "books", null, 0, -1, Library.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getLibrary_People(), ecorePackage.getEFeatureMapEntry(), "people", null, 0, -1, Library.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(writerEClass, Writer.class, "Writer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getWriter_Name(), ecorePackage.getEString(), "name", null, 0, 1, Writer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getWriter_Books(), this.getBook(), this.getBook_Author(), "books", null, 0, -1, Writer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(itemEClass, Item.class, "Item", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getItem_PublicationDate(), ecorePackage.getEDate(), "publicationDate", null, 0, 1, Item.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(lendableEClass, Lendable.class, "Lendable", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getLendable_Copies(), ecorePackage.getEInt(), "copies", null, 1, 1, Lendable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getLendable_Borrowers(), this.getBorrower(), this.getBorrower_Borrowed(), "borrowers", null, 0, -1, Lendable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(circulatingItemEClass, CirculatingItem.class, "CirculatingItem", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(periodicalEClass, Periodical.class, "Periodical", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPeriodical_Title(), ecorePackage.getEString(), "title", null, 0, 1, Periodical.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPeriodical_IssuesPerYear(), ecorePackage.getEInt(), "issuesPerYear", null, 1, 1, Periodical.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(audioVisualItemEClass, AudioVisualItem.class, "AudioVisualItem", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getAudioVisualItem_Title(), ecorePackage.getEString(), "title", null, 0, 1, AudioVisualItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAudioVisualItem_MinutesLength(), ecorePackage.getEInt(), "minutesLength", null, 1, 1, AudioVisualItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAudioVisualItem_Damaged(), ecorePackage.getEBoolean(), "damaged", null, 0, 1, AudioVisualItem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(bookOnTapeEClass, BookOnTape.class, "BookOnTape", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getBookOnTape_Reader(), this.getPerson(), null, "reader", null, 0, 1, BookOnTape.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getBookOnTape_BookAuthor(), this.getWriter(), null, "bookAuthor", null, 0, 1, BookOnTape.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(videoCassetteEClass, VideoCassette.class, "VideoCassette", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getVideoCassette_Cast(), this.getPerson(), null, "cast", null, 0, -1, VideoCassette.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(borrowerEClass, Borrower.class, "Borrower", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getBorrower_Borrowed(), this.getLendable(), this.getLendable_Borrowers(), "borrowed", null, 0, -1, Borrower.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(personEClass, Person.class, "Person", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPerson_FirstName(), ecorePackage.getEString(), "firstName", null, 1, 1, Person.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPerson_LastName(), ecorePackage.getEString(), "lastName", null, 1, 1, Person.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(employeeEClass, Employee.class, "Employee", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getEmployee_Manager(), this.getEmployee(), null, "manager", null, 0, 1, Employee.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(addressableEClass, Addressable.class, "Addressable", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getAddressable_Address(), ecorePackage.getEString(), "address", null, 0, 1, Addressable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(bookCategoryEEnum, BookCategory.class, "BookCategory");
+ addEEnumLiteral(bookCategoryEEnum, BookCategory.MYSTERY);
+ addEEnumLiteral(bookCategoryEEnum, BookCategory.SCIENCE_FICTION);
+ addEEnumLiteral(bookCategoryEEnum, BookCategory.BIOGRAPHY);
+
+ // Create resource
+ createResource(eNS_URI);
+
+ // Create annotations
+ // teneo.jpa
+ createTeneoAnnotations();
+ // http:///org/eclipse/emf/ecore/util/ExtendedMetaData
+ createExtendedMetaDataAnnotations();
+ // http://annotation.elver.org/JoinColumn
+ createJoinColumnAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>teneo.jpa</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createTeneoAnnotations() {
+ String source = "teneo.jpa";
+ addAnnotation
+ (getBook_Category(),
+ source,
+ new String[] {
+ "value", "@Enumerated(ORDINAL)"
+ });
+ addAnnotation
+ (getLibrary_Writers(),
+ source,
+ new String[] {
+ "value", "@IdBag"
+ });
+ }
+
+ /**
+ * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createExtendedMetaDataAnnotations() {
+ String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData";
+ addAnnotation
+ (getLibrary_Writers(),
+ source,
+ new String[] {
+ "group", "#people"
+ });
+ addAnnotation
+ (getLibrary_Employees(),
+ source,
+ new String[] {
+ "group", "#people"
+ });
+ addAnnotation
+ (getLibrary_Borrowers(),
+ source,
+ new String[] {
+ "group", "#people"
+ });
+ addAnnotation
+ (getLibrary_People(),
+ source,
+ new String[] {
+ "kind", "group"
+ });
+ }
+
+ /**
+ * Initializes the annotations for <b>http://annotation.elver.org/JoinColumn</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createJoinColumnAnnotations() {
+ String source = "http://annotation.elver.org/JoinColumn";
+ addAnnotation
+ (getBookOnTape_BookAuthor(),
+ source,
+ new String[] {
+ "name", "BookOnTapeAuthor"
+ });
+ }
+
+} //ExtlibraryPackageImpl
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/ItemImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/ItemImpl.java
new file mode 100755
index 000000000..02730f2cc
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/ItemImpl.java
@@ -0,0 +1,169 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ItemImpl.java,v 1.2 2010/03/02 06:08:37 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl;
+
+import java.util.Date;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Item;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Item</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.ItemImpl#getPublicationDate <em>Publication Date</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class ItemImpl extends EObjectImpl implements Item {
+ /**
+ * The default value of the '{@link #getPublicationDate() <em>Publication Date</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPublicationDate()
+ * @generated
+ * @ordered
+ */
+ protected static final Date PUBLICATION_DATE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPublicationDate() <em>Publication Date</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPublicationDate()
+ * @generated
+ * @ordered
+ */
+ protected Date publicationDate = PUBLICATION_DATE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ItemImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtlibraryPackage.Literals.ITEM;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Date getPublicationDate() {
+ return publicationDate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPublicationDate(Date newPublicationDate) {
+ Date oldPublicationDate = publicationDate;
+ publicationDate = newPublicationDate;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtlibraryPackage.ITEM__PUBLICATION_DATE, oldPublicationDate, publicationDate));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ExtlibraryPackage.ITEM__PUBLICATION_DATE:
+ return getPublicationDate();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ExtlibraryPackage.ITEM__PUBLICATION_DATE:
+ setPublicationDate((Date)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ExtlibraryPackage.ITEM__PUBLICATION_DATE:
+ setPublicationDate(PUBLICATION_DATE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ExtlibraryPackage.ITEM__PUBLICATION_DATE:
+ return PUBLICATION_DATE_EDEFAULT == null ? publicationDate != null : !PUBLICATION_DATE_EDEFAULT.equals(publicationDate);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (publicationDate: ");
+ result.append(publicationDate);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ItemImpl
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/LibraryImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/LibraryImpl.java
new file mode 100755
index 000000000..064381db5
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/LibraryImpl.java
@@ -0,0 +1,430 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: LibraryImpl.java,v 1.3 2010/03/03 14:34:11 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary.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.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.BasicFeatureMap;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.FeatureMap;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Book;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Borrower;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Employee;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Item;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Library;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.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.emf.teneo.hibernate.examples.extlibrary.impl.LibraryImpl#getAddress <em>Address</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.LibraryImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.LibraryImpl#getWriters <em>Writers</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.LibraryImpl#getEmployees <em>Employees</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.LibraryImpl#getBorrowers <em>Borrowers</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.LibraryImpl#getStock <em>Stock</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.LibraryImpl#getBooks <em>Books</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.LibraryImpl#getPeople <em>People</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class LibraryImpl extends EObjectImpl implements Library {
+ /**
+ * The default value of the '{@link #getAddress() <em>Address</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAddress()
+ * @generated
+ * @ordered
+ */
+ protected static final String ADDRESS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAddress() <em>Address</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAddress()
+ * @generated
+ * @ordered
+ */
+ protected String address = ADDRESS_EDEFAULT;
+
+ /**
+ * 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 #getStock() <em>Stock</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStock()
+ * @generated
+ * @ordered
+ */
+ protected EList<Item> stock;
+
+ /**
+ * The cached value of the '{@link #getBooks() <em>Books</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBooks()
+ * @generated
+ * @ordered
+ */
+ protected EList<Book> books;
+
+ /**
+ * The cached value of the '{@link #getPeople() <em>People</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPeople()
+ * @generated
+ * @ordered
+ */
+ protected FeatureMap people;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LibraryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtlibraryPackage.Literals.LIBRARY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getAddress() {
+ return address;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAddress(String newAddress) {
+ String oldAddress = address;
+ address = newAddress;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtlibraryPackage.LIBRARY__ADDRESS, oldAddress, address));
+ }
+
+ /**
+ * <!-- 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, ExtlibraryPackage.LIBRARY__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Writer> getWriters() {
+ return getPeople().list(ExtlibraryPackage.Literals.LIBRARY__WRITERS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Employee> getEmployees() {
+ return getPeople().list(ExtlibraryPackage.Literals.LIBRARY__EMPLOYEES);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Borrower> getBorrowers() {
+ return getPeople().list(ExtlibraryPackage.Literals.LIBRARY__BORROWERS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Item> getStock() {
+ if (stock == null) {
+ stock = new EObjectContainmentEList<Item>(Item.class, this, ExtlibraryPackage.LIBRARY__STOCK);
+ }
+ return stock;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Book> getBooks() {
+ if (books == null) {
+ books = new EObjectResolvingEList<Book>(Book.class, this, ExtlibraryPackage.LIBRARY__BOOKS);
+ }
+ return books;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FeatureMap getPeople() {
+ if (people == null) {
+ people = new BasicFeatureMap(this, ExtlibraryPackage.LIBRARY__PEOPLE);
+ }
+ return people;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ExtlibraryPackage.LIBRARY__WRITERS:
+ return ((InternalEList<?>)getWriters()).basicRemove(otherEnd, msgs);
+ case ExtlibraryPackage.LIBRARY__EMPLOYEES:
+ return ((InternalEList<?>)getEmployees()).basicRemove(otherEnd, msgs);
+ case ExtlibraryPackage.LIBRARY__BORROWERS:
+ return ((InternalEList<?>)getBorrowers()).basicRemove(otherEnd, msgs);
+ case ExtlibraryPackage.LIBRARY__STOCK:
+ return ((InternalEList<?>)getStock()).basicRemove(otherEnd, msgs);
+ case ExtlibraryPackage.LIBRARY__PEOPLE:
+ return ((InternalEList<?>)getPeople()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ExtlibraryPackage.LIBRARY__ADDRESS:
+ return getAddress();
+ case ExtlibraryPackage.LIBRARY__NAME:
+ return getName();
+ case ExtlibraryPackage.LIBRARY__WRITERS:
+ return getWriters();
+ case ExtlibraryPackage.LIBRARY__EMPLOYEES:
+ return getEmployees();
+ case ExtlibraryPackage.LIBRARY__BORROWERS:
+ return getBorrowers();
+ case ExtlibraryPackage.LIBRARY__STOCK:
+ return getStock();
+ case ExtlibraryPackage.LIBRARY__BOOKS:
+ return getBooks();
+ case ExtlibraryPackage.LIBRARY__PEOPLE:
+ if (coreType) return getPeople();
+ return ((FeatureMap.Internal)getPeople()).getWrapper();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ExtlibraryPackage.LIBRARY__ADDRESS:
+ setAddress((String)newValue);
+ return;
+ case ExtlibraryPackage.LIBRARY__NAME:
+ setName((String)newValue);
+ return;
+ case ExtlibraryPackage.LIBRARY__WRITERS:
+ getWriters().clear();
+ getWriters().addAll((Collection<? extends Writer>)newValue);
+ return;
+ case ExtlibraryPackage.LIBRARY__EMPLOYEES:
+ getEmployees().clear();
+ getEmployees().addAll((Collection<? extends Employee>)newValue);
+ return;
+ case ExtlibraryPackage.LIBRARY__BORROWERS:
+ getBorrowers().clear();
+ getBorrowers().addAll((Collection<? extends Borrower>)newValue);
+ return;
+ case ExtlibraryPackage.LIBRARY__STOCK:
+ getStock().clear();
+ getStock().addAll((Collection<? extends Item>)newValue);
+ return;
+ case ExtlibraryPackage.LIBRARY__BOOKS:
+ getBooks().clear();
+ getBooks().addAll((Collection<? extends Book>)newValue);
+ return;
+ case ExtlibraryPackage.LIBRARY__PEOPLE:
+ ((FeatureMap.Internal)getPeople()).set(newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ExtlibraryPackage.LIBRARY__ADDRESS:
+ setAddress(ADDRESS_EDEFAULT);
+ return;
+ case ExtlibraryPackage.LIBRARY__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case ExtlibraryPackage.LIBRARY__WRITERS:
+ getWriters().clear();
+ return;
+ case ExtlibraryPackage.LIBRARY__EMPLOYEES:
+ getEmployees().clear();
+ return;
+ case ExtlibraryPackage.LIBRARY__BORROWERS:
+ getBorrowers().clear();
+ return;
+ case ExtlibraryPackage.LIBRARY__STOCK:
+ getStock().clear();
+ return;
+ case ExtlibraryPackage.LIBRARY__BOOKS:
+ getBooks().clear();
+ return;
+ case ExtlibraryPackage.LIBRARY__PEOPLE:
+ getPeople().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ExtlibraryPackage.LIBRARY__ADDRESS:
+ return ADDRESS_EDEFAULT == null ? address != null : !ADDRESS_EDEFAULT.equals(address);
+ case ExtlibraryPackage.LIBRARY__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case ExtlibraryPackage.LIBRARY__WRITERS:
+ return !getWriters().isEmpty();
+ case ExtlibraryPackage.LIBRARY__EMPLOYEES:
+ return !getEmployees().isEmpty();
+ case ExtlibraryPackage.LIBRARY__BORROWERS:
+ return !getBorrowers().isEmpty();
+ case ExtlibraryPackage.LIBRARY__STOCK:
+ return stock != null && !stock.isEmpty();
+ case ExtlibraryPackage.LIBRARY__BOOKS:
+ return books != null && !books.isEmpty();
+ case ExtlibraryPackage.LIBRARY__PEOPLE:
+ return people != null && !people.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (address: ");
+ result.append(address);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", people: ");
+ result.append(people);
+ result.append(')');
+ return result.toString();
+ }
+
+} //LibraryImpl
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/PeriodicalImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/PeriodicalImpl.java
new file mode 100755
index 000000000..fc4d3b747
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/PeriodicalImpl.java
@@ -0,0 +1,220 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PeriodicalImpl.java,v 1.2 2010/03/02 06:08:38 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Periodical;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Periodical</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.PeriodicalImpl#getTitle <em>Title</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.PeriodicalImpl#getIssuesPerYear <em>Issues Per Year</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class PeriodicalImpl extends ItemImpl implements Periodical {
+ /**
+ * 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 #getIssuesPerYear() <em>Issues Per Year</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIssuesPerYear()
+ * @generated
+ * @ordered
+ */
+ protected static final int ISSUES_PER_YEAR_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getIssuesPerYear() <em>Issues Per Year</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIssuesPerYear()
+ * @generated
+ * @ordered
+ */
+ protected int issuesPerYear = ISSUES_PER_YEAR_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PeriodicalImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtlibraryPackage.Literals.PERIODICAL;
+ }
+
+ /**
+ * <!-- 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, ExtlibraryPackage.PERIODICAL__TITLE, oldTitle, title));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getIssuesPerYear() {
+ return issuesPerYear;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIssuesPerYear(int newIssuesPerYear) {
+ int oldIssuesPerYear = issuesPerYear;
+ issuesPerYear = newIssuesPerYear;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtlibraryPackage.PERIODICAL__ISSUES_PER_YEAR, oldIssuesPerYear, issuesPerYear));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ExtlibraryPackage.PERIODICAL__TITLE:
+ return getTitle();
+ case ExtlibraryPackage.PERIODICAL__ISSUES_PER_YEAR:
+ return getIssuesPerYear();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ExtlibraryPackage.PERIODICAL__TITLE:
+ setTitle((String)newValue);
+ return;
+ case ExtlibraryPackage.PERIODICAL__ISSUES_PER_YEAR:
+ setIssuesPerYear((Integer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ExtlibraryPackage.PERIODICAL__TITLE:
+ setTitle(TITLE_EDEFAULT);
+ return;
+ case ExtlibraryPackage.PERIODICAL__ISSUES_PER_YEAR:
+ setIssuesPerYear(ISSUES_PER_YEAR_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ExtlibraryPackage.PERIODICAL__TITLE:
+ return TITLE_EDEFAULT == null ? title != null : !TITLE_EDEFAULT.equals(title);
+ case ExtlibraryPackage.PERIODICAL__ISSUES_PER_YEAR:
+ return issuesPerYear != ISSUES_PER_YEAR_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (title: ");
+ result.append(title);
+ result.append(", issuesPerYear: ");
+ result.append(issuesPerYear);
+ result.append(')');
+ return result.toString();
+ }
+
+} //PeriodicalImpl
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/PersonImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/PersonImpl.java
new file mode 100755
index 000000000..c22b7d3ac
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/PersonImpl.java
@@ -0,0 +1,275 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PersonImpl.java,v 1.2 2010/03/02 06:08:37 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Person;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Person</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.PersonImpl#getAddress <em>Address</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.PersonImpl#getFirstName <em>First Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.PersonImpl#getLastName <em>Last Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PersonImpl extends EObjectImpl implements Person {
+ /**
+ * The default value of the '{@link #getAddress() <em>Address</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAddress()
+ * @generated
+ * @ordered
+ */
+ protected static final String ADDRESS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAddress() <em>Address</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAddress()
+ * @generated
+ * @ordered
+ */
+ protected String address = ADDRESS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getFirstName() <em>First Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFirstName()
+ * @generated
+ * @ordered
+ */
+ protected static final String FIRST_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFirstName() <em>First Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFirstName()
+ * @generated
+ * @ordered
+ */
+ protected String firstName = FIRST_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLastName() <em>Last Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLastName()
+ * @generated
+ * @ordered
+ */
+ protected static final String LAST_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLastName() <em>Last Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLastName()
+ * @generated
+ * @ordered
+ */
+ protected String lastName = LAST_NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PersonImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtlibraryPackage.Literals.PERSON;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getAddress() {
+ return address;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAddress(String newAddress) {
+ String oldAddress = address;
+ address = newAddress;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtlibraryPackage.PERSON__ADDRESS, oldAddress, address));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFirstName() {
+ return firstName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFirstName(String newFirstName) {
+ String oldFirstName = firstName;
+ firstName = newFirstName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtlibraryPackage.PERSON__FIRST_NAME, oldFirstName, firstName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLastName() {
+ return lastName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLastName(String newLastName) {
+ String oldLastName = lastName;
+ lastName = newLastName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ExtlibraryPackage.PERSON__LAST_NAME, oldLastName, lastName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ExtlibraryPackage.PERSON__ADDRESS:
+ return getAddress();
+ case ExtlibraryPackage.PERSON__FIRST_NAME:
+ return getFirstName();
+ case ExtlibraryPackage.PERSON__LAST_NAME:
+ return getLastName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ExtlibraryPackage.PERSON__ADDRESS:
+ setAddress((String)newValue);
+ return;
+ case ExtlibraryPackage.PERSON__FIRST_NAME:
+ setFirstName((String)newValue);
+ return;
+ case ExtlibraryPackage.PERSON__LAST_NAME:
+ setLastName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ExtlibraryPackage.PERSON__ADDRESS:
+ setAddress(ADDRESS_EDEFAULT);
+ return;
+ case ExtlibraryPackage.PERSON__FIRST_NAME:
+ setFirstName(FIRST_NAME_EDEFAULT);
+ return;
+ case ExtlibraryPackage.PERSON__LAST_NAME:
+ setLastName(LAST_NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ExtlibraryPackage.PERSON__ADDRESS:
+ return ADDRESS_EDEFAULT == null ? address != null : !ADDRESS_EDEFAULT.equals(address);
+ case ExtlibraryPackage.PERSON__FIRST_NAME:
+ return FIRST_NAME_EDEFAULT == null ? firstName != null : !FIRST_NAME_EDEFAULT.equals(firstName);
+ case ExtlibraryPackage.PERSON__LAST_NAME:
+ return LAST_NAME_EDEFAULT == null ? lastName != null : !LAST_NAME_EDEFAULT.equals(lastName);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (address: ");
+ result.append(address);
+ result.append(", firstName: ");
+ result.append(firstName);
+ result.append(", lastName: ");
+ result.append(lastName);
+ result.append(')');
+ return result.toString();
+ }
+
+} //PersonImpl
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/VideoCassetteImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/VideoCassetteImpl.java
new file mode 100755
index 000000000..5e7496300
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/VideoCassetteImpl.java
@@ -0,0 +1,136 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: VideoCassetteImpl.java,v 1.2 2010/03/02 06:08:37 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Person;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.VideoCassette;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Video Cassette</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.VideoCassetteImpl#getCast <em>Cast</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VideoCassetteImpl extends AudioVisualItemImpl implements VideoCassette {
+ /**
+ * The cached value of the '{@link #getCast() <em>Cast</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCast()
+ * @generated
+ * @ordered
+ */
+ protected EList<Person> cast;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VideoCassetteImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtlibraryPackage.Literals.VIDEO_CASSETTE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Person> getCast() {
+ if (cast == null) {
+ cast = new EObjectResolvingEList<Person>(Person.class, this, ExtlibraryPackage.VIDEO_CASSETTE__CAST);
+ }
+ return cast;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ExtlibraryPackage.VIDEO_CASSETTE__CAST:
+ return getCast();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ExtlibraryPackage.VIDEO_CASSETTE__CAST:
+ getCast().clear();
+ getCast().addAll((Collection<? extends Person>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ExtlibraryPackage.VIDEO_CASSETTE__CAST:
+ getCast().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ExtlibraryPackage.VIDEO_CASSETTE__CAST:
+ return cast != null && !cast.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //VideoCassetteImpl
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/WriterImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/WriterImpl.java
new file mode 100755
index 000000000..718a18517
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/impl/WriterImpl.java
@@ -0,0 +1,239 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: WriterImpl.java,v 1.3 2010/03/03 10:48:41 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary.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.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Book;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage;
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.Writer;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Writer</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.WriterImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.impl.WriterImpl#getBooks <em>Books</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class WriterImpl extends PersonImpl implements Writer {
+ /**
+ * 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 #getBooks() <em>Books</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBooks()
+ * @generated
+ * @ordered
+ */
+ protected EList<Book> books;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected WriterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ExtlibraryPackage.Literals.WRITER;
+ }
+
+ /**
+ * <!-- 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, ExtlibraryPackage.WRITER__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Book> getBooks() {
+ if (books == null) {
+ books = new EObjectWithInverseResolvingEList<Book>(Book.class, this, ExtlibraryPackage.WRITER__BOOKS, ExtlibraryPackage.BOOK__AUTHOR);
+ }
+ return books;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ExtlibraryPackage.WRITER__BOOKS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getBooks()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ExtlibraryPackage.WRITER__BOOKS:
+ return ((InternalEList<?>)getBooks()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ExtlibraryPackage.WRITER__NAME:
+ return getName();
+ case ExtlibraryPackage.WRITER__BOOKS:
+ return getBooks();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ExtlibraryPackage.WRITER__NAME:
+ setName((String)newValue);
+ return;
+ case ExtlibraryPackage.WRITER__BOOKS:
+ getBooks().clear();
+ getBooks().addAll((Collection<? extends Book>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ExtlibraryPackage.WRITER__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case ExtlibraryPackage.WRITER__BOOKS:
+ getBooks().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ExtlibraryPackage.WRITER__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case ExtlibraryPackage.WRITER__BOOKS:
+ return books != null && !books.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ 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();
+ }
+
+} //WriterImpl
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/util/ExtlibraryAdapterFactory.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/util/ExtlibraryAdapterFactory.java
new file mode 100755
index 000000000..0ab3e43cd
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/util/ExtlibraryAdapterFactory.java
@@ -0,0 +1,358 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ExtlibraryAdapterFactory.java,v 1.2 2010/03/02 06:08:35 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage
+ * @generated
+ */
+public class ExtlibraryAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ExtlibraryPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtlibraryAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = ExtlibraryPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtlibrarySwitch<Adapter> modelSwitch =
+ new ExtlibrarySwitch<Adapter>() {
+ @Override
+ public Adapter caseBook(Book object) {
+ return createBookAdapter();
+ }
+ @Override
+ public Adapter caseLibrary(Library object) {
+ return createLibraryAdapter();
+ }
+ @Override
+ public Adapter caseWriter(Writer object) {
+ return createWriterAdapter();
+ }
+ @Override
+ public Adapter caseItem(Item object) {
+ return createItemAdapter();
+ }
+ @Override
+ public Adapter caseLendable(Lendable object) {
+ return createLendableAdapter();
+ }
+ @Override
+ public Adapter caseCirculatingItem(CirculatingItem object) {
+ return createCirculatingItemAdapter();
+ }
+ @Override
+ public Adapter casePeriodical(Periodical object) {
+ return createPeriodicalAdapter();
+ }
+ @Override
+ public Adapter caseAudioVisualItem(AudioVisualItem object) {
+ return createAudioVisualItemAdapter();
+ }
+ @Override
+ public Adapter caseBookOnTape(BookOnTape object) {
+ return createBookOnTapeAdapter();
+ }
+ @Override
+ public Adapter caseVideoCassette(VideoCassette object) {
+ return createVideoCassetteAdapter();
+ }
+ @Override
+ public Adapter caseBorrower(Borrower object) {
+ return createBorrowerAdapter();
+ }
+ @Override
+ public Adapter casePerson(Person object) {
+ return createPersonAdapter();
+ }
+ @Override
+ public Adapter caseEmployee(Employee object) {
+ return createEmployeeAdapter();
+ }
+ @Override
+ public Adapter caseAddressable(Addressable object) {
+ return createAddressableAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Book <em>Book</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Book
+ * @generated
+ */
+ public Adapter createBookAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Library <em>Library</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Library
+ * @generated
+ */
+ public Adapter createLibraryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Writer <em>Writer</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Writer
+ * @generated
+ */
+ public Adapter createWriterAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Item <em>Item</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Item
+ * @generated
+ */
+ public Adapter createItemAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Lendable <em>Lendable</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Lendable
+ * @generated
+ */
+ public Adapter createLendableAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.CirculatingItem <em>Circulating Item</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.CirculatingItem
+ * @generated
+ */
+ public Adapter createCirculatingItemAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Periodical <em>Periodical</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Periodical
+ * @generated
+ */
+ public Adapter createPeriodicalAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.AudioVisualItem <em>Audio Visual Item</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.AudioVisualItem
+ * @generated
+ */
+ public Adapter createAudioVisualItemAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.BookOnTape <em>Book On Tape</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.BookOnTape
+ * @generated
+ */
+ public Adapter createBookOnTapeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.VideoCassette <em>Video Cassette</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.VideoCassette
+ * @generated
+ */
+ public Adapter createVideoCassetteAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Borrower <em>Borrower</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Borrower
+ * @generated
+ */
+ public Adapter createBorrowerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Person <em>Person</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Person
+ * @generated
+ */
+ public Adapter createPersonAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Employee <em>Employee</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Employee
+ * @generated
+ */
+ public Adapter createEmployeeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.hibernate.examples.extlibrary.Addressable <em>Addressable</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.Addressable
+ * @generated
+ */
+ public Adapter createAddressableAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //ExtlibraryAdapterFactory
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/util/ExtlibraryResourceFactoryImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/util/ExtlibraryResourceFactoryImpl.java
new file mode 100755
index 000000000..437141017
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/util/ExtlibraryResourceFactoryImpl.java
@@ -0,0 +1,56 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ExtlibraryResourceFactoryImpl.java,v 1.2 2010/03/02 06:08:35 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.util.ExtlibraryResourceImpl
+ * @generated
+ */
+public class ExtlibraryResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtlibraryResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new ExtlibraryResourceImpl(uri);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+ return result;
+ }
+
+} //ExtlibraryResourceFactoryImpl
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/util/ExtlibraryResourceImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/util/ExtlibraryResourceImpl.java
new file mode 100755
index 000000000..19b43cb27
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/util/ExtlibraryResourceImpl.java
@@ -0,0 +1,32 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ExtlibraryResourceImpl.java,v 1.2 2010/03/02 06:08:35 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.util.ExtlibraryResourceFactoryImpl
+ * @generated
+ */
+public class ExtlibraryResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public ExtlibraryResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //ExtlibraryResourceImpl
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/util/ExtlibrarySwitch.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/util/ExtlibrarySwitch.java
new file mode 100755
index 000000000..be2f5d689
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/util/ExtlibrarySwitch.java
@@ -0,0 +1,428 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ExtlibrarySwitch.java,v 1.2 2010/03/02 06:08:36 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage
+ * @generated
+ */
+public class ExtlibrarySwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ExtlibraryPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtlibrarySwitch() {
+ if (modelPackage == null) {
+ modelPackage = ExtlibraryPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case ExtlibraryPackage.BOOK: {
+ Book book = (Book)theEObject;
+ T result = caseBook(book);
+ if (result == null) result = caseCirculatingItem(book);
+ if (result == null) result = caseItem(book);
+ if (result == null) result = caseLendable(book);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtlibraryPackage.LIBRARY: {
+ Library library = (Library)theEObject;
+ T result = caseLibrary(library);
+ if (result == null) result = caseAddressable(library);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtlibraryPackage.WRITER: {
+ Writer writer = (Writer)theEObject;
+ T result = caseWriter(writer);
+ if (result == null) result = casePerson(writer);
+ if (result == null) result = caseAddressable(writer);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtlibraryPackage.ITEM: {
+ Item item = (Item)theEObject;
+ T result = caseItem(item);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtlibraryPackage.LENDABLE: {
+ Lendable lendable = (Lendable)theEObject;
+ T result = caseLendable(lendable);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtlibraryPackage.CIRCULATING_ITEM: {
+ CirculatingItem circulatingItem = (CirculatingItem)theEObject;
+ T result = caseCirculatingItem(circulatingItem);
+ if (result == null) result = caseItem(circulatingItem);
+ if (result == null) result = caseLendable(circulatingItem);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtlibraryPackage.PERIODICAL: {
+ Periodical periodical = (Periodical)theEObject;
+ T result = casePeriodical(periodical);
+ if (result == null) result = caseItem(periodical);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtlibraryPackage.AUDIO_VISUAL_ITEM: {
+ AudioVisualItem audioVisualItem = (AudioVisualItem)theEObject;
+ T result = caseAudioVisualItem(audioVisualItem);
+ if (result == null) result = caseCirculatingItem(audioVisualItem);
+ if (result == null) result = caseItem(audioVisualItem);
+ if (result == null) result = caseLendable(audioVisualItem);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtlibraryPackage.BOOK_ON_TAPE: {
+ BookOnTape bookOnTape = (BookOnTape)theEObject;
+ T result = caseBookOnTape(bookOnTape);
+ if (result == null) result = caseAudioVisualItem(bookOnTape);
+ if (result == null) result = caseCirculatingItem(bookOnTape);
+ if (result == null) result = caseItem(bookOnTape);
+ if (result == null) result = caseLendable(bookOnTape);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtlibraryPackage.VIDEO_CASSETTE: {
+ VideoCassette videoCassette = (VideoCassette)theEObject;
+ T result = caseVideoCassette(videoCassette);
+ if (result == null) result = caseAudioVisualItem(videoCassette);
+ if (result == null) result = caseCirculatingItem(videoCassette);
+ if (result == null) result = caseItem(videoCassette);
+ if (result == null) result = caseLendable(videoCassette);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtlibraryPackage.BORROWER: {
+ Borrower borrower = (Borrower)theEObject;
+ T result = caseBorrower(borrower);
+ if (result == null) result = casePerson(borrower);
+ if (result == null) result = caseAddressable(borrower);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtlibraryPackage.PERSON: {
+ Person person = (Person)theEObject;
+ T result = casePerson(person);
+ if (result == null) result = caseAddressable(person);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtlibraryPackage.EMPLOYEE: {
+ Employee employee = (Employee)theEObject;
+ T result = caseEmployee(employee);
+ if (result == null) result = casePerson(employee);
+ if (result == null) result = caseAddressable(employee);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ExtlibraryPackage.ADDRESSABLE: {
+ Addressable addressable = (Addressable)theEObject;
+ T result = caseAddressable(addressable);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Book</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Book</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBook(Book object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Library</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Library</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLibrary(Library object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Writer</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Writer</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseWriter(Writer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Item</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Item</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseItem(Item object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Lendable</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Lendable</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLendable(Lendable object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Circulating Item</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Circulating Item</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCirculatingItem(CirculatingItem object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Periodical</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Periodical</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePeriodical(Periodical object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Audio Visual Item</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Audio Visual Item</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAudioVisualItem(AudioVisualItem object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Book On Tape</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Book On Tape</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBookOnTape(BookOnTape object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Video Cassette</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Video Cassette</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVideoCassette(VideoCassette object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Borrower</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Borrower</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBorrower(Borrower object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Person</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Person</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePerson(Person object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Employee</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Employee</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEmployee(Employee object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Addressable</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Addressable</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAddressable(Addressable object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //ExtlibrarySwitch
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/util/ExtlibraryXMLProcessor.java b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/util/ExtlibraryXMLProcessor.java
new file mode 100755
index 000000000..4be340e8a
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.examples/src/org/eclipse/emf/teneo/hibernate/examples/extlibrary/util/ExtlibraryXMLProcessor.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ExtlibraryXMLProcessor.java,v 1.2 2010/03/02 06:08:35 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.examples.extlibrary.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+
+import org.eclipse.emf.teneo.hibernate.examples.extlibrary.ExtlibraryPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExtlibraryXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtlibraryXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ ExtlibraryPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the ExtlibraryResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new ExtlibraryResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new ExtlibraryResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //ExtlibraryXMLProcessor
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.classpath b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.classpath
new file mode 100755
index 000000000..64c5e31b7
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.cvsignore b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.cvsignore
new file mode 100755
index 000000000..7ce3b4d3f
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.cvsignore
@@ -0,0 +1,2 @@
+bin*
+*.jar
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.project b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.project
new file mode 100755
index 000000000..f89868e94
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.project
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emf.teneo.hibernate.mapper</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.validation.validationbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+ </natures>
+</projectDescription>
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/.cvsignore b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/.cvsignore
new file mode 100755
index 000000000..2d013705a
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/.cvsignore
@@ -0,0 +1,2 @@
+org.eclipse.wst.common.component
+org.eclipse.wst.common.project.facet.core.xml
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/.jsdtscope b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/.jsdtscope
new file mode 100644
index 000000000..0e4b119ca
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/.jsdtscope
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="output" path=""/>
+</classpath>
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jdt.core.prefs b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jdt.core.prefs
new file mode 100755
index 000000000..05d22a303
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+#Mon Feb 08 06:55:22 CET 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jdt.ui.prefs b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jdt.ui.prefs
new file mode 100755
index 000000000..7e986800d
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,3 @@
+#Sat Nov 25 21:46:00 CET 2006
+eclipse.preferences.version=1
+internal.default.compliance=default
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jst.common.project.facet.core.prefs b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jst.common.project.facet.core.prefs
new file mode 100755
index 000000000..cbff5f2bd
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jst.common.project.facet.core.prefs
@@ -0,0 +1,3 @@
+#Wed Feb 07 12:33:50 CET 2007
+classpath.helper/org.eclipse.jdt.launching.JRE_CONTAINER\:\:org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType\:\:jdk1.5.0_06/owners=jst.java\:5.0
+eclipse.preferences.version=1
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.common.project.facet.core.xml b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.common.project.facet.core.xml
new file mode 100644
index 000000000..88ceb05cc
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+</faceted-project>
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.jsdt.ui.superType.container b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.jsdt.ui.superType.container
new file mode 100644
index 000000000..3bd5d0a48
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.jsdt.ui.superType.container
@@ -0,0 +1 @@
+org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.jsdt.ui.superType.name b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.jsdt.ui.superType.name
new file mode 100644
index 000000000..05bd71b6e
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.jsdt.ui.superType.name
@@ -0,0 +1 @@
+Window \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/META-INF/MANIFEST.MF b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/META-INF/MANIFEST.MF
new file mode 100755
index 000000000..b5d6ac7a4
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/META-INF/MANIFEST.MF
@@ -0,0 +1,25 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Plugin.name
+Bundle-SymbolicName: org.eclipse.emf.teneo.hibernate.mapper;singleton:=true
+Bundle-Version: 1.2.0.qualifier
+Bundle-Localization: plugin
+Eclipse-BuddyPolicy: dependent
+Bundle-Vendor: %Plugin.providerName
+Export-Package: org.eclipse.emf.teneo.hibernate.annotations;version="1.1.2",
+ org.eclipse.emf.teneo.hibernate.cdo;version="1.1.2",
+ org.eclipse.emf.teneo.hibernate.hbannotation;version="1.1.2",
+ org.eclipse.emf.teneo.hibernate.hbannotation.impl;version="1.1.2",
+ org.eclipse.emf.teneo.hibernate.hbannotation.util;version="1.1.2",
+ org.eclipse.emf.teneo.hibernate.hbannotation.validation;version="1.1.2",
+ org.eclipse.emf.teneo.hibernate.hbmodel;version="1.1.2",
+ org.eclipse.emf.teneo.hibernate.hbmodel.impl;version="1.1.2",
+ org.eclipse.emf.teneo.hibernate.hbmodel.util;version="1.1.2",
+ org.eclipse.emf.teneo.hibernate.hbmodel.validation;version="1.1.2",
+ org.eclipse.emf.teneo.hibernate.mapper;version="1.1.2",
+ org.eclipse.emf.teneo.hibernate.mapper.classic;version="1.1.2"
+Require-Bundle: org.eclipse.emf.teneo;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.teneo.annotations;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)"
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Import-Package: org.apache.commons.logging;version="[1.0.0,2.0.0)"
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.html b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.html
new file mode 100755
index 000000000..5a279453c
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head><body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007, 2008</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body></html> \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.ini b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.ini
new file mode 100755
index 000000000..1d17e5539
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.ini
@@ -0,0 +1,17 @@
+# about.ini
+# contains information about a feature
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# "%key" are externalized strings defined in about.properties
+# This file does not need to be translated.
+
+# Property "aboutText" contains blurb for "About" dialog (translated)
+aboutText=%featureText
+
+# Property "featureImage" contains path to feature image (32x32)
+featureImage=modeling32.png
+
+# Property "appName" contains name of the application (translated)
+appName=%featureName
+
+# Property "welcomePage" contains path to welcome page (special XML-based format)
+#welcomePage=$nl$/welcome.xml
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.properties b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.properties
new file mode 100755
index 000000000..71baa9f3c
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.properties
@@ -0,0 +1,46 @@
+#/**
+# * <copyright>
+# *
+# * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+# * All rights reserved. This program and the accompanying materials
+# * are made available under the terms of the Eclipse Public License v1.0
+# * which accompanies this distribution, and is available at
+# * http://www.eclipse.org/legal/epl-v10.html
+# *
+# * Contributors:
+# * Martin Taal - Initial API and implementation
+# *
+# * </copyright>
+# *
+# * $Id: about.properties,v 1.4 2009/02/24 12:05:26 mtaal Exp $
+# */
+
+# NLS_MESSAGEFORMAT_VAR
+
+# ==============================================================================
+# Do not change the properties between this line and the last line containing:
+# %%% END OF TRANSLATED PROPERTIES %%%
+# Instead, either redefine an existing property, or create a new property,
+# append it to the end of the file, and change the code to use the new name.
+# ==============================================================================
+
+# about.properties
+# contains externalized strings for about.ini
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# fill-ins are supplied by about.mappings
+# This file should be translated.
+
+featureName=Eclipse Modeling Framework Technology Object Relational Persistence
+
+featureText=Eclipse Modeling Framework Technology Object Relational Persistence \n\
+Version: {featureVersion}\n\
+Build id: {0}\n\
+\n\
+(c) Copyright Springsite BV (The Netherlands) and others. 2006 - 2009. All rights reserved.\n\
+\n\
+Visit http://www.eclipse.org/emft
+
+# ==============================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# The above properties have been shipped for translation.
+# ==============================================================================
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/build.properties b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/build.properties
new file mode 100755
index 000000000..7c919daa7
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/build.properties
@@ -0,0 +1,28 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id: build.properties,v 1.11 2011/02/21 04:42:49 mtaal Exp $
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html,\
+ about.ini,\
+ about.properties,\
+ copyright.txt,\
+ epl-v10.html,\
+ license.html,\
+ modeling32.png
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+src.includes = about.html,\
+ about.ini,\
+ about.properties,\
+ copyright.txt,\
+ epl-v10.html,\
+ license.html,\
+ modeling32.png
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/copyright.txt b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/copyright.txt
new file mode 100755
index 000000000..537e4f8c1
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/copyright.txt
@@ -0,0 +1,9 @@
+Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
+
+Contributors:
+ Martin Taal
+ Davide Marchignoli
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/epl-v10.html b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/epl-v10.html
new file mode 100755
index 000000000..d7b88e941
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/epl-v10.html
@@ -0,0 +1,319 @@
+<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="ProgId" content="Word.Document">
+<meta name="Generator" content="Microsoft Word 9">
+<meta name="Originator" content="Microsoft Word 9">
+<link rel="File-List" href="http://www.eclipse.org/org/documents/Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml"><title>Eclipse Public License - Version 1.0</title><!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+ <o:Revision>2</o:Revision>
+ <o:TotalTime>3</o:TotalTime>
+ <o:Created>2004-03-05T23:03:00Z</o:Created>
+ <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
+ <o:Pages>4</o:Pages>
+ <o:Words>1626</o:Words>
+ <o:Characters>9270</o:Characters>
+ <o:Lines>77</o:Lines>
+ <o:Paragraphs>18</o:Paragraphs>
+ <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
+ <o:Version>9.4402</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+ <w:TrackRevisions/>
+ </w:WordDocument>
+</xml><![endif]-->
+
+
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+ {font-family:Tahoma;
+ panose-1:2 11 6 4 3 5 4 4 2 4;
+ mso-font-charset:0;
+ mso-generic-font-family:swiss;
+ mso-font-pitch:variable;
+ mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+ {mso-style-parent:"";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";}
+p
+ {margin-right:0in;
+ mso-margin-top-alt:auto;
+ mso-margin-bottom-alt:auto;
+ margin-left:0in;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";}
+p.BalloonText, li.BalloonText, div.BalloonText
+ {mso-style-name:"Balloon Text";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:8.0pt;
+ font-family:Tahoma;
+ mso-fareast-font-family:"Times New Roman";}
+@page Section1
+ {size:8.5in 11.0in;
+ margin:1.0in 1.25in 1.0in 1.25in;
+ mso-header-margin:.5in;
+ mso-footer-margin:.5in;
+ mso-paper-source:0;}
+div.Section1
+ {page:Section1;}
+-->
+</style></head>
+
+<body style="" lang="EN-US">
+
+<div class="Section1">
+
+<p style="text-align: center;" align="center"><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style="font-size: 10pt;">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style="font-size: 10pt;">1. DEFINITIONS</span></b> </p>
+
+<p><span style="font-size: 10pt;">"Contribution" means:</span> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear="left">
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
+changes to the Program, and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
+additions to the Program;</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">where
+such changes and/or additions to the Program originate from and are distributed
+by that particular Contributor. A Contribution 'originates' from a Contributor
+if it was added to the Program by such Contributor itself or anyone acting on
+such Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style="font-size: 10pt;">"Contributor" means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style="font-size: 10pt;">"Licensed Patents " mean patent
+claims licensable by a Contributor which are necessarily infringed by the use
+or sale of its Contribution alone or when combined with the Program. </span></p>
+
+<p><span style="font-size: 10pt;">"Program" means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style="font-size: 10pt;">"Recipient" means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style="font-size: 10pt;">2. GRANT OF RIGHTS</span></b> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span style="color: red;"> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style="color: green;"> </span>royalty-free
+patent license under Licensed Patents to make, use, sell, offer to sell, import
+and otherwise transfer the Contribution of such Contributor, if any, in source
+code and object code form. This patent license shall apply to the combination
+of the Contribution and the Program if, at the time the Contribution is added
+by the Contributor, such addition of the Contribution causes such combination
+to be covered by the Licensed Patents. The patent license shall not apply to
+any other combinations which include the Contribution. No hardware per se is
+licensed hereunder. </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">c)
+Recipient understands that although each Contributor grants the licenses to its
+Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">d)
+Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement. </span></p>
+
+<p><b><span style="font-size: 10pt;">3. REQUIREMENTS</span></b> </p>
+
+<p><span style="font-size: 10pt;">A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
+its license agreement:</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
+effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose; </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
+effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages, such
+as lost profits; </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iii)
+states that any provisions which differ from this Agreement are offered by that
+Contributor alone and not by any other party; and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iv)
+states that source code for the Program is available from such Contributor, and
+informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.<span style="color: blue;"> </span></span></p>
+
+<p><span style="font-size: 10pt;">When the Program is made available in source
+code form:</span> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+it must be made available under this Agreement; and </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b) a
+copy of this Agreement must be included with each copy of the Program. </span></p>
+
+<p><span style="font-size: 10pt;">Contributors may not remove or alter any
+copyright notices contained within the Program. </span></p>
+
+<p><span style="font-size: 10pt;">Each Contributor must identify itself as the
+originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution. </span></p>
+
+<p><b><span style="font-size: 10pt;">4. COMMERCIAL DISTRIBUTION</span></b> </p>
+
+<p><span style="font-size: 10pt;">Commercial distributors of software may
+accept certain responsibilities with respect to end users, business partners
+and the like. While this license is intended to facilitate the commercial use
+of the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes the
+Program in a commercial product offering, such Contributor ("Commercial
+Contributor") hereby agrees to defend and indemnify every other
+Contributor ("Indemnified Contributor") against any losses, damages and
+costs (collectively "Losses") arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor to
+the extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may participate
+in any such claim at its own expense.</span> </p>
+
+<p><span style="font-size: 10pt;">For example, a Contributor might include the
+Program in a commercial product offering, Product X. That Contributor is then a
+Commercial Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance claims and
+warranties are such Commercial Contributor's responsibility alone. Under this
+section, the Commercial Contributor would have to defend claims against the
+other Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result, the
+Commercial Contributor must pay those damages.</span> </p>
+
+<p><b><span style="font-size: 10pt;">5. NO WARRANTY</span></b> </p>
+
+<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and distributing the
+Program and assumes all risks associated with its exercise of rights under this
+Agreement , including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations. </span></p>
+
+<p><b><span style="font-size: 10pt;">6. DISCLAIMER OF LIABILITY</span></b> </p>
+
+<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
+THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
+
+<p><b><span style="font-size: 10pt;">7. GENERAL</span></b> </p>
+
+<p><span style="font-size: 10pt;">If any provision of this Agreement is invalid
+or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.</span> </p>
+
+<p><span style="font-size: 10pt;">If Recipient institutes patent litigation
+against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with
+other software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the date
+such litigation is filed. </span></p>
+
+<p><span style="font-size: 10pt;">All Recipient's rights under this Agreement
+shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive. </span></p>
+
+<p><span style="font-size: 10pt;">Everyone is permitted to copy and distribute
+copies of this Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement Steward has
+the right to modify this Agreement. The Eclipse Foundation is the initial
+Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version of
+the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.</span> </p>
+
+<p><span style="font-size: 10pt;">This Agreement is governed by the laws of the
+State of New York and the intellectual property laws of the United States of
+America. No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.</span> </p>
+
+<p class="MsoNormal"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></p>
+
+</div>
+
+</body></html> \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/license.html b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/license.html
new file mode 100755
index 000000000..d7b88e941
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/license.html
@@ -0,0 +1,319 @@
+<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="ProgId" content="Word.Document">
+<meta name="Generator" content="Microsoft Word 9">
+<meta name="Originator" content="Microsoft Word 9">
+<link rel="File-List" href="http://www.eclipse.org/org/documents/Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml"><title>Eclipse Public License - Version 1.0</title><!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+ <o:Revision>2</o:Revision>
+ <o:TotalTime>3</o:TotalTime>
+ <o:Created>2004-03-05T23:03:00Z</o:Created>
+ <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
+ <o:Pages>4</o:Pages>
+ <o:Words>1626</o:Words>
+ <o:Characters>9270</o:Characters>
+ <o:Lines>77</o:Lines>
+ <o:Paragraphs>18</o:Paragraphs>
+ <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
+ <o:Version>9.4402</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+ <w:TrackRevisions/>
+ </w:WordDocument>
+</xml><![endif]-->
+
+
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+ {font-family:Tahoma;
+ panose-1:2 11 6 4 3 5 4 4 2 4;
+ mso-font-charset:0;
+ mso-generic-font-family:swiss;
+ mso-font-pitch:variable;
+ mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+ {mso-style-parent:"";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";}
+p
+ {margin-right:0in;
+ mso-margin-top-alt:auto;
+ mso-margin-bottom-alt:auto;
+ margin-left:0in;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";}
+p.BalloonText, li.BalloonText, div.BalloonText
+ {mso-style-name:"Balloon Text";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:8.0pt;
+ font-family:Tahoma;
+ mso-fareast-font-family:"Times New Roman";}
+@page Section1
+ {size:8.5in 11.0in;
+ margin:1.0in 1.25in 1.0in 1.25in;
+ mso-header-margin:.5in;
+ mso-footer-margin:.5in;
+ mso-paper-source:0;}
+div.Section1
+ {page:Section1;}
+-->
+</style></head>
+
+<body style="" lang="EN-US">
+
+<div class="Section1">
+
+<p style="text-align: center;" align="center"><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style="font-size: 10pt;">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style="font-size: 10pt;">1. DEFINITIONS</span></b> </p>
+
+<p><span style="font-size: 10pt;">"Contribution" means:</span> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear="left">
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
+changes to the Program, and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
+additions to the Program;</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">where
+such changes and/or additions to the Program originate from and are distributed
+by that particular Contributor. A Contribution 'originates' from a Contributor
+if it was added to the Program by such Contributor itself or anyone acting on
+such Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style="font-size: 10pt;">"Contributor" means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style="font-size: 10pt;">"Licensed Patents " mean patent
+claims licensable by a Contributor which are necessarily infringed by the use
+or sale of its Contribution alone or when combined with the Program. </span></p>
+
+<p><span style="font-size: 10pt;">"Program" means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style="font-size: 10pt;">"Recipient" means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style="font-size: 10pt;">2. GRANT OF RIGHTS</span></b> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span style="color: red;"> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style="color: green;"> </span>royalty-free
+patent license under Licensed Patents to make, use, sell, offer to sell, import
+and otherwise transfer the Contribution of such Contributor, if any, in source
+code and object code form. This patent license shall apply to the combination
+of the Contribution and the Program if, at the time the Contribution is added
+by the Contributor, such addition of the Contribution causes such combination
+to be covered by the Licensed Patents. The patent license shall not apply to
+any other combinations which include the Contribution. No hardware per se is
+licensed hereunder. </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">c)
+Recipient understands that although each Contributor grants the licenses to its
+Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">d)
+Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement. </span></p>
+
+<p><b><span style="font-size: 10pt;">3. REQUIREMENTS</span></b> </p>
+
+<p><span style="font-size: 10pt;">A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
+its license agreement:</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
+effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose; </span></p>
+
+<p class=