Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library')
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/.classpath7
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/.cvsignore1
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/.project29
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/.settings/org.eclipse.jdt.core.prefs332
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/.settings/org.eclipse.jdt.ui.prefs58
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/.settings/org.eclipse.jpt.core.prefs4
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/META-INF/MANIFEST.MF25
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/about.html24
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/about.ini17
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/about.properties46
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/build.properties27
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/copyright.txt8
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/db/dropSchema.sql13
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/db/generateSchema.sql365
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/db/initSequence.sql1
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/epl-v10.html320
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/license.html319
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/forum.ecore13
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/forum.genmodel24
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/library.ecore119
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/library.genmodel84
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/orm.xml251
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/orm.xml_old19
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/samples/eclipseConForum.forum5
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/test_suppressinterfaces.ecore33
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/test_suppressinterfaces.genmodel23
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/modeling32.pngbin0 -> 2414 bytes
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/plugin.properties20
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/plugin.xml22
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/META-INF/Copy of orm.xml262
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/META-INF/generated_orm.xml296
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/META-INF/orm.xml262
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/META-INF/persistence.xml33
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/META-INF/persistence_mysql.xml34
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/AbstractTest.java22
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Activator.java90
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Address.java53
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Book.java241
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/BookCategory.java239
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Cover.java53
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Identifiable.java82
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Library.java90
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/LibraryFactory.java118
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/LibraryPackage.java1755
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Publisher.java74
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Style.java53
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/TWriterType.java212
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Translator.java108
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/TypeWriter.java83
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Writer.java136
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/Forum.java93
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/ForumFactory.java46
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/ForumPackage.java210
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/impl/ForumFactoryImpl.java99
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/impl/ForumImpl.java245
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/impl/ForumPackageImpl.java219
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/util/ForumAdapterFactory.java124
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/util/ForumSwitch.java130
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/AbstractTestImpl.java43
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/AddressImpl.java163
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/BookImpl.java566
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/BookStylesMapEntryImpl.java305
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/CoverImpl.java163
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/IdentifiableImpl.java218
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/LibraryFactoryImpl.java295
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/LibraryImpl.java260
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/LibraryPackageImpl.java838
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/PublisherImpl.java235
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/StringToBookMapEntryImpl.java324
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/StyleImpl.java163
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/TranslatorImpl.java298
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/TypeWriterImpl.java218
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/WriterImpl.java377
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/util/LibraryAdapterFactory.java350
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/util/LibrarySwitch.java404
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/Identifiable.java246
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/SuppressinterfacesFactory.java127
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/SuppressinterfacesPackage.java586
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/Test.java251
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/TestEmbedded.java179
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/util/SuppressinterfacesAdapterFactory.java160
-rwxr-xr-xeclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/util/SuppressinterfacesSwitch.java173
82 files changed, 14613 insertions, 0 deletions
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/.classpath b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/.classpath
new file mode 100755
index 000000000..304e86186
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/.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/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/.cvsignore b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/.cvsignore
new file mode 100755
index 000000000..ba077a403
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/.cvsignore
@@ -0,0 +1 @@
+bin
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/.project b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/.project
new file mode 100755
index 000000000..a8a51c66d
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/.project
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emf.teneo.eclipselink.examples.library</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+ </natures>
+</projectDescription>
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/.settings/org.eclipse.jdt.core.prefs b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/.settings/org.eclipse.jdt.core.prefs
new file mode 100755
index 000000000..5e0b68274
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,332 @@
+#Tue Jun 16 11:15:19 EDT 2009
+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.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=true
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/.settings/org.eclipse.jdt.ui.prefs b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/.settings/org.eclipse.jdt.ui.prefs
new file mode 100755
index 000000000..5b2edb475
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,58 @@
+#Wed Jan 21 22:44:02 CET 2009
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_Teneo
+formatter_settings_version=11
+internal.default.compliance=default
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_to_enhanced_for_loop=true
+sp_cleanup.correct_indentation=true
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=true
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/.settings/org.eclipse.jpt.core.prefs b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/.settings/org.eclipse.jpt.core.prefs
new file mode 100755
index 000000000..4301c811b
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/.settings/org.eclipse.jpt.core.prefs
@@ -0,0 +1,4 @@
+#Mon Feb 02 10:06:08 EST 2009
+eclipse.preferences.version=1
+org.eclipse.jpt.core.discoverAnnotatedClasses=false
+org.eclipse.jpt.core.platform=org.eclipse.eclipselink.platform
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/META-INF/MANIFEST.MF b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/META-INF/MANIFEST.MF
new file mode 100755
index 000000000..9921aec0c
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/META-INF/MANIFEST.MF
@@ -0,0 +1,25 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.emf.teneo.eclipselink.examples.library;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.emf.teneo.eclipselink.examples.library.Activator$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: META-INF,
+ org.eclipse.emf.teneo.eclipselink.examples.library,
+ org.eclipse.emf.teneo.eclipselink.examples.library.forum,
+ org.eclipse.emf.teneo.eclipselink.examples.library.forum.impl,
+ org.eclipse.emf.teneo.eclipselink.examples.library.forum.util,
+ org.eclipse.emf.teneo.eclipselink.examples.library.impl,
+ org.eclipse.emf.teneo.eclipselink.examples.library.util,
+ org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces,
+ org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.util
+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.teneo.eclipselink;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.teneo.orm;bundle-version="[1.0.0,2.0.0)"
+Bundle-ActivationPolicy: lazy
+Import-Package: org.apache.commons.logging;version="[1.0.0,2.0.0)"
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/about.html b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/about.html
new file mode 100755
index 000000000..5a279453c
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/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/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/about.ini b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/about.ini
new file mode 100755
index 000000000..1d17e5539
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/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/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/about.properties b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/about.properties
new file mode 100755
index 000000000..a722a5834
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/about.properties
@@ -0,0 +1,46 @@
+#/**
+# * <copyright>
+# *
+# * Copyright (c) 2008-2009 Oracle and Geensys.
+# * 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:
+# * Oracle and Geensys - initial API and implementation
+# *
+# * </copyright>
+# *
+# * $Id: about.properties,v 1.1 2009/01/23 21:51:35 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=EMF Teneo EclipseLink Library Model
+
+featureText=EMF Teneo EclipseLink Library Model \n\
+Version: {featureVersion}\n\
+Build id: {0}\n\
+\n\
+(c) Copyright (c) 2008-2009 Oracle and Geensys. All rights reserved.\n\
+\n\
+Visit http://www.eclipse.org/emf
+
+# ==============================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# The above properties have been shipped for translation.
+# ==============================================================================
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/build.properties b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/build.properties
new file mode 100755
index 000000000..652f17efa
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/build.properties
@@ -0,0 +1,27 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id: build.properties,v 1.5 2010/02/06 21:19:15 mtaal Exp $
+
+bin.includes = .,\
+ epl-v10.html,\
+ modeling32.png,\
+ about.ini,\
+ about.properties,\
+ copyright.txt,\
+ about.html,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+src.includes = about.html,\
+ about.ini,\
+ about.properties,\
+ copyright.txt,\
+ license.html,\
+ epl-v10.html,\
+ modeling32.png
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/copyright.txt b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/copyright.txt
new file mode 100755
index 000000000..a37ef444a
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/copyright.txt
@@ -0,0 +1,8 @@
+Copyright (c) 2008-2009 Oracle and Geensys.
+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:
+ Oracle and Geensys - initial API and implementation
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/db/dropSchema.sql b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/db/dropSchema.sql
new file mode 100755
index 000000000..4bf2a71af
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/db/dropSchema.sql
@@ -0,0 +1,13 @@
+DROP TABLE EMFLIB_ADDRESS cascade constraints;
+DROP TABLE EMFLIB_COVER cascade constraints;
+DROP TABLE EMFLIB_BOOK cascade constraints;
+DROP TABLE EMFLIB_BOOK_STYLE_MAP cascade constraints;
+DROP TABLE EMFLIB_LIBRARY cascade constraints;
+DROP TABLE EMFLIB_LIBRARY_BOOK_MAP cascade constraints;
+DROP TABLE EMFLIB_PUBLISHER cascade constraints;
+DROP TABLE EMFLIB_STYLE cascade constraints;
+DROP TABLE EMFLIB_TRANSLATOR cascade constraints;
+DROP TABLE EMFLIB_TYPEWRITER cascade constraints;
+DROP TABLE EMFLIB_WRITER cascade constraints;
+DROP TABLE EMFLIB_WRITER_PUBLISHER cascade constraints;
+DROP TABLE EMFLIB_WRITER_TYPEWRITER cascade constraints; \ No newline at end of file
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/db/generateSchema.sql b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/db/generateSchema.sql
new file mode 100755
index 000000000..a699b6197
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/db/generateSchema.sql
@@ -0,0 +1,365 @@
+CREATE TABLE EMFLIB_COVER
+(
+ID NUMBER(22,0) NOT NULL,
+ECONT_FEAT_ID NUMBER(22, 0),
+COLORED VARCHAR2(80),
+ECONTAINER_ID NUMBER(22,0)
+)
+;
+
+CREATE TABLE EMFLIB_LIBRARY
+(
+ID NUMBER(22,0) NOT NULL,
+NAME VARCHAR2(80) NOT NULL
+)
+;
+
+CREATE TABLE EMFLIB_LIBRARY_BOOK_MAP
+(
+KEY VARCHAR(80) NOT NULL,
+BOOK_ID NUMBER(22,0) NOT NULL,
+LIBRARY_ID NUMBER(22,0) NOT NULL,
+ECONT_FEAT_ID NUMBER(22, 0)
+)
+;
+
+CREATE TABLE EMFLIB_BOOK
+(
+ID NUMBER(22,0) NOT NULL,
+AUTHOR_ID NUMBER(22,0),
+CATEGORY VARCHAR2(80),
+ECONT_FEAT_ID NUMBER(22, 0),
+LIBRARY_NAME VARCHAR2(80),
+PAGES NUMBER(22, 0),
+TITLE VARCHAR2(80) NOT NULL,
+TRANSLATOR_ID NUMBER(22,0)
+)
+;
+
+CREATE TABLE EMFLIB_WRITER
+(
+ID NUMBER(22,0) NOT NULL,
+ECONT_FEAT_ID NUMBER(22, 0),
+ECONTAINER_ID NUMBER(22,0),
+NAME VARCHAR2(80) NOT NULL,
+ADDRESS_ID NUMBER(22,0)
+)
+;
+
+CREATE TABLE EMFLIB_PUBLISHER
+(
+ID NUMBER(22,0) NOT NULL,
+NAME VARCHAR2(80) NOT NULL
+)
+;
+
+CREATE TABLE EMFLIB_WRITER_PUBLISHER
+(
+WRITER_ID NUMBER(22,0) NOT NULL,
+PUBLISHER_ID NUMBER(22,0) NOT NULL
+)
+;
+
+CREATE TABLE EMFLIB_ADDRESS
+(
+ID NUMBER(22,0) NOT NULL,
+TOWN VARCHAR2(80) NOT NULL,
+ECONT_FEAT_ID NUMBER(22, 0)
+)
+;
+
+CREATE TABLE EMFLIB_STYLE
+(
+ID NUMBER(22,0) NOT NULL,
+NAME VARCHAR2(80) NOT NULL
+)
+;
+
+CREATE TABLE EMFLIB_BOOK_STYLE_MAP
+(
+KEY VARCHAR(80) NOT NULL,
+BOOK_ID NUMBER(22,0) NOT NULL,
+STYLE_ID NUMBER(22,0) NOT NULL,
+ECONT_FEAT_ID NUMBER(22, 0)
+)
+;
+
+CREATE TABLE EMFLIB_TRANSLATOR
+(
+ID NUMBER(22,0) NOT NULL,
+NAME VARCHAR2(80) NOT NULL,
+LOCATION VARCHAR2(80)
+)
+;
+
+CREATE TABLE EMFLIB_TYPEWRITER
+(
+ID NUMBER(22,0) NOT NULL,
+MAKER VARCHAR2(80) NOT NULL,
+TYPE VARCHAR2(80)
+)
+;
+
+CREATE TABLE EMFLIB_WRITER_TYPEWRITER
+(
+WRITER_ID NUMBER(22,0) NOT NULL,
+TYPEWRITER_ID NUMBER(22,0) NOT NULL
+)
+;
+
+ALTER TABLE EMFLIB_ADDRESS
+ADD CONSTRAINT EMFLIB_ADDRESS_PK PRIMARY KEY
+(
+ID
+)
+ ENABLE
+;
+
+ALTER TABLE EMFLIB_LIBRARY
+ADD CONSTRAINT EMFLIB_LIBRARY_PK PRIMARY KEY
+(
+ID
+)
+ ENABLE
+;
+
+ALTER TABLE EMFLIB_LIBRARY_BOOK_MAP
+ADD CONSTRAINT EMFLIB_LIBRARY_BOOK_MAP_PK PRIMARY KEY
+(
+KEY,
+LIBRARY_ID
+)
+ ENABLE
+;
+
+ALTER TABLE EMFLIB_BOOK
+ADD CONSTRAINT EMFLIB_BOOK_PK PRIMARY KEY
+(
+ID
+)
+ ENABLE
+;
+
+ALTER TABLE EMFLIB_COVER
+ADD CONSTRAINT EMFLIB_COVER_PK PRIMARY KEY
+(
+ID
+)
+ ENABLE
+;
+
+ALTER TABLE EMFLIB_COVER
+ADD CONSTRAINT EMFLIB_COVER_BOOK_REF FOREIGN KEY
+(
+ECONTAINER_ID
+)
+REFERENCES EMFLIB_BOOK
+(
+ID
+) ENABLE
+;
+
+ALTER TABLE EMFLIB_WRITER
+ADD CONSTRAINT EMFLIB_WRITER_PK PRIMARY KEY
+(
+ID
+)
+ ENABLE
+;
+
+ALTER TABLE EMFLIB_PUBLISHER
+ADD CONSTRAINT EMFLIB_PUBLISHER_PK PRIMARY KEY
+(
+ID
+)
+ ENABLE
+;
+
+ALTER TABLE EMFLIB_WRITER_PUBLISHER
+ADD CONSTRAINT EMFLIB_WRITER_PUBLISHER_PK PRIMARY KEY
+(
+WRITER_ID,
+PUBLISHER_ID
+)
+ ENABLE
+;
+
+ALTER TABLE EMFLIB_STYLE
+ADD CONSTRAINT EMFLIB_STYLE_PK PRIMARY KEY
+(
+ID
+)
+ ENABLE
+;
+
+ALTER TABLE EMFLIB_BOOK_STYLE_MAP
+ADD CONSTRAINT EMFLIB_BOOK_STYLE_MAP_PK PRIMARY KEY
+(
+KEY,
+BOOK_ID
+)
+ ENABLE
+;
+
+ALTER TABLE EMFLIB_TRANSLATOR
+ADD CONSTRAINT TRANSLATOR_PK PRIMARY KEY
+(
+ID
+)
+ ENABLE
+;
+
+ALTER TABLE EMFLIB_TYPEWRITER
+ADD CONSTRAINT EMFLIB_TYPEWRITER_PK PRIMARY KEY
+(
+ID
+)
+ ENABLE
+;
+
+ALTER TABLE EMFLIB_WRITER_TYPEWRITER
+ADD CONSTRAINT EMFLIB_WRITER_TYPEWRITER_PK PRIMARY KEY
+(
+WRITER_ID,
+TYPEWRITER_ID
+)
+ ENABLE
+;
+
+ALTER TABLE EMFLIB_LIBRARY_BOOK_MAP
+ADD CONSTRAINT EMFLIB_LIBRARY_BOOK_BOOK_REF FOREIGN KEY
+(
+BOOK_ID
+)
+REFERENCES EMFLIB_BOOK
+(
+ID
+) ENABLE
+;
+
+ALTER TABLE EMFLIB_LIBRARY_BOOK_MAP
+ADD CONSTRAINT EMFLIB_LIBRARY_BOOK_EMFLIB_REF FOREIGN KEY
+(
+LIBRARY_ID
+)
+REFERENCES EMFLIB_LIBRARY
+(
+ID
+) ENABLE
+;
+
+ALTER TABLE EMFLIB_BOOK
+ADD CONSTRAINT EMFLIB_BOOK_WRITER FOREIGN KEY
+(
+AUTHOR_ID
+)
+REFERENCES EMFLIB_WRITER
+(
+ID
+) ENABLE
+;
+
+ALTER TABLE EMFLIB_BOOK
+ADD CONSTRAINT EMFLIB_BOOK_TRANSLATOR FOREIGN KEY
+(
+TRANSLATOR_ID
+)
+REFERENCES EMFLIB_TRANSLATOR
+(
+ID
+) ENABLE
+;
+
+ALTER TABLE EMFLIB_WRITER
+ADD CONSTRAINT EMFLIB_WRITER_ADDRESS_FK FOREIGN KEY
+(
+ADDRESS_ID
+)
+REFERENCES EMFLIB_ADDRESS
+(
+ID
+) ENABLE
+;
+
+ALTER TABLE EMFLIB_WRITER
+ADD CONSTRAINT EMFLIB_WRITER_LIBRARY_FK FOREIGN KEY
+(
+ECONTAINER_ID
+)
+REFERENCES EMFLIB_LIBRARY
+(
+ID
+) ENABLE
+;
+
+ALTER TABLE EMFLIB_WRITER_PUBLISHER
+ADD CONSTRAINT EMFLIB_TO_PUBLISHER_FK FOREIGN KEY
+(
+PUBLISHER_ID
+)
+REFERENCES EMFLIB_PUBLISHER
+(
+ID
+) ENABLE
+;
+
+ALTER TABLE EMFLIB_WRITER_PUBLISHER
+ADD CONSTRAINT EMFLIB_TO_WRITER_FK FOREIGN KEY
+(
+WRITER_ID
+)
+REFERENCES EMFLIB_WRITER
+(
+ID
+) ENABLE
+;
+
+ALTER TABLE EMFLIB_BOOK_STYLE_MAP
+ADD CONSTRAINT EMFLIB_BOOK_STYLE_BOOK_FK FOREIGN KEY
+(
+BOOK_ID
+)
+REFERENCES EMFLIB_BOOK
+(
+ID
+) ENABLE
+;
+
+ALTER TABLE EMFLIB_BOOK_STYLE_MAP
+ADD CONSTRAINT EMFLIB_BOOK_STYLE_STYLE_FK FOREIGN KEY
+(
+STYLE_ID
+)
+REFERENCES EMFLIB_STYLE
+(
+ID
+) ENABLE
+;
+
+ALTER TABLE EMFLIB_WRITER_TYPEWRITER
+ADD CONSTRAINT EMFLIB_TW_TO_WRITER_FK FOREIGN KEY
+(
+WRITER_ID
+)
+REFERENCES EMFLIB_WRITER
+(
+ID
+) ENABLE
+;
+
+ALTER TABLE EMFLIB_WRITER_TYPEWRITER
+ADD CONSTRAINT EMFLIB_TW_TO_TYPEWRITER_FK FOREIGN KEY
+(
+TYPEWRITER_ID
+)
+REFERENCES EMFLIB_TYPEWRITER
+(
+ID
+) ENABLE
+;
+
+CREATE TABLE SEQUENCE
+( "SEQ_NAME" VARCHAR2(50 BYTE),
+ "SEQ_COUNT" NUMBER(38,0)
+)
+
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/db/initSequence.sql b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/db/initSequence.sql
new file mode 100755
index 000000000..06f146667
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/db/initSequence.sql
@@ -0,0 +1 @@
+INSERT INTO "SEQUENCE" (SEQ_NAME, SEQ_COUNT) VALUES ('SEQ_GEN', '1')
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/epl-v10.html b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/epl-v10.html
new file mode 100755
index 000000000..62b1f6f04
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/epl-v10.html
@@ -0,0 +1,320 @@
+<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/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/license.html b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/license.html
new file mode 100755
index 000000000..d7b88e941
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/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/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/forum.ecore b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/forum.ecore
new file mode 100755
index 000000000..d55c0bc05
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/forum.ecore
@@ -0,0 +1,13 @@
+<?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="forum"
+ nsURI="http:///org/eclipse/emf/teneo/eclipselink/examples/forum.ecore" nsPrefix="forum">
+ <eClassifiers xsi:type="ecore:EClass" name="Forum">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ratedAuthors" upperBound="-1"
+ eType="ecore:EClass library.ecore#//Writer"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="featuredBooks" upperBound="-1"
+ eType="ecore:EClass library.ecore#//Book"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/forum.genmodel b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/forum.genmodel
new file mode 100755
index 000000000..54d92f376
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/forum.genmodel
@@ -0,0 +1,24 @@
+<?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.eclipselink.examples.library/src"
+ editDirectory="/org.eclipse.emf.teneo.eclipselink.examples.library.edit/src" editorDirectory="/org.eclipse.emf.teneo.eclipselink.examples.library.editor/src"
+ modelPluginID="org.eclipse.emf.teneo.eclipselink.examples.library" modelName="Forum"
+ modelPluginClass="org.eclipse.emf.teneo.eclipselink.examples.library.Activator"
+ editPluginClass="org.eclipse.emf.teneo.eclipselink.examples.library.edit.Activator"
+ editorPluginClass="org.eclipse.emf.teneo.eclipselink.examples.library.editor.Activator"
+ nonNLSMarkers="true" testsDirectory="" testSuiteClass="" importerID="org.eclipse.emf.importer.ecore"
+ complianceLevel="5.0" copyrightFields="false" usedGenPackages="library.genmodel#//library">
+ <foreignModel>forum.ecore</foreignModel>
+ <genPackages prefix="Forum" basePackage="org.eclipse.emf.teneo.eclipselink.examples.library"
+ disposableProviderFactory="true" providerPackageSuffix="edit" presentationPackageSuffix="editor"
+ ecorePackage="forum.ecore#/">
+ <genClasses ecoreClass="forum.ecore#//Forum">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute forum.ecore#//Forum/name"/>
+ <genFeatures children="true" createChild="false" propertySortChoices="true"
+ ecoreFeature="ecore:EReference forum.ecore#//Forum/ratedAuthors"/>
+ <genFeatures children="true" createChild="false" propertyDescription="" propertySortChoices="true"
+ ecoreFeature="ecore:EReference forum.ecore#//Forum/featuredBooks"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/library.ecore b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/library.ecore
new file mode 100755
index 000000000..743e5970c
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/library.ecore
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="library"
+ nsURI="http:///org/eclipse/emf/teneo/eclipselink/examples/library.ecore" nsPrefix="library">
+ <eClassifiers xsi:type="ecore:EClass" name="Book" eSuperTypes="#//Identifiable">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ defaultValueLiteral=""/>
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="author" lowerBound="1"
+ eType="#//Writer" eOpposite="#//Writer/books"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="styles" upperBound="-1"
+ eType="#//BookStylesMapEntry" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="translator" eType="#//Translator"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="cover" eType="#//Cover"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="derivedAttribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ volatile="true" derived="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Library" eSuperTypes="#//Identifiable">
+ <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" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="books" upperBound="-1"
+ eType="#//StringToBookMapEntry" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Writer" eSuperTypes="#//Identifiable">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ iD="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="books" upperBound="-1"
+ eType="#//Book" eOpposite="#//Book/author"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="address" eType="#//Address"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="publishers" upperBound="-1"
+ eType="#//Publisher" eOpposite="#//Publisher/writers"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="typewriters" upperBound="-1"
+ eType="#//TypeWriter"/>
+ </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="StringToBookMapEntry" instanceClassName="java.util.Map$Entry"
+ eSuperTypes="#//Identifiable">
+ <eAnnotations source="teneo.jpa">
+ <details key="value" value="@Table(name=&quot;EMFLIB_LIBRARY_BOOK_MAP&quot;)"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="key" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//Book"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Address" eSuperTypes="#//Identifiable">
+ <eAnnotations source="http://www.oracle.com/toplink/emf/2006/ContainerMapping">
+ <details key="eContainingClassName" value="Writer"/>
+ <details key="eContainingClassPackageName" value="library"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="town" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Publisher" eSuperTypes="#//Identifiable">
+ <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" eOpposite="#//Writer/publishers">
+ <eAnnotations source="teneo.jpa">
+ <details key="value" value="@JoinTable(name=&quot;EMFLIB_PUBLISHER_WRITERS&quot;)"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Style" eSuperTypes="#//Identifiable">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BookStylesMapEntry" instanceClassName="java.util.Map$Entry"
+ eSuperTypes="#//Identifiable">
+ <eAnnotations source="teneo.jpa">
+ <details key="value" value="@Table(name=&quot;EMFLIB_BOOK_STYLE_MAP&quot;)"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="key" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//Style"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Translator" eSuperTypes="#//Identifiable">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="location" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="address" eType="#//Address"
+ containment="true">
+ <eAnnotations source="teneo.jpa">
+ <details key="value" value="@Transient"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="TWriterType">
+ <eLiterals name="Typewriter"/>
+ <eLiterals name="Computer" value="1"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TypeWriter" eSuperTypes="#//Identifiable">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="maker" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//TWriterType"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Cover" eSuperTypes="#//Identifiable">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="colored" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Identifiable" abstract="true">
+ <eAnnotations source="teneo.jpa">
+ <details key="value" value="@MappedSuperclass"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong">
+ <eAnnotations source="teneo.jpa">
+ <details key="value" value="@Id&#xA;@GeneratedValue"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong">
+ <eAnnotations source="teneo.jpa">
+ <details key="value" value="@Version"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractTest" abstract="true"/>
+</ecore:EPackage>
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/library.genmodel b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/library.genmodel
new file mode 100755
index 000000000..6f53ff8c6
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/library.genmodel
@@ -0,0 +1,84 @@
+<?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.eclipselink.examples.library/src"
+ creationSubmenus="true" editDirectory="/org.eclipse.emf.teneo.eclipselink.examples.library.edit/src"
+ editorDirectory="/org.eclipse.emf.teneo.eclipselink.examples.library.editor/src"
+ modelPluginID="org.eclipse.emf.teneo.eclipselink.examples.library" modelName="Library"
+ modelPluginClass="org.eclipse.emf.teneo.eclipselink.examples.library.Activator"
+ editPluginClass="org.eclipse.emf.teneo.eclipselink.examples.library.edit.Activator"
+ editorPluginClass="org.eclipse.emf.teneo.eclipselink.examples.library.editor.Activator"
+ nonNLSMarkers="true" testsDirectory="" testSuiteClass="" booleanFlagsField=""
+ importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false">
+ <foreignModel>library.ecore</foreignModel>
+ <genPackages prefix="Library" basePackage="org.eclipse.emf.teneo.eclipselink.examples"
+ disposableProviderFactory="true" providerPackageSuffix="edit" presentationPackageSuffix="editor"
+ ecorePackage="library.ecore#/">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="library.ecore#//BookCategory">
+ <genEnumLiterals ecoreEnumLiteral="library.ecore#//BookCategory/Mystery"/>
+ <genEnumLiterals ecoreEnumLiteral="library.ecore#//BookCategory/ScienceFiction"/>
+ <genEnumLiterals ecoreEnumLiteral="library.ecore#//BookCategory/Biography"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="library.ecore#//TWriterType">
+ <genEnumLiterals ecoreEnumLiteral="library.ecore#//TWriterType/Typewriter"/>
+ <genEnumLiterals ecoreEnumLiteral="library.ecore#//TWriterType/Computer"/>
+ </genEnums>
+ <genClasses ecoreClass="library.ecore#//Book">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute library.ecore#//Book/title"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute library.ecore#//Book/pages"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute library.ecore#//Book/category"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference library.ecore#//Book/author"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference library.ecore#//Book/styles"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference library.ecore#//Book/translator"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference library.ecore#//Book/cover"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute library.ecore#//Book/derivedAttribute"/>
+ </genClasses>
+ <genClasses ecoreClass="library.ecore#//Library">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute library.ecore#//Library/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference library.ecore#//Library/writers"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference library.ecore#//Library/books"/>
+ </genClasses>
+ <genClasses ecoreClass="library.ecore#//Writer">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute library.ecore#//Writer/name"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference library.ecore#//Writer/books"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference library.ecore#//Writer/address"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference library.ecore#//Writer/publishers"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference library.ecore#//Writer/typewriters"/>
+ </genClasses>
+ <genClasses ecoreClass="library.ecore#//StringToBookMapEntry">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute library.ecore#//StringToBookMapEntry/key"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference library.ecore#//StringToBookMapEntry/value"/>
+ </genClasses>
+ <genClasses ecoreClass="library.ecore#//Address">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute library.ecore#//Address/town"/>
+ </genClasses>
+ <genClasses ecoreClass="library.ecore#//Publisher">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute library.ecore#//Publisher/name"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference library.ecore#//Publisher/writers"/>
+ </genClasses>
+ <genClasses ecoreClass="library.ecore#//Style">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute library.ecore#//Style/name"/>
+ </genClasses>
+ <genClasses ecoreClass="library.ecore#//BookStylesMapEntry">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute library.ecore#//BookStylesMapEntry/key"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference library.ecore#//BookStylesMapEntry/value"/>
+ </genClasses>
+ <genClasses ecoreClass="library.ecore#//Translator">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute library.ecore#//Translator/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute library.ecore#//Translator/location"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference library.ecore#//Translator/address"/>
+ </genClasses>
+ <genClasses ecoreClass="library.ecore#//TypeWriter">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute library.ecore#//TypeWriter/maker"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute library.ecore#//TypeWriter/type"/>
+ </genClasses>
+ <genClasses ecoreClass="library.ecore#//Cover">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute library.ecore#//Cover/colored"/>
+ </genClasses>
+ <genClasses ecoreClass="library.ecore#//Identifiable">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute library.ecore#//Identifiable/id"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute library.ecore#//Identifiable/version"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="library.ecore#//AbstractTest"/>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/orm.xml b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/orm.xml
new file mode 100755
index 000000000..f6de441dd
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/orm.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entity-mappings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
+ <persistence-unit-metadata>
+ <xml-mapping-metadata-complete/>
+ <persistence-unit-defaults>
+ <access>FIELD</access>
+ </persistence-unit-defaults>
+ </persistence-unit-metadata>
+ <mapped-superclass class="org.eclipse.emf.teneo.eclipselink.examples.library.impl.IdentifiableImpl">
+ <attributes>
+ <id name="id">
+ <generated-value strategy="AUTO"/>
+ </id>
+ <basic name="eContainerFeatureID">
+ <column name="ECONT_FEAT_ID"/>
+ </basic>
+ <version name="version"/>
+ </attributes>
+ </mapped-superclass>
+ <entity class="org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookImpl" name="Book">
+ <table name="BOOK"/>
+ <inheritance strategy="JOINED"/>
+ <attributes>
+ <basic fetch="EAGER" name="title" optional="true"/>
+ <basic fetch="EAGER" name="pages" optional="true"/>
+ <basic fetch="EAGER" name="category" optional="true">
+ <enumerated>STRING</enumerated>
+ </basic>
+ <many-to-one fetch="EAGER" name="author" optional="true" target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.WriterImpl">
+ <cascade>
+ <cascade-persist/>
+ <cascade-merge/>
+ <cascade-refresh/>
+ </cascade>
+ </many-to-one>
+ <many-to-one fetch="EAGER" name="translator" optional="true" target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.TranslatorImpl">
+ <join-column insertable="true" name="TRANSLATOR_TRANSLATOR_ID" nullable="true" unique="false" updatable="true"/>
+ <cascade>
+ <cascade-persist/>
+ <cascade-merge/>
+ <cascade-refresh/>
+ </cascade>
+ </many-to-one>
+ <one-to-many fetch="LAZY" mapped-by="eContainer" name="styles" target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookStylesMapEntryImpl">
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </one-to-many>
+ <one-to-one fetch="EAGER" name="cover" optional="true" target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.CoverImpl">
+ <join-column insertable="true" name="COVER_COVER_ID" nullable="true" unique="false" updatable="true"/>
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </one-to-one>
+ <one-to-one mapped-by="value" name="eContainer" target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.StringToBookMapEntryImpl">
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </one-to-one>
+ </attributes>
+ </entity>
+ <entity class="org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryImpl" name="Library">
+ <table name="LIBRARY"/>
+ <inheritance strategy="JOINED"/>
+ <attributes>
+ <basic fetch="EAGER" name="name" optional="true"/>
+ <one-to-many fetch="LAZY" mapped-by="eContainer" name="writers" target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.WriterImpl">
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </one-to-many>
+ <one-to-many fetch="LAZY" mapped-by="eContainer" name="books" target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.StringToBookMapEntryImpl">
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </one-to-many>
+ </attributes>
+ </entity>
+ <entity class="org.eclipse.emf.teneo.eclipselink.examples.library.impl.WriterImpl" name="Writer">
+ <table name="WRITER"/>
+ <inheritance strategy="JOINED"/>
+ <attributes>
+ <basic fetch="EAGER" name="name" optional="true"/>
+ <many-to-one name="eContainer" target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryImpl">
+ <join-column name="LIBRARY_WRITERS_ID"/>
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </many-to-one>
+ <one-to-many fetch="LAZY" name="books" target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookImpl">
+ <join-table name="WRITER_BOOKS">
+ <join-column insertable="true" name="WRITER_ID" nullable="false" unique="false" updatable="true"/>
+ <inverse-join-column insertable="true" name="BOOK_ID" nullable="false" unique="false" updatable="true"/>
+ </join-table>
+ <cascade>
+ <cascade-persist/>
+ <cascade-merge/>
+ <cascade-refresh/>
+ </cascade>
+ </one-to-many>
+ <one-to-many fetch="LAZY" name="typewriters" target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.TypeWriterImpl">
+ <join-table name="WRITER_TYPEWRITERS">
+ <join-column insertable="true" name="WRITER_ID" nullable="false" unique="false" updatable="true"/>
+ <inverse-join-column insertable="true" name="TYPEWRITER_ID" nullable="false" unique="false" updatable="true"/>
+ </join-table>
+ <cascade>
+ <cascade-persist/>
+ <cascade-merge/>
+ <cascade-refresh/>
+ </cascade>
+ </one-to-many>
+ <one-to-one fetch="EAGER" name="address" optional="true" target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.AddressImpl">
+ <join-column insertable="true" name="ADDRESS_ADDRESS_ID" nullable="true" unique="false" updatable="true"/>
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </one-to-one>
+ <many-to-many fetch="LAZY" name="publishers" target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.PublisherImpl">
+ <join-table name="WRITER_PUBLISHERS">
+ <join-column insertable="true" name="WRITER_ID" nullable="false" unique="false" updatable="true"/>
+ <inverse-join-column insertable="true" name="PUBLISHER_ID" nullable="false" unique="false" updatable="true"/>
+ </join-table>
+ <cascade>
+ <cascade-persist/>
+ <cascade-merge/>
+ <cascade-refresh/>
+ </cascade>
+ </many-to-many>
+ </attributes>
+ </entity>
+ <entity class="org.eclipse.emf.teneo.eclipselink.examples.library.impl.StringToBookMapEntryImpl" name="StringToBookMapEntry">
+ <table name="EMFLIB_LIBRARY_BOOK_MAP"/>
+ <inheritance strategy="JOINED"/>
+ <attribute-override name="id">
+ <column insertable="false" name="LIBRARY_BOOKS_ID" updatable="false"/>
+ </attribute-override>
+ <attributes>
+ <id name="key">
+ <column name="e_key"/>
+ </id>
+ <many-to-one name="eContainer" target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryImpl">
+ <join-column name="LIBRARY_BOOKS_ID"/>
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </many-to-one>
+ <one-to-one fetch="EAGER" name="value" optional="true" target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookImpl">
+ <join-column insertable="true" name="BOOK_VALUE_ID" nullable="true" unique="false" updatable="true"/>
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </one-to-one>
+ <transient name="hash"/>
+ </attributes>
+ </entity>
+ <entity class="org.eclipse.emf.teneo.eclipselink.examples.library.impl.AddressImpl" name="Address">
+ <table name="ADDRESS"/>
+ <inheritance strategy="JOINED"/>
+ <attributes>
+ <basic fetch="EAGER" name="town" optional="true"/>
+ <one-to-one mapped-by="address" name="eContainer" target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.WriterImpl">
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </one-to-one>
+ </attributes>
+ </entity>
+ <entity class="org.eclipse.emf.teneo.eclipselink.examples.library.impl.PublisherImpl" name="Publisher">
+ <table name="PUBLISHER"/>
+ <inheritance strategy="JOINED"/>
+ <attributes>
+ <basic fetch="EAGER" name="name" optional="true"/>
+ <many-to-many fetch="LAZY" mapped-by="publishers" name="writers" target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.WriterImpl">
+ <join-table name="EMFLIB_PUBLISHER_WRITERS">
+ <join-column insertable="true" name="PUBLISHER_ID" nullable="false" unique="false" updatable="true"/>
+ <inverse-join-column insertable="true" name="WRITER_ID" nullable="false" unique="false" updatable="true"/>
+ </join-table>
+ <cascade>
+ <cascade-persist/>
+ <cascade-merge/>
+ <cascade-refresh/>
+ </cascade>
+ </many-to-many>
+ </attributes>
+ </entity>
+ <entity class="org.eclipse.emf.teneo.eclipselink.examples.library.impl.StyleImpl" name="Style">
+ <table name="STYLE"/>
+ <inheritance strategy="JOINED"/>
+ <attributes>
+ <basic fetch="EAGER" name="name" optional="true"/>
+ </attributes>
+ </entity>
+ <entity class="org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookStylesMapEntryImpl" name="BookStylesMapEntry">
+ <table name="EMFLIB_BOOK_STYLE_MAP"/>
+ <inheritance strategy="JOINED"/>
+ <attribute-override name="id">
+ <column insertable="false" name="BOOK_STYLES_ID" updatable="false"/>
+ </attribute-override>
+ <attributes>
+ <id name="key">
+ <column name="e_key"/>
+ </id>
+ <many-to-one fetch="EAGER" name="value" optional="true" target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.StyleImpl">
+ <join-column insertable="true" name="STYLE_VALUE_ID" nullable="true" unique="false" updatable="true"/>
+ <cascade>
+ <cascade-persist/>
+ <cascade-merge/>
+ <cascade-refresh/>
+ </cascade>
+ </many-to-one>
+ <many-to-one name="eContainer" target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookImpl">
+ <join-column name="BOOK_STYLES_ID"/>
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </many-to-one>
+ <transient name="hash"/>
+ </attributes>
+ </entity>
+ <entity class="org.eclipse.emf.teneo.eclipselink.examples.library.impl.TranslatorImpl" name="Translator">
+ <table name="TRANSLATOR"/>
+ <inheritance strategy="JOINED"/>
+ <attributes>
+ <basic fetch="EAGER" name="name" optional="true"/>
+ <basic fetch="EAGER" name="location" optional="true"/>
+ <transient name="address"/>
+ </attributes>
+ </entity>
+ <entity class="org.eclipse.emf.teneo.eclipselink.examples.library.impl.TypeWriterImpl" name="TypeWriter">
+ <table name="TYPEWRITER"/>
+ <inheritance strategy="JOINED"/>
+ <attributes>
+ <basic fetch="EAGER" name="maker" optional="true"/>
+ <basic fetch="EAGER" name="type" optional="true">
+ <enumerated>STRING</enumerated>
+ </basic>
+ </attributes>
+ </entity>
+ <entity class="org.eclipse.emf.teneo.eclipselink.examples.library.impl.CoverImpl" name="Cover">
+ <table name="COVER"/>
+ <inheritance strategy="JOINED"/>
+ <attributes>
+ <basic fetch="EAGER" name="colored" optional="true"/>
+ <one-to-one mapped-by="cover" name="eContainer" target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookImpl">
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </one-to-one>
+ </attributes>
+ </entity>
+</entity-mappings> \ No newline at end of file
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/orm.xml_old b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/orm.xml_old
new file mode 100755
index 000000000..aaa614e58
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/orm.xml_old
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entity-mappings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd" version="1.0">
+ <persistence-unit-metadata>
+ <xml-mapping-metadata-complete/>
+ <persistence-unit-defaults>
+ <access>FIELD</access>
+ </persistence-unit-defaults>
+ </persistence-unit-metadata>
+ <entity class="org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.test" name="test">
+ <table name="TEST"/>
+ <inheritance strategy="JOINED"/>
+ <attributes>
+ <basic fetch="EAGER" name="name" optional="true"/>
+ <basic name="eContainerFeatureID">
+ <column name="ECONT_FEAT_ID"/>
+ </basic>
+ </attributes>
+ </entity>
+</entity-mappings> \ No newline at end of file
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/samples/eclipseConForum.forum b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/samples/eclipseConForum.forum
new file mode 100755
index 000000000..a50e76180
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/samples/eclipseConForum.forum
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="ASCII"?>
+<forum:Forum xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:forum="http:///oracle/toplink/emf/examples/library/forum.ecore" name="EclipseCon Forum">
+ <ratedAuthors href="tle:///library?select o from Library o where o.name = 'EclipseCon Library'#Writer|name='The True Eclipse Expert'"/>
+ <featuredBooks href="tle:///library?select o from Library o where o.name = 'EclipseCon Library'#//@books.0/@value"/>
+</forum:Forum>
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/test_suppressinterfaces.ecore b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/test_suppressinterfaces.ecore
new file mode 100755
index 000000000..cfddc3d2f
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/test_suppressinterfaces.ecore
@@ -0,0 +1,33 @@
+<?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="suppressinterfaces"
+ nsURI="http:///org/eclipse/emf/teneo/eclipselink/examples/test_suppressinterfaces.ecore"
+ nsPrefix="suppressinterfaces">
+ <eClassifiers xsi:type="ecore:EClass" name="Test" eSuperTypes="#//Identifiable">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="testEmbedded" eType="#//TestEmbedded">
+ <eAnnotations source="teneo.jpa">
+ <details key="value" value="@Embedded"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TestEmbedded">
+ <eAnnotations source="teneo.jpa">
+ <details key="value" value="@Embeddable"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="nameEmbedded" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Identifiable">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong">
+ <eAnnotations source="teneo.jpa">
+ <details key="value" value="@Id&#xA;@GeneratedValue"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong">
+ <eAnnotations source="teneo.jpa">
+ <details key="value" value="@Version"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/test_suppressinterfaces.genmodel b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/test_suppressinterfaces.genmodel
new file mode 100755
index 000000000..130c07919
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/model/test_suppressinterfaces.genmodel
@@ -0,0 +1,23 @@
+<?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.eclipselink.examples.library/src"
+ modelPluginID="org.eclipse.emf.teneo.eclipselink.examples.library" modelName="Test_suppressinterfaces"
+ suppressInterfaces="true" importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0"
+ copyrightFields="false">
+ <foreignModel>test_suppressinterfaces.ecore</foreignModel>
+ <genPackages prefix="Suppressinterfaces" basePackage="org.eclipse.emf.teneo.eclipselink.examples"
+ disposableProviderFactory="true" ecorePackage="test_suppressinterfaces.ecore#/">
+ <genClasses ecoreClass="test_suppressinterfaces.ecore#//Test">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute test_suppressinterfaces.ecore#//Test/name"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference test_suppressinterfaces.ecore#//Test/testEmbedded"/>
+ </genClasses>
+ <genClasses ecoreClass="test_suppressinterfaces.ecore#//TestEmbedded">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute test_suppressinterfaces.ecore#//TestEmbedded/nameEmbedded"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="test_suppressinterfaces.ecore#//Identifiable">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute test_suppressinterfaces.ecore#//Identifiable/id"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute test_suppressinterfaces.ecore#//Identifiable/version"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/modeling32.png b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/modeling32.png
new file mode 100755
index 000000000..6b08de2ad
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/modeling32.png
Binary files differ
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/plugin.properties b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/plugin.properties
new file mode 100755
index 000000000..443762d1f
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/plugin.properties
@@ -0,0 +1,20 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id: plugin.properties,v 1.3 2009/05/06 16:01:53 mtaal Exp $
+
+# ====================================================================
+# To code developer:
+# Do NOT change the properties between this line and the
+# "%%% END OF TRANSLATED PROPERTIES %%%" line.
+# Make a new property name, append to the end of the file and change
+# the code to use the new property.
+# ====================================================================
+
+# ====================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# ====================================================================
+
+pluginName = EMF Teneo EclipseLink
+providerName = Eclipse Modeling Project
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/plugin.xml b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/plugin.xml
new file mode 100755
index 000000000..1c0d73916
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/plugin.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id: plugin.xml,v 1.1 2008/04/15 21:09:34 seberle Exp $
+-->
+
+<plugin>
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http:///org/eclipse/emf/teneo/eclipselink/examples/library.ecore"
+ class = "org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage"
+ genModel = "model/library.genmodel" />
+ <package
+ uri = "http:///org/eclipse/emf/teneo/eclipselink/examples/forum.ecore"
+ class = "org.eclipse.emf.teneo.eclipselink.examples.library.forum.ForumPackage"
+ genModel = "model/library.genmodel" />
+ </extension>
+</plugin>
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/META-INF/Copy of orm.xml b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/META-INF/Copy of orm.xml
new file mode 100755
index 000000000..68fecd3f6
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/META-INF/Copy of orm.xml
@@ -0,0 +1,262 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entity-mappings
+ xmlns="http://java.sun.com/xml/ns/persistence/orm"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"
+ version="1.0">
+
+ <!--=================================-->
+ <!-- Persistence unit level metadata -->
+ <!--=================================-->
+
+ <persistence-unit-metadata>
+ <xml-mapping-metadata-complete/>
+ <persistence-unit-defaults>
+ <access>FIELD</access>
+ </persistence-unit-defaults>
+ </persistence-unit-metadata>
+
+ <!--=============================-->
+ <!-- Mapping file level metadata -->
+ <!--=============================-->
+
+ <package>org.eclipse.emf.teneo.eclipselink.examples.library.impl</package>
+ <mapped-superclass class="IdentifiableImpl" access="FIELD">
+ <attributes>
+ <id name="id">
+ <column name="ID"/>
+ <generated-value/>
+ </id>
+ <basic name="eContainerFeatureID"/>
+ <version name="version">
+ </version>
+ </attributes>
+ </mapped-superclass>
+
+ <!--=========-->
+ <!-- Queries -->
+ <!--=========-->
+
+
+ <!--=========================-->
+ <!-- Abstract class mappings -->
+ <!--=========================-->
+
+ <!--=================-->
+ <!-- Entity mappings -->
+ <!--=================-->
+
+ <entity name="Address" class="AddressImpl">
+ <table name="EMFLIB_ADDRESS"/>
+ <attributes>
+ <basic name="town"/>
+ <one-to-one name="eContainer" target-entity="WriterImpl" mapped-by="address">
+ </one-to-one>
+ </attributes>
+ </entity>
+
+ <entity name="Book" class="BookImpl" access="FIELD">
+ <table name="EMFLIB_BOOK"/>
+ <attributes>
+ <basic name="category">
+ <enumerated>STRING</enumerated>
+ </basic>
+ <basic name="title"/>
+ <basic name="pages"/>
+ <many-to-one name="author" target-entity="WriterImpl">
+ <join-column name="AUTHOR_ID"/>
+ <cascade>
+ <cascade-persist/>
+ <cascade-merge/>
+ <cascade-refresh/>
+ </cascade>
+ </many-to-one>
+ <one-to-many name="styles" target-entity="BookStylesMapEntryImpl" mapped-by="eContainer">
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </one-to-many>
+ <one-to-one name="cover" target-entity="CoverImpl" mapped-by="eContainer">
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </one-to-one>
+ <one-to-one name="eContainer" target-entity="StringToBookMapEntryImpl" mapped-by="value">
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </one-to-one>
+ <one-to-one name="translator" target-entity="TranslatorImpl">
+ <join-column name="TRANSLATOR_ID"/>
+ <cascade>
+ <cascade-persist/>
+ <cascade-merge/>
+ <cascade-refresh/>
+ </cascade>
+ </one-to-one>
+ </attributes>
+ </entity>
+
+ <entity class="BookStylesMapEntryImpl" name="BookStylesMapEntry">
+ <table name="EMFLIB_BOOK_STYLE_MAP"/>
+ <id-class class="org.eclipse.emf.teneo.eclipselink.util.MapEntryId"/>
+ <attribute-override name="id">
+ <column name="BOOK_ID" updatable="false" insertable="false"/>
+ </attribute-override>
+ <attributes>
+ <id name="key">
+ <column name="MAPKEY"/>
+ </id>
+ <many-to-one name="eContainer" target-entity="BookImpl">
+ <join-column name="BOOK_ID"/>
+ </many-to-one>
+ <one-to-one name="value" target-entity="StyleImpl">
+ <join-column name="STYLE_ID"/>
+ <cascade>
+ <cascade-persist/>
+ <cascade-merge/>
+ <cascade-refresh/>
+ </cascade>
+ </one-to-one>
+ <transient name="hash"/>
+ </attributes>
+ </entity>
+
+ <entity name="Cover" class="CoverImpl">
+ <table name="EMFLIB_COVER"/>
+ <attributes>
+ <basic name="colored"/>
+ <one-to-one name="eContainer" target-entity="BookImpl">
+ <join-column name="ECONTAINER_ID"/>
+ </one-to-one>
+ </attributes>
+ </entity>
+
+ <entity name="Library" class="LibraryImpl">
+ <table name="EMFLIB_LIBRARY"/>
+ <attributes>
+ <basic name="name"/>
+ <one-to-many name="books" target-entity="StringToBookMapEntryImpl" mapped-by="eContainer">
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </one-to-many>
+ <one-to-many name="writers" target-entity="WriterImpl" mapped-by="eContainer">
+ <cascade>
+ <cascade-persist/>
+ <cascade-merge/>
+ <cascade-refresh/>
+ </cascade>
+ </one-to-many>
+ </attributes>
+ </entity>
+
+ <entity name="Publisher" class="PublisherImpl">
+ <table name="EMFLIB_PUBLISHER"/>
+ <attributes>
+ <basic name="name"/>
+ <many-to-many name="writers" target-entity="WriterImpl">
+ <join-table name="EMFLIB_PUBLISHER_WRITER">
+ <join-column insertable="true" name="publisher_id" nullable="false" unique="false" updatable="true"/>
+ <inverse-join-column insertable="true" name="writer_id" nullable="false" unique="false" updatable="true"/>
+ </join-table>
+ <cascade>
+ <cascade-persist/>
+ <cascade-merge/>
+ <cascade-refresh/>
+ </cascade>
+ </many-to-many>
+ </attributes>
+ </entity>
+
+ <entity class="StringToBookMapEntryImpl" name="StringToBookMapEntry">
+ <table name="EMFLIB_LIBRARY_BOOK_MAP"/>
+ <id-class class="org.eclipse.emf.teneo.eclipselink.util.MapEntryId"/>
+ <attribute-override name="id">
+ <column name="LIBRARY_ID" updatable="false" insertable="false"/>
+ </attribute-override>
+ <attributes>
+ <id name="key">
+ <column name="MAPKEY"/>
+ </id>
+ <many-to-one name="eContainer" target-entity="LibraryImpl">
+ <join-column name="LIBRARY_ID"/>
+ </many-to-one>
+ <one-to-one name="value" target-entity="BookImpl">
+ <join-column name="BOOK_ID" referenced-column-name="ID"/>
+ <cascade>
+ <cascade-persist/>
+ <cascade-merge/>
+ <cascade-refresh/>
+ </cascade>
+ </one-to-one>
+ <transient name="hash"/>
+ </attributes>
+ </entity>
+
+ <entity name="Style" class="StyleImpl">
+ <table name="EMFLIB_STYLE"/>
+ <attributes>
+ <basic name="name"/>
+ </attributes>
+ </entity>
+
+ <entity name="Translator" class="TranslatorImpl">
+ <table name="EMFLIB_TRANSLATOR"/>
+ <attributes>
+ <basic name="location"/>
+ <basic name="name"/>
+ <!-- address should be removed from Translator -->
+ <transient name="address"/>
+ </attributes>
+ </entity>
+
+ <entity name="TypeWriter" class="TypeWriterImpl">
+ <table name="EMFLIB_TYPEWRITER"/>
+ <attributes>
+ <basic name="maker"/>
+ <basic name="type">
+ <enumerated>STRING</enumerated>
+ </basic>
+ </attributes>
+ </entity>
+
+ <entity name="Writer" class="WriterImpl">
+ <table name="EMFLIB_WRITER"/>
+ <attributes>
+ <basic name="name"/>
+ <many-to-one name="eContainer" target-entity="LibraryImpl">
+ <join-column name="ECONTAINER_ID"/>
+ </many-to-one>
+ <one-to-many name="books" mapped-by="author" target-entity="BookImpl">
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </one-to-many>
+ <one-to-one name="address" target-entity="AddressImpl" >
+ <join-column name="ADDRESS_ID"/>
+ <cascade>
+ <cascade-persist/>
+ <cascade-merge/>
+ <cascade-refresh/>
+ </cascade>
+ </one-to-one>
+ <many-to-many name="publishers" target-entity="PublisherImpl" mapped-by="writers">
+ <cascade>
+ <cascade-persist/>
+ <cascade-merge/>
+ <cascade-refresh/>
+ </cascade>
+ </many-to-many>
+ <many-to-many name="typewriters" target-entity="TypeWriterImpl">
+ <join-table name="EMFLIB_WRITER_TYPEWRITER"/>
+ <cascade>
+ <cascade-persist/>
+ <cascade-merge/>
+ <cascade-refresh/>
+ </cascade>
+ </many-to-many>
+ </attributes>
+ </entity>
+
+</entity-mappings> \ No newline at end of file
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/META-INF/generated_orm.xml b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/META-INF/generated_orm.xml
new file mode 100755
index 000000000..3280b3dc5
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/META-INF/generated_orm.xml
@@ -0,0 +1,296 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<orm:entity-mappings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:orm="http://java.sun.com/xml/ns/persistence/orm"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"
+ version="1.0">
+ <orm:persistence-unit-metadata>
+ <orm:xml-mapping-metadata-complete />
+ <orm:persistence-unit-defaults>
+ <orm:access>FIELD</orm:access>
+ </orm:persistence-unit-defaults>
+ </orm:persistence-unit-metadata>
+ <orm:mapped-superclass class="org.eclipse.emf.teneo.eclipselink.examples.library.impl.IdentifiableImpl">
+ <orm:attributes>
+ <orm:id name="id">
+ <orm:generated-value strategy="AUTO" />
+ </orm:id>
+ <orm:basic name="eContainerFeatureID">
+ <orm:column name="ECONT_FEAT_ID" />
+ </orm:basic>
+ <orm:version name="version" />
+ </orm:attributes>
+ </orm:mapped-superclass>
+ <orm:entity class="org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookImpl" name="Book">
+ <orm:table name="EMFLIB_BOOK" />
+ <orm:inheritance strategy="SINGLE_TABLE" />
+ <orm:discriminator-value>Book</orm:discriminator-value>
+ <orm:discriminator-column discriminator-type="STRING" length="31" name="DTYPE" />
+ <orm:attributes>
+ <orm:basic fetch="EAGER" name="title" optional="true" />
+ <orm:basic fetch="EAGER" name="pages" optional="true" />
+ <orm:basic fetch="EAGER" name="category" optional="true">
+ <orm:enumerated>STRING</orm:enumerated>
+ </orm:basic>
+ <orm:many-to-one fetch="EAGER" name="author" optional="true"
+ target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.WriterImpl">
+ <orm:cascade>
+ <orm:cascade-persist />
+ <orm:cascade-merge />
+ <orm:cascade-refresh />
+ </orm:cascade>
+ </orm:many-to-one>
+ <orm:many-to-one fetch="EAGER" name="translator" optional="true"
+ target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.TranslatorImpl">
+ <orm:join-column insertable="true" name="TRANSLATOR_TRANSLATOR_ID" nullable="true" unique="false"
+ updatable="true" />
+ <orm:cascade>
+ <orm:cascade-persist />
+ <orm:cascade-merge />
+ <orm:cascade-refresh />
+ </orm:cascade>
+ </orm:many-to-one>
+ <orm:one-to-many fetch="LAZY" mapped-by="eContainer" name="styles"
+ target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookStylesMapEntryImpl">
+ <orm:cascade>
+ <orm:cascade-all />
+ </orm:cascade>
+ </orm:one-to-many>
+ <orm:one-to-one fetch="EAGER" name="cover" optional="true"
+ target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.CoverImpl">
+ <orm:join-column insertable="true" name="COVER_COVER_ID" nullable="true" unique="false" updatable="true" />
+ <orm:cascade>
+ <orm:cascade-all />
+ </orm:cascade>
+ </orm:one-to-one>
+ <orm:one-to-one mapped-by="value" name="eContainer"
+ target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.StringToBookMapEntryImpl">
+ <orm:cascade>
+ <orm:cascade-all />
+ </orm:cascade>
+ </orm:one-to-one>
+ </orm:attributes>
+ </orm:entity>
+ <orm:entity class="org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryImpl" name="Library">
+ <orm:table name="EMFLIB_LIBRARY" />
+ <orm:inheritance strategy="SINGLE_TABLE" />
+ <orm:discriminator-value>Library</orm:discriminator-value>
+ <orm:discriminator-column discriminator-type="STRING" length="31" name="DTYPE" />
+ <orm:attributes>
+ <orm:basic fetch="EAGER" name="name" optional="true" />
+ <orm:one-to-many fetch="LAZY" mapped-by="eContainer" name="writers"
+ target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.WriterImpl">
+ <orm:cascade>
+ <orm:cascade-all />
+ </orm:cascade>
+ </orm:one-to-many>
+ <orm:one-to-many fetch="LAZY" mapped-by="eContainer" name="books"
+ target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.StringToBookMapEntryImpl">
+ <orm:cascade>
+ <orm:cascade-all />
+ </orm:cascade>
+ </orm:one-to-many>
+ </orm:attributes>
+ </orm:entity>
+ <orm:entity class="org.eclipse.emf.teneo.eclipselink.examples.library.impl.WriterImpl" name="Writer">
+ <orm:table name="EMFLIB_WRITER" />
+ <orm:inheritance strategy="SINGLE_TABLE" />
+ <orm:discriminator-value>Writer</orm:discriminator-value>
+ <orm:discriminator-column discriminator-type="STRING" length="31" name="DTYPE" />
+ <orm:attributes>
+ <orm:basic fetch="EAGER" name="name" optional="true" />
+ <orm:many-to-one name="eContainer" target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryImpl">
+ <orm:join-column name="LIBRARY_WRITERS_ID" />
+ <orm:cascade>
+ <orm:cascade-all />
+ </orm:cascade>
+ </orm:many-to-one>
+ <orm:one-to-many fetch="LAZY" name="books" target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookImpl">
+ <orm:join-table name="EMFLIB_WRITER_BOOKS">
+ <orm:join-column insertable="true" name="WRITER_ID" nullable="false" unique="false" updatable="true" />
+ <orm:inverse-join-column insertable="true" name="BOOK_ID" nullable="false" unique="false"
+ updatable="true" />
+ </orm:join-table>
+ <orm:cascade>
+ <orm:cascade-persist />
+ <orm:cascade-merge />
+ <orm:cascade-refresh />
+ </orm:cascade>
+ </orm:one-to-many>
+ <orm:one-to-many fetch="LAZY" name="typewriters"
+ target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.TypeWriterImpl">
+ <orm:join-table name="EMFLIB_WRITER_TYPEWRITERS">
+ <orm:join-column insertable="true" name="WRITER_ID" nullable="false" unique="false" updatable="true" />
+ <orm:inverse-join-column insertable="true" name="TYPEWRITER_ID" nullable="false" unique="false"
+ updatable="true" />
+ </orm:join-table>
+ <orm:cascade>
+ <orm:cascade-persist />
+ <orm:cascade-merge />
+ <orm:cascade-refresh />
+ </orm:cascade>
+ </orm:one-to-many>
+ <orm:one-to-one fetch="EAGER" name="address" optional="true"
+ target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.AddressImpl">
+ <orm:join-column insertable="true" name="ADDRESS_ADDRESS_ID" nullable="true" unique="false"
+ updatable="true" />
+ <orm:cascade>
+ <orm:cascade-all />
+ </orm:cascade>
+ </orm:one-to-one>
+ <orm:many-to-many fetch="LAZY" name="publishers"
+ target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.PublisherImpl">
+ <orm:join-table name="EMFLIB_WRITER_PUBLISHERS">
+ <orm:join-column insertable="true" name="WRITER_ID" nullable="false" unique="false" updatable="true" />
+ <orm:inverse-join-column insertable="true" name="PUBLISHER_ID" nullable="false" unique="false"
+ updatable="true" />
+ </orm:join-table>
+ <orm:cascade>
+ <orm:cascade-persist />
+ <orm:cascade-merge />
+ <orm:cascade-refresh />
+ </orm:cascade>
+ </orm:many-to-many>
+ </orm:attributes>
+ </orm:entity>
+ <orm:entity class="org.eclipse.emf.teneo.eclipselink.examples.library.impl.StringToBookMapEntryImpl" name="StringToBookMapEntry">
+ <orm:table name="EMFLIB_LIBRARY_BOOK_MAP" />
+ <orm:inheritance strategy="SINGLE_TABLE" />
+ <orm:discriminator-value>StringToBookMapEntry</orm:discriminator-value>
+ <orm:discriminator-column discriminator-type="STRING" length="31" name="DTYPE" />
+ <orm:attribute-override name="id">
+ <orm:column insertable="false" name="LIBRARY_BOOKS_ID" updatable="false" />
+ </orm:attribute-override>
+ <orm:attributes>
+ <orm:id name="key">
+ <orm:column name="e_key" />
+ </orm:id>
+ <orm:many-to-one name="eContainer" target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryImpl">
+ <orm:join-column name="LIBRARY_BOOKS_ID" />
+ <orm:cascade>
+ <orm:cascade-all />
+ </orm:cascade>
+ </orm:many-to-one>
+ <orm:one-to-one fetch="EAGER" name="value" optional="true"
+ target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookImpl">
+ <orm:join-column insertable="true" name="BOOK_VALUE_ID" nullable="true" unique="false" updatable="true" />
+ <orm:cascade>
+ <orm:cascade-all />
+ </orm:cascade>
+ </orm:one-to-one>
+ <orm:transient name="hash" />
+ </orm:attributes>
+ </orm:entity>
+ <orm:entity class="org.eclipse.emf.teneo.eclipselink.examples.library.impl.AddressImpl" name="Address">
+ <orm:table name="EMFLIB_ADDRESS" />
+ <orm:inheritance strategy="SINGLE_TABLE" />
+ <orm:discriminator-value>Address</orm:discriminator-value>
+ <orm:discriminator-column discriminator-type="STRING" length="31" name="DTYPE" />
+ <orm:attributes>
+ <orm:basic fetch="EAGER" name="town" optional="true" />
+ <orm:one-to-one mapped-by="address" name="eContainer"
+ target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.WriterImpl">
+ <orm:cascade>
+ <orm:cascade-all />
+ </orm:cascade>
+ </orm:one-to-one>
+ </orm:attributes>
+ </orm:entity>
+ <orm:entity class="org.eclipse.emf.teneo.eclipselink.examples.library.impl.PublisherImpl" name="Publisher">
+ <orm:table name="EMFLIB_PUBLISHER" />
+ <orm:inheritance strategy="SINGLE_TABLE" />
+ <orm:discriminator-value>Publisher</orm:discriminator-value>
+ <orm:discriminator-column discriminator-type="STRING" length="31" name="DTYPE" />
+ <orm:attributes>
+ <orm:basic fetch="EAGER" name="name" optional="true" />
+ <orm:many-to-many fetch="LAZY" mapped-by="publishers" name="writers"
+ target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.WriterImpl">
+ <orm:join-table name="EMFLIB_PUBLISHER_WRITERS">
+ <orm:join-column insertable="true" name="PUBLISHER_ID" nullable="false" unique="false" updatable="true" />
+ <orm:inverse-join-column insertable="true" name="WRITER_ID" nullable="false" unique="false"
+ updatable="true" />
+ </orm:join-table>
+ <orm:cascade>
+ <orm:cascade-persist />
+ <orm:cascade-merge />
+ <orm:cascade-refresh />
+ </orm:cascade>
+ </orm:many-to-many>
+ </orm:attributes>
+ </orm:entity>
+ <orm:entity class="org.eclipse.emf.teneo.eclipselink.examples.library.impl.StyleImpl" name="Style">
+ <orm:table name="EMFLIB_STYLE" />
+ <orm:inheritance strategy="SINGLE_TABLE" />
+ <orm:discriminator-value>Style</orm:discriminator-value>
+ <orm:discriminator-column discriminator-type="STRING" length="31" name="DTYPE" />
+ <orm:attributes>
+ <orm:basic fetch="EAGER" name="name" optional="true" />
+ </orm:attributes>
+ </orm:entity>
+ <orm:entity class="org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookStylesMapEntryImpl" name="BookStylesMapEntry">
+ <orm:table name="EMFLIB_BOOK_STYLE_MAP" />
+ <orm:inheritance strategy="SINGLE_TABLE" />
+ <orm:discriminator-value>BookStylesMapEntry</orm:discriminator-value>
+ <orm:discriminator-column discriminator-type="STRING" length="31" name="DTYPE" />
+ <orm:attribute-override name="id">
+ <orm:column insertable="false" name="BOOK_STYLES_ID" updatable="false" />
+ </orm:attribute-override>
+ <orm:attributes>
+ <orm:id name="key">
+ <orm:column name="e_key" />
+ </orm:id>
+ <orm:many-to-one fetch="EAGER" name="value" optional="true"
+ target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.StyleImpl">
+ <orm:join-column insertable="true" name="STYLE_VALUE_ID" nullable="true" unique="false" updatable="true" />
+ <orm:cascade>
+ <orm:cascade-persist />
+ <orm:cascade-merge />
+ <orm:cascade-refresh />
+ </orm:cascade>
+ </orm:many-to-one>
+ <orm:many-to-one name="eContainer" target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookImpl">
+ <orm:join-column name="BOOK_STYLES_ID" />
+ <orm:cascade>
+ <orm:cascade-all />
+ </orm:cascade>
+ </orm:many-to-one>
+ <orm:transient name="hash" />
+ </orm:attributes>
+ </orm:entity>
+ <orm:entity class="org.eclipse.emf.teneo.eclipselink.examples.library.impl.TranslatorImpl" name="Translator">
+ <orm:table name="EMFLIB_TRANSLATOR" />
+ <orm:inheritance strategy="SINGLE_TABLE" />
+ <orm:discriminator-value>Translator</orm:discriminator-value>
+ <orm:discriminator-column discriminator-type="STRING" length="31" name="DTYPE" />
+ <orm:attributes>
+ <orm:basic fetch="EAGER" name="name" optional="true" />
+ <orm:basic fetch="EAGER" name="location" optional="true" />
+ <orm:transient name="address" />
+ </orm:attributes>
+ </orm:entity>
+ <orm:entity class="org.eclipse.emf.teneo.eclipselink.examples.library.impl.TypeWriterImpl" name="TypeWriter">
+ <orm:table name="EMFLIB_TYPEWRITER" />
+ <orm:inheritance strategy="SINGLE_TABLE" />
+ <orm:discriminator-value>TypeWriter</orm:discriminator-value>
+ <orm:discriminator-column discriminator-type="STRING" length="31" name="DTYPE" />
+ <orm:attributes>
+ <orm:basic fetch="EAGER" name="maker" optional="true" />
+ <orm:basic fetch="EAGER" name="type" optional="true">
+ <orm:enumerated>STRING</orm:enumerated>
+ </orm:basic>
+ </orm:attributes>
+ </orm:entity>
+ <orm:entity class="org.eclipse.emf.teneo.eclipselink.examples.library.impl.CoverImpl" name="Cover">
+ <orm:table name="EMFLIB_COVER" />
+ <orm:inheritance strategy="SINGLE_TABLE" />
+ <orm:discriminator-value>Cover</orm:discriminator-value>
+ <orm:discriminator-column discriminator-type="STRING" length="31" name="DTYPE" />
+ <orm:attributes>
+ <orm:basic fetch="EAGER" name="colored" optional="true" />
+ <orm:one-to-one mapped-by="cover" name="eContainer"
+ target-entity="org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookImpl">
+ <orm:cascade>
+ <orm:cascade-all />
+ </orm:cascade>
+ </orm:one-to-one>
+ </orm:attributes>
+ </orm:entity>
+</orm:entity-mappings> \ No newline at end of file
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/META-INF/orm.xml b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/META-INF/orm.xml
new file mode 100755
index 000000000..68fecd3f6
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/META-INF/orm.xml
@@ -0,0 +1,262 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entity-mappings
+ xmlns="http://java.sun.com/xml/ns/persistence/orm"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"
+ version="1.0">
+
+ <!--=================================-->
+ <!-- Persistence unit level metadata -->
+ <!--=================================-->
+
+ <persistence-unit-metadata>
+ <xml-mapping-metadata-complete/>
+ <persistence-unit-defaults>
+ <access>FIELD</access>
+ </persistence-unit-defaults>
+ </persistence-unit-metadata>
+
+ <!--=============================-->
+ <!-- Mapping file level metadata -->
+ <!--=============================-->
+
+ <package>org.eclipse.emf.teneo.eclipselink.examples.library.impl</package>
+ <mapped-superclass class="IdentifiableImpl" access="FIELD">
+ <attributes>
+ <id name="id">
+ <column name="ID"/>
+ <generated-value/>
+ </id>
+ <basic name="eContainerFeatureID"/>
+ <version name="version">
+ </version>
+ </attributes>
+ </mapped-superclass>
+
+ <!--=========-->
+ <!-- Queries -->
+ <!--=========-->
+
+
+ <!--=========================-->
+ <!-- Abstract class mappings -->
+ <!--=========================-->
+
+ <!--=================-->
+ <!-- Entity mappings -->
+ <!--=================-->
+
+ <entity name="Address" class="AddressImpl">
+ <table name="EMFLIB_ADDRESS"/>
+ <attributes>
+ <basic name="town"/>
+ <one-to-one name="eContainer" target-entity="WriterImpl" mapped-by="address">
+ </one-to-one>
+ </attributes>
+ </entity>
+
+ <entity name="Book" class="BookImpl" access="FIELD">
+ <table name="EMFLIB_BOOK"/>
+ <attributes>
+ <basic name="category">
+ <enumerated>STRING</enumerated>
+ </basic>
+ <basic name="title"/>
+ <basic name="pages"/>
+ <many-to-one name="author" target-entity="WriterImpl">
+ <join-column name="AUTHOR_ID"/>
+ <cascade>
+ <cascade-persist/>
+ <cascade-merge/>
+ <cascade-refresh/>
+ </cascade>
+ </many-to-one>
+ <one-to-many name="styles" target-entity="BookStylesMapEntryImpl" mapped-by="eContainer">
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </one-to-many>
+ <one-to-one name="cover" target-entity="CoverImpl" mapped-by="eContainer">
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </one-to-one>
+ <one-to-one name="eContainer" target-entity="StringToBookMapEntryImpl" mapped-by="value">
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </one-to-one>
+ <one-to-one name="translator" target-entity="TranslatorImpl">
+ <join-column name="TRANSLATOR_ID"/>
+ <cascade>
+ <cascade-persist/>
+ <cascade-merge/>
+ <cascade-refresh/>
+ </cascade>
+ </one-to-one>
+ </attributes>
+ </entity>
+
+ <entity class="BookStylesMapEntryImpl" name="BookStylesMapEntry">
+ <table name="EMFLIB_BOOK_STYLE_MAP"/>
+ <id-class class="org.eclipse.emf.teneo.eclipselink.util.MapEntryId"/>
+ <attribute-override name="id">
+ <column name="BOOK_ID" updatable="false" insertable="false"/>
+ </attribute-override>
+ <attributes>
+ <id name="key">
+ <column name="MAPKEY"/>
+ </id>
+ <many-to-one name="eContainer" target-entity="BookImpl">
+ <join-column name="BOOK_ID"/>
+ </many-to-one>
+ <one-to-one name="value" target-entity="StyleImpl">
+ <join-column name="STYLE_ID"/>
+ <cascade>
+ <cascade-persist/>
+ <cascade-merge/>
+ <cascade-refresh/>
+ </cascade>
+ </one-to-one>
+ <transient name="hash"/>
+ </attributes>
+ </entity>
+
+ <entity name="Cover" class="CoverImpl">
+ <table name="EMFLIB_COVER"/>
+ <attributes>
+ <basic name="colored"/>
+ <one-to-one name="eContainer" target-entity="BookImpl">
+ <join-column name="ECONTAINER_ID"/>
+ </one-to-one>
+ </attributes>
+ </entity>
+
+ <entity name="Library" class="LibraryImpl">
+ <table name="EMFLIB_LIBRARY"/>
+ <attributes>
+ <basic name="name"/>
+ <one-to-many name="books" target-entity="StringToBookMapEntryImpl" mapped-by="eContainer">
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </one-to-many>
+ <one-to-many name="writers" target-entity="WriterImpl" mapped-by="eContainer">
+ <cascade>
+ <cascade-persist/>
+ <cascade-merge/>
+ <cascade-refresh/>
+ </cascade>
+ </one-to-many>
+ </attributes>
+ </entity>
+
+ <entity name="Publisher" class="PublisherImpl">
+ <table name="EMFLIB_PUBLISHER"/>
+ <attributes>
+ <basic name="name"/>
+ <many-to-many name="writers" target-entity="WriterImpl">
+ <join-table name="EMFLIB_PUBLISHER_WRITER">
+ <join-column insertable="true" name="publisher_id" nullable="false" unique="false" updatable="true"/>
+ <inverse-join-column insertable="true" name="writer_id" nullable="false" unique="false" updatable="true"/>
+ </join-table>
+ <cascade>
+ <cascade-persist/>
+ <cascade-merge/>
+ <cascade-refresh/>
+ </cascade>
+ </many-to-many>
+ </attributes>
+ </entity>
+
+ <entity class="StringToBookMapEntryImpl" name="StringToBookMapEntry">
+ <table name="EMFLIB_LIBRARY_BOOK_MAP"/>
+ <id-class class="org.eclipse.emf.teneo.eclipselink.util.MapEntryId"/>
+ <attribute-override name="id">
+ <column name="LIBRARY_ID" updatable="false" insertable="false"/>
+ </attribute-override>
+ <attributes>
+ <id name="key">
+ <column name="MAPKEY"/>
+ </id>
+ <many-to-one name="eContainer" target-entity="LibraryImpl">
+ <join-column name="LIBRARY_ID"/>
+ </many-to-one>
+ <one-to-one name="value" target-entity="BookImpl">
+ <join-column name="BOOK_ID" referenced-column-name="ID"/>
+ <cascade>
+ <cascade-persist/>
+ <cascade-merge/>
+ <cascade-refresh/>
+ </cascade>
+ </one-to-one>
+ <transient name="hash"/>
+ </attributes>
+ </entity>
+
+ <entity name="Style" class="StyleImpl">
+ <table name="EMFLIB_STYLE"/>
+ <attributes>
+ <basic name="name"/>
+ </attributes>
+ </entity>
+
+ <entity name="Translator" class="TranslatorImpl">
+ <table name="EMFLIB_TRANSLATOR"/>
+ <attributes>
+ <basic name="location"/>
+ <basic name="name"/>
+ <!-- address should be removed from Translator -->
+ <transient name="address"/>
+ </attributes>
+ </entity>
+
+ <entity name="TypeWriter" class="TypeWriterImpl">
+ <table name="EMFLIB_TYPEWRITER"/>
+ <attributes>
+ <basic name="maker"/>
+ <basic name="type">
+ <enumerated>STRING</enumerated>
+ </basic>
+ </attributes>
+ </entity>
+
+ <entity name="Writer" class="WriterImpl">
+ <table name="EMFLIB_WRITER"/>
+ <attributes>
+ <basic name="name"/>
+ <many-to-one name="eContainer" target-entity="LibraryImpl">
+ <join-column name="ECONTAINER_ID"/>
+ </many-to-one>
+ <one-to-many name="books" mapped-by="author" target-entity="BookImpl">
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </one-to-many>
+ <one-to-one name="address" target-entity="AddressImpl" >
+ <join-column name="ADDRESS_ID"/>
+ <cascade>
+ <cascade-persist/>
+ <cascade-merge/>
+ <cascade-refresh/>
+ </cascade>
+ </one-to-one>
+ <many-to-many name="publishers" target-entity="PublisherImpl" mapped-by="writers">
+ <cascade>
+ <cascade-persist/>
+ <cascade-merge/>
+ <cascade-refresh/>
+ </cascade>
+ </many-to-many>
+ <many-to-many name="typewriters" target-entity="TypeWriterImpl">
+ <join-table name="EMFLIB_WRITER_TYPEWRITER"/>
+ <cascade>
+ <cascade-persist/>
+ <cascade-merge/>
+ <cascade-refresh/>
+ </cascade>
+ </many-to-many>
+ </attributes>
+ </entity>
+
+</entity-mappings> \ No newline at end of file
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/META-INF/persistence.xml b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/META-INF/persistence.xml
new file mode 100755
index 000000000..1387b2145
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/META-INF/persistence.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
+ <persistence-unit name="library" transaction-type="RESOURCE_LOCAL">
+ <properties>
+ <property name="eclipselink.session-name" value="library" />
+
+ <property name="eclipselink.logging.level" value="FINE" />
+ <property name="eclipselink.logging.timestamp" value="false" />
+ <property name="eclipselink.logging.thread" value="false" />
+ <property name="eclipselink.logging.session" value="false" />
+ <property name="eclipselink.jdbc.bind-parameters" value="false"/>
+
+ <!--property name="eclipselink.target-database" value="Derby"/>
+ <property name="eclipselink.jdbc.driver" value="org.apache.derby.jdbc.EmbeddedDriver"/>
+ <property name="eclipselink.jdbc.url" value="jdbc:derby:teneo;create=true"/-->
+
+ <property name="eclipselink.target-database" value="org.eclipse.persistence.platform.database.HSQLPlatform"/>
+ <property name="eclipselink.jdbc.driver" value="org.hsqldb.jdbcDriver"/>
+ <property name="eclipselink.jdbc.url" value="jdbc:hsqldb:mem:test"/>
+ <property name="eclipselink.jdbc.user" value="sa"/>
+ <property name="eclipselink.jdbc.password" value=""/>
+
+ <property name="eclipselink.session.customizer" value="org.eclipse.emf.teneo.eclipselink.EmfSessionCustomizer"/>
+
+ <property name="eclipselink.jdbc.read-connections.min" value="1"/>
+ <property name="eclipselink.jdbc.write-connections.min" value="1"/>
+ <property name="eclipselink.ddl-generation.output-mode" value="database" />
+ <!-- Uncomment to create database schema -->
+ <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
+ <property name="eclipselink.ddl-generation.output-mode" value="database"/>
+ </properties>
+ </persistence-unit>
+</persistence>
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/META-INF/persistence_mysql.xml b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/META-INF/persistence_mysql.xml
new file mode 100755
index 000000000..8b815acce
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/META-INF/persistence_mysql.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
+ <persistence-unit name="library" transaction-type="RESOURCE_LOCAL">
+ <properties>
+ <property name="eclipselink.session-name" value="library" />
+
+ <property name="eclipselink.logging.level" value="FINEST" />
+ <property name="eclipselink.logging.timestamp" value="false" />
+ <property name="eclipselink.logging.thread" value="false" />
+ <property name="eclipselink.logging.session" value="false" />
+ <property name="eclipselink.jdbc.bind-parameters" value="false"/>
+
+ <property name="eclipselink.target-database" value="Mysql"/>
+ <property name="eclipselink.jdbc.driver" value="com.mysql.jdbc.Driver"/>
+ <property name="eclipselink.jdbc.url" value="jdbc:mysql://localhost:3306/teneo"/>
+ <property name="eclipselink.jdbc.user" value="root"/>
+ <property name="eclipselink.jdbc.password" value="root"/>
+
+<!--
+ <property name="eclipselink.target-database" value="Derby"/>
+ <property name="eclipselink.jdbc.driver" value="org.apache.derby.jdbc.EmbeddedDriver"/>
+ <property name="eclipselink.jdbc.url" value="jdbc:derby:teneo;create=true"/>
+-->
+ <property name="eclipselink.session.customizer" value="org.eclipse.emf.teneo.eclipselink.EmfSessionCustomizer"/>
+
+ <property name="eclipselink.jdbc.read-connections.min" value="1"/>
+ <property name="eclipselink.jdbc.write-connections.min" value="1"/>
+ <property name="eclipselink.ddl-generation.output-mode" value="database" />
+ <!-- Uncomment to create database schema -->
+ <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
+ <property name="eclipselink.ddl-generation.output-mode" value="database"/>
+ </properties>
+ </persistence-unit>
+</persistence>
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/AbstractTest.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/AbstractTest.java
new file mode 100755
index 000000000..83b568977
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/AbstractTest.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: AbstractTest.java,v 1.1 2010/03/02 20:36:09 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Abstract Test</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getAbstractTest()
+ * @model abstract="true"
+ * @generated
+ */
+public interface AbstractTest extends EObject {
+} // AbstractTest
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Activator.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Activator.java
new file mode 100755
index 000000000..d05b0ad51
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Activator.java
@@ -0,0 +1,90 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Activator.java,v 1.6 2010/04/22 17:57:52 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library;
+
+import org.eclipse.emf.common.EMFPlugin;
+import org.eclipse.emf.common.util.ResourceLocator;
+
+/**
+ * This is the central singleton for the Library model plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class Activator extends EMFPlugin {
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final Activator INSTANCE = new Activator();
+
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Activator() {
+ super(new ResourceLocator [] {});
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ @Override
+ public ResourceLocator getPluginResourceLocator() {
+ return plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin() {
+ return plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse <b>Plugin</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class Implementation extends EclipsePlugin {
+ /**
+ * Creates an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Implementation() {
+ super();
+
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+
+}
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Address.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Address.java
new file mode 100755
index 000000000..09868c605
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Address.java
@@ -0,0 +1,53 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Address.java,v 1.2 2009/01/21 21:34:20 seberle Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Address</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.Address#getTown <em>Town</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getAddress()
+ * @model annotation="http://www.oracle.com/toplink/emf/2006/ContainerMapping eContainingClassName='Writer' eContainingClassPackageName='library'"
+ * @generated
+ */
+public interface Address extends Identifiable {
+ /**
+ * Returns the value of the '<em><b>Town</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Town</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Town</em>' attribute.
+ * @see #setTown(String)
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getAddress_Town()
+ * @model
+ * @generated
+ */
+ String getTown();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Address#getTown <em>Town</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Town</em>' attribute.
+ * @see #getTown()
+ * @generated
+ */
+ void setTown(String value);
+
+} // Address
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Book.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Book.java
new file mode 100755
index 000000000..0c98c64c0
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Book.java
@@ -0,0 +1,241 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Book.java,v 1.3 2010/03/02 21:50:32 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library;
+
+import org.eclipse.emf.common.util.EMap;
+
+/**
+ * <!-- 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.eclipselink.examples.library.Book#getTitle <em>Title</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.Book#getPages <em>Pages</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.Book#getCategory <em>Category</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.Book#getAuthor <em>Author</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.Book#getStyles <em>Styles</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.Book#getTranslator <em>Translator</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.Book#getCover <em>Cover</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.Book#getDerivedAttribute <em>Derived Attribute</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getBook()
+ * @model
+ * @generated
+ */
+public interface Book extends Identifiable {
+ /**
+ * Returns the value of the '<em><b>Title</b></em>' attribute.
+ * The default value is <code>""</code>.
+ * <!-- 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.eclipselink.examples.library.LibraryPackage#getBook_Title()
+ * @model default=""
+ * @generated
+ */
+ String getTitle();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Book#getTitle <em>Title</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Title</em>' attribute.
+ * @see #getTitle()
+ * @generated
+ */
+ void setTitle(String value);
+
+ /**
+ * Returns the value of the '<em><b>Pages</b></em>' attribute.
+ * 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.eclipselink.examples.library.LibraryPackage#getBook_Pages()
+ * @model default="100"
+ * @generated
+ */
+ int getPages();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Book#getPages <em>Pages</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Pages</em>' attribute.
+ * @see #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.eclipselink.examples.library.BookCategory}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Category</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Category</em>' attribute.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.BookCategory
+ * @see #setCategory(BookCategory)
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getBook_Category()
+ * @model
+ * @generated
+ */
+ BookCategory getCategory();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Book#getCategory <em>Category</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Category</em>' attribute.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.BookCategory
+ * @see #getCategory()
+ * @generated
+ */
+ void setCategory(BookCategory value);
+
+ /**
+ * Returns the value of the '<em><b>Author</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Writer#getBooks <em>Books</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Author</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Author</em>' reference.
+ * @see #setAuthor(Writer)
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getBook_Author()
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Writer#getBooks
+ * @model opposite="books" required="true"
+ * @generated
+ */
+ Writer getAuthor();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Book#getAuthor <em>Author</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Author</em>' reference.
+ * @see #getAuthor()
+ * @generated
+ */
+ void setAuthor(Writer value);
+
+ /**
+ * Returns the value of the '<em><b>Styles</b></em>' map.
+ * The key is of type {@link java.lang.String},
+ * and the value is of type {@link org.eclipse.emf.teneo.eclipselink.examples.library.Style},
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Styles</em>' map isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Styles</em>' map.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getBook_Styles()
+ * @model mapType="org.eclipse.emf.teneo.eclipselink.examples.library.BookStylesMapEntry<org.eclipse.emf.ecore.EString, org.eclipse.emf.teneo.eclipselink.examples.library.Style>"
+ * @generated
+ */
+ EMap<String, Style> getStyles();
+
+ /**
+ * Returns the value of the '<em><b>Translator</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Translator</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Translator</em>' reference.
+ * @see #setTranslator(Translator)
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getBook_Translator()
+ * @model
+ * @generated
+ */
+ Translator getTranslator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Book#getTranslator <em>Translator</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Translator</em>' reference.
+ * @see #getTranslator()
+ * @generated
+ */
+ void setTranslator(Translator value);
+
+ /**
+ * Returns the value of the '<em><b>Cover</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cover</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Cover</em>' containment reference.
+ * @see #setCover(Cover)
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getBook_Cover()
+ * @model containment="true"
+ * @generated
+ */
+ Cover getCover();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Book#getCover <em>Cover</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cover</em>' containment reference.
+ * @see #getCover()
+ * @generated
+ */
+ void setCover(Cover value);
+
+ /**
+ * Returns the value of the '<em><b>Derived Attribute</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Derived Attribute</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Derived Attribute</em>' attribute.
+ * @see #setDerivedAttribute(String)
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getBook_DerivedAttribute()
+ * @model volatile="true" derived="true"
+ * @generated
+ */
+ String getDerivedAttribute();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Book#getDerivedAttribute <em>Derived Attribute</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Derived Attribute</em>' attribute.
+ * @see #getDerivedAttribute()
+ * @generated
+ */
+ void setDerivedAttribute(String value);
+
+} // Book
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/BookCategory.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/BookCategory.java
new file mode 100755
index 000000000..69edbc43a
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/BookCategory.java
@@ -0,0 +1,239 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: BookCategory.java,v 1.3 2009/06/14 21:00:29 seberle Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library;
+
+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.eclipselink.examples.library.LibraryPackage#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"), //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * 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"), //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>Biography</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #BIOGRAPHY_VALUE
+ * @generated
+ * @ordered
+ */
+ BIOGRAPHY(2, "Biography", "Biography"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * 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/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Cover.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Cover.java
new file mode 100755
index 000000000..1b1470e3a
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Cover.java
@@ -0,0 +1,53 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Cover.java,v 1.2 2009/01/21 21:34:20 seberle Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Cover</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.Cover#isColored <em>Colored</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getCover()
+ * @model
+ * @generated
+ */
+public interface Cover extends Identifiable {
+ /**
+ * Returns the value of the '<em><b>Colored</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Colored</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Colored</em>' attribute.
+ * @see #setColored(boolean)
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getCover_Colored()
+ * @model
+ * @generated
+ */
+ boolean isColored();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Cover#isColored <em>Colored</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Colored</em>' attribute.
+ * @see #isColored()
+ * @generated
+ */
+ void setColored(boolean value);
+
+} // Cover
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Identifiable.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Identifiable.java
new file mode 100755
index 000000000..726338936
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Identifiable.java
@@ -0,0 +1,82 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Identifiable.java,v 1.3 2009/03/18 11:16:52 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Identifiable</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.Identifiable#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.Identifiable#getVersion <em>Version</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getIdentifiable()
+ * @model abstract="true"
+ * annotation="teneo.jpa value='@MappedSuperclass'"
+ * @generated
+ */
+public interface Identifiable extends EObject {
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(long)
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getIdentifiable_Id()
+ * @model annotation="teneo.jpa value='@Id\n@GeneratedValue'"
+ * @generated
+ */
+ long getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Identifiable#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(long value);
+
+ /**
+ * Returns the value of the '<em><b>Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Version</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Version</em>' attribute.
+ * @see #setVersion(long)
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getIdentifiable_Version()
+ * @model annotation="teneo.jpa value='@Version'"
+ * @generated
+ */
+ long getVersion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Identifiable#getVersion <em>Version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Version</em>' attribute.
+ * @see #getVersion()
+ * @generated
+ */
+ void setVersion(long value);
+
+} // Identifiable
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Library.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Library.java
new file mode 100755
index 000000000..14121a4d7
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Library.java
@@ -0,0 +1,90 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Library.java,v 1.2 2009/01/21 21:34:20 seberle Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.EMap;
+
+/**
+ * <!-- 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.eclipselink.examples.library.Library#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.Library#getWriters <em>Writers</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.Library#getBooks <em>Books</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getLibrary()
+ * @model
+ * @generated
+ */
+public interface Library extends Identifiable {
+ /**
+ * 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.eclipselink.examples.library.LibraryPackage#getLibrary_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Library#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Writers</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.eclipselink.examples.library.Writer}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Writers</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Writers</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getLibrary_Writers()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Writer> getWriters();
+
+ /**
+ * Returns the value of the '<em><b>Books</b></em>' map.
+ * The key is of type {@link java.lang.String},
+ * and the value is of type {@link org.eclipse.emf.teneo.eclipselink.examples.library.Book},
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Books</em>' map isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Books</em>' map.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getLibrary_Books()
+ * @model mapType="org.eclipse.emf.teneo.eclipselink.examples.library.StringToBookMapEntry<org.eclipse.emf.ecore.EString, org.eclipse.emf.teneo.eclipselink.examples.library.Book>"
+ * @generated
+ */
+ EMap<String, Book> getBooks();
+
+} // Library
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/LibraryFactory.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/LibraryFactory.java
new file mode 100755
index 000000000..52db55746
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/LibraryFactory.java
@@ -0,0 +1,118 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: LibraryFactory.java,v 1.4 2010/04/22 17:57:52 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage
+ * @generated
+ */
+public interface LibraryFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ LibraryFactory eINSTANCE = org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryFactoryImpl.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>Address</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Address</em>'.
+ * @generated
+ */
+ Address createAddress();
+
+ /**
+ * Returns a new object of class '<em>Publisher</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Publisher</em>'.
+ * @generated
+ */
+ Publisher createPublisher();
+
+ /**
+ * Returns a new object of class '<em>Style</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Style</em>'.
+ * @generated
+ */
+ Style createStyle();
+
+ /**
+ * Returns a new object of class '<em>Translator</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Translator</em>'.
+ * @generated
+ */
+ Translator createTranslator();
+
+ /**
+ * Returns a new object of class '<em>Type Writer</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Type Writer</em>'.
+ * @generated
+ */
+ TypeWriter createTypeWriter();
+
+ /**
+ * Returns a new object of class '<em>Cover</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Cover</em>'.
+ * @generated
+ */
+ Cover createCover();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ LibraryPackage getLibraryPackage();
+
+} //LibraryFactory
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/LibraryPackage.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/LibraryPackage.java
new file mode 100755
index 000000000..15e6617ea
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/LibraryPackage.java
@@ -0,0 +1,1755 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: LibraryPackage.java,v 1.9 2010/04/22 17:57:52 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library;
+
+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.eclipselink.examples.library.LibraryFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface LibraryPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "library"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http:///org/eclipse/emf/teneo/eclipselink/examples/library.ecore"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "library"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ LibraryPackage eINSTANCE = org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.IdentifiableImpl <em>Identifiable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.IdentifiableImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getIdentifiable()
+ * @generated
+ */
+ int IDENTIFIABLE = 11;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IDENTIFIABLE__ID = 0;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IDENTIFIABLE__VERSION = 1;
+
+ /**
+ * The number of structural features of the '<em>Identifiable</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IDENTIFIABLE_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookImpl <em>Book</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getBook()
+ * @generated
+ */
+ int BOOK = 0;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK__ID = IDENTIFIABLE__ID;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK__VERSION = IDENTIFIABLE__VERSION;
+
+ /**
+ * The feature id for the '<em><b>Title</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK__TITLE = IDENTIFIABLE_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 = IDENTIFIABLE_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 = IDENTIFIABLE_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 = IDENTIFIABLE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Styles</b></em>' map.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK__STYLES = IDENTIFIABLE_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Translator</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK__TRANSLATOR = IDENTIFIABLE_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Cover</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK__COVER = IDENTIFIABLE_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Derived Attribute</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK__DERIVED_ATTRIBUTE = IDENTIFIABLE_FEATURE_COUNT + 7;
+
+ /**
+ * The number of structural features of the '<em>Book</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK_FEATURE_COUNT = IDENTIFIABLE_FEATURE_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryImpl <em>Library</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getLibrary()
+ * @generated
+ */
+ int LIBRARY = 1;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIBRARY__ID = IDENTIFIABLE__ID;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIBRARY__VERSION = IDENTIFIABLE__VERSION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIBRARY__NAME = IDENTIFIABLE_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 = IDENTIFIABLE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Books</b></em>' map.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIBRARY__BOOKS = IDENTIFIABLE_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Library</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIBRARY_FEATURE_COUNT = IDENTIFIABLE_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.WriterImpl <em>Writer</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.WriterImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getWriter()
+ * @generated
+ */
+ int WRITER = 2;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WRITER__ID = IDENTIFIABLE__ID;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WRITER__VERSION = IDENTIFIABLE__VERSION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WRITER__NAME = IDENTIFIABLE_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 = IDENTIFIABLE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Address</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WRITER__ADDRESS = IDENTIFIABLE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Publishers</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WRITER__PUBLISHERS = IDENTIFIABLE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Typewriters</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WRITER__TYPEWRITERS = IDENTIFIABLE_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Writer</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WRITER_FEATURE_COUNT = IDENTIFIABLE_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.StringToBookMapEntryImpl <em>String To Book Map Entry</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.StringToBookMapEntryImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getStringToBookMapEntry()
+ * @generated
+ */
+ int STRING_TO_BOOK_MAP_ENTRY = 3;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRING_TO_BOOK_MAP_ENTRY__ID = IDENTIFIABLE__ID;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRING_TO_BOOK_MAP_ENTRY__VERSION = IDENTIFIABLE__VERSION;
+
+ /**
+ * The feature id for the '<em><b>Key</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRING_TO_BOOK_MAP_ENTRY__KEY = IDENTIFIABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRING_TO_BOOK_MAP_ENTRY__VALUE = IDENTIFIABLE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>String To Book Map Entry</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRING_TO_BOOK_MAP_ENTRY_FEATURE_COUNT = IDENTIFIABLE_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.AddressImpl <em>Address</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.AddressImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getAddress()
+ * @generated
+ */
+ int ADDRESS = 4;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADDRESS__ID = IDENTIFIABLE__ID;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADDRESS__VERSION = IDENTIFIABLE__VERSION;
+
+ /**
+ * The feature id for the '<em><b>Town</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADDRESS__TOWN = IDENTIFIABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Address</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADDRESS_FEATURE_COUNT = IDENTIFIABLE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.PublisherImpl <em>Publisher</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.PublisherImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getPublisher()
+ * @generated
+ */
+ int PUBLISHER = 5;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PUBLISHER__ID = IDENTIFIABLE__ID;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PUBLISHER__VERSION = IDENTIFIABLE__VERSION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PUBLISHER__NAME = IDENTIFIABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Writers</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PUBLISHER__WRITERS = IDENTIFIABLE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Publisher</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PUBLISHER_FEATURE_COUNT = IDENTIFIABLE_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.StyleImpl <em>Style</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.StyleImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getStyle()
+ * @generated
+ */
+ int STYLE = 6;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STYLE__ID = IDENTIFIABLE__ID;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STYLE__VERSION = IDENTIFIABLE__VERSION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STYLE__NAME = IDENTIFIABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Style</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STYLE_FEATURE_COUNT = IDENTIFIABLE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookStylesMapEntryImpl <em>Book Styles Map Entry</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookStylesMapEntryImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getBookStylesMapEntry()
+ * @generated
+ */
+ int BOOK_STYLES_MAP_ENTRY = 7;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK_STYLES_MAP_ENTRY__ID = IDENTIFIABLE__ID;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK_STYLES_MAP_ENTRY__VERSION = IDENTIFIABLE__VERSION;
+
+ /**
+ * The feature id for the '<em><b>Key</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK_STYLES_MAP_ENTRY__KEY = IDENTIFIABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK_STYLES_MAP_ENTRY__VALUE = IDENTIFIABLE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Book Styles Map Entry</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOOK_STYLES_MAP_ENTRY_FEATURE_COUNT = IDENTIFIABLE_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.TranslatorImpl <em>Translator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.TranslatorImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getTranslator()
+ * @generated
+ */
+ int TRANSLATOR = 8;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSLATOR__ID = IDENTIFIABLE__ID;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSLATOR__VERSION = IDENTIFIABLE__VERSION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSLATOR__NAME = IDENTIFIABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Location</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSLATOR__LOCATION = IDENTIFIABLE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Address</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSLATOR__ADDRESS = IDENTIFIABLE_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Translator</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSLATOR_FEATURE_COUNT = IDENTIFIABLE_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.TypeWriterImpl <em>Type Writer</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.TypeWriterImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getTypeWriter()
+ * @generated
+ */
+ int TYPE_WRITER = 9;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TYPE_WRITER__ID = IDENTIFIABLE__ID;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TYPE_WRITER__VERSION = IDENTIFIABLE__VERSION;
+
+ /**
+ * The feature id for the '<em><b>Maker</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TYPE_WRITER__MAKER = IDENTIFIABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TYPE_WRITER__TYPE = IDENTIFIABLE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Type Writer</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TYPE_WRITER_FEATURE_COUNT = IDENTIFIABLE_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.CoverImpl <em>Cover</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.CoverImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getCover()
+ * @generated
+ */
+ int COVER = 10;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COVER__ID = IDENTIFIABLE__ID;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COVER__VERSION = IDENTIFIABLE__VERSION;
+
+ /**
+ * The feature id for the '<em><b>Colored</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COVER__COLORED = IDENTIFIABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Cover</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COVER_FEATURE_COUNT = IDENTIFIABLE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.AbstractTestImpl <em>Abstract Test</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.AbstractTestImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getAbstractTest()
+ * @generated
+ */
+ int ABSTRACT_TEST = 12;
+
+ /**
+ * The number of structural features of the '<em>Abstract Test</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_TEST_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.BookCategory <em>Book Category</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.BookCategory
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getBookCategory()
+ * @generated
+ */
+ int BOOK_CATEGORY = 13;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.TWriterType <em>TWriter Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.TWriterType
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getTWriterType()
+ * @generated
+ */
+ int TWRITER_TYPE = 14;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Book <em>Book</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Book</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Book
+ * @generated
+ */
+ EClass getBook();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Book#getTitle <em>Title</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Title</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Book#getTitle()
+ * @see #getBook()
+ * @generated
+ */
+ EAttribute getBook_Title();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Book#getPages <em>Pages</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Pages</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Book#getPages()
+ * @see #getBook()
+ * @generated
+ */
+ EAttribute getBook_Pages();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Book#getCategory <em>Category</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Category</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Book#getCategory()
+ * @see #getBook()
+ * @generated
+ */
+ EAttribute getBook_Category();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Book#getAuthor <em>Author</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Author</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Book#getAuthor()
+ * @see #getBook()
+ * @generated
+ */
+ EReference getBook_Author();
+
+ /**
+ * Returns the meta object for the map '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Book#getStyles <em>Styles</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the map '<em>Styles</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Book#getStyles()
+ * @see #getBook()
+ * @generated
+ */
+ EReference getBook_Styles();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Book#getTranslator <em>Translator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Translator</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Book#getTranslator()
+ * @see #getBook()
+ * @generated
+ */
+ EReference getBook_Translator();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Book#getCover <em>Cover</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Cover</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Book#getCover()
+ * @see #getBook()
+ * @generated
+ */
+ EReference getBook_Cover();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Book#getDerivedAttribute <em>Derived Attribute</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Derived Attribute</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Book#getDerivedAttribute()
+ * @see #getBook()
+ * @generated
+ */
+ EAttribute getBook_DerivedAttribute();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Library <em>Library</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Library</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Library
+ * @generated
+ */
+ EClass getLibrary();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Library#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Library#getName()
+ * @see #getLibrary()
+ * @generated
+ */
+ EAttribute getLibrary_Name();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Library#getWriters <em>Writers</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Writers</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Library#getWriters()
+ * @see #getLibrary()
+ * @generated
+ */
+ EReference getLibrary_Writers();
+
+ /**
+ * Returns the meta object for the map '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Library#getBooks <em>Books</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the map '<em>Books</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Library#getBooks()
+ * @see #getLibrary()
+ * @generated
+ */
+ EReference getLibrary_Books();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Writer <em>Writer</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Writer</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Writer
+ * @generated
+ */
+ EClass getWriter();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Writer#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Writer#getName()
+ * @see #getWriter()
+ * @generated
+ */
+ EAttribute getWriter_Name();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Writer#getBooks <em>Books</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Books</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Writer#getBooks()
+ * @see #getWriter()
+ * @generated
+ */
+ EReference getWriter_Books();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Writer#getAddress <em>Address</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Address</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Writer#getAddress()
+ * @see #getWriter()
+ * @generated
+ */
+ EReference getWriter_Address();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Writer#getPublishers <em>Publishers</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Publishers</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Writer#getPublishers()
+ * @see #getWriter()
+ * @generated
+ */
+ EReference getWriter_Publishers();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Writer#getTypewriters <em>Typewriters</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Typewriters</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Writer#getTypewriters()
+ * @see #getWriter()
+ * @generated
+ */
+ EReference getWriter_Typewriters();
+
+ /**
+ * Returns the meta object for class '{@link java.util.Map.Entry <em>String To Book Map Entry</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>String To Book Map Entry</em>'.
+ * @see java.util.Map.Entry
+ * @model keyDataType="org.eclipse.emf.ecore.EString"
+ * valueType="org.eclipse.emf.teneo.eclipselink.examples.library.Book" valueContainment="true"
+ * annotation="teneo.jpa value='@Table(name=\"EMFLIB_LIBRARY_BOOK_MAP\")'"
+ * @generated
+ */
+ EClass getStringToBookMapEntry();
+
+ /**
+ * Returns the meta object for the attribute '{@link java.util.Map.Entry <em>Key</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Key</em>'.
+ * @see java.util.Map.Entry
+ * @see #getStringToBookMapEntry()
+ * @generated
+ */
+ EAttribute getStringToBookMapEntry_Key();
+
+ /**
+ * Returns the meta object for the containment reference '{@link java.util.Map.Entry <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Value</em>'.
+ * @see java.util.Map.Entry
+ * @see #getStringToBookMapEntry()
+ * @generated
+ */
+ EReference getStringToBookMapEntry_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Address <em>Address</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Address</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Address
+ * @generated
+ */
+ EClass getAddress();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Address#getTown <em>Town</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Town</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Address#getTown()
+ * @see #getAddress()
+ * @generated
+ */
+ EAttribute getAddress_Town();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Publisher <em>Publisher</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Publisher</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Publisher
+ * @generated
+ */
+ EClass getPublisher();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Publisher#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.eclipselink.examples.library.Publisher#getName()
+ * @see #getPublisher()
+ * @generated
+ */
+ EAttribute getPublisher_Name();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Publisher#getWriters <em>Writers</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Writers</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Publisher#getWriters()
+ * @see #getPublisher()
+ * @generated
+ */
+ EReference getPublisher_Writers();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Style <em>Style</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Style</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Style
+ * @generated
+ */
+ EClass getStyle();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Style#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.eclipselink.examples.library.Style#getName()
+ * @see #getStyle()
+ * @generated
+ */
+ EAttribute getStyle_Name();
+
+ /**
+ * Returns the meta object for class '{@link java.util.Map.Entry <em>Book Styles Map Entry</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Book Styles Map Entry</em>'.
+ * @see java.util.Map.Entry
+ * @model keyDataType="org.eclipse.emf.ecore.EString"
+ * valueType="org.eclipse.emf.teneo.eclipselink.examples.library.Style"
+ * annotation="teneo.jpa value='@Table(name=\"EMFLIB_BOOK_STYLE_MAP\")'"
+ * @generated
+ */
+ EClass getBookStylesMapEntry();
+
+ /**
+ * Returns the meta object for the attribute '{@link java.util.Map.Entry <em>Key</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Key</em>'.
+ * @see java.util.Map.Entry
+ * @see #getBookStylesMapEntry()
+ * @generated
+ */
+ EAttribute getBookStylesMapEntry_Key();
+
+ /**
+ * Returns the meta object for the reference '{@link java.util.Map.Entry <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Value</em>'.
+ * @see java.util.Map.Entry
+ * @see #getBookStylesMapEntry()
+ * @generated
+ */
+ EReference getBookStylesMapEntry_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Translator <em>Translator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Translator</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Translator
+ * @generated
+ */
+ EClass getTranslator();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Translator#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.eclipselink.examples.library.Translator#getName()
+ * @see #getTranslator()
+ * @generated
+ */
+ EAttribute getTranslator_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Translator#getLocation <em>Location</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Location</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Translator#getLocation()
+ * @see #getTranslator()
+ * @generated
+ */
+ EAttribute getTranslator_Location();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Translator#getAddress <em>Address</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Address</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Translator#getAddress()
+ * @see #getTranslator()
+ * @generated
+ */
+ EReference getTranslator_Address();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.eclipselink.examples.library.TypeWriter <em>Type Writer</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Type Writer</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.TypeWriter
+ * @generated
+ */
+ EClass getTypeWriter();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.eclipselink.examples.library.TypeWriter#getMaker <em>Maker</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Maker</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.TypeWriter#getMaker()
+ * @see #getTypeWriter()
+ * @generated
+ */
+ EAttribute getTypeWriter_Maker();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.eclipselink.examples.library.TypeWriter#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Type</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.TypeWriter#getType()
+ * @see #getTypeWriter()
+ * @generated
+ */
+ EAttribute getTypeWriter_Type();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Cover <em>Cover</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Cover</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Cover
+ * @generated
+ */
+ EClass getCover();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Cover#isColored <em>Colored</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Colored</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Cover#isColored()
+ * @see #getCover()
+ * @generated
+ */
+ EAttribute getCover_Colored();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Identifiable <em>Identifiable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Identifiable</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Identifiable
+ * @generated
+ */
+ EClass getIdentifiable();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Identifiable#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Identifiable#getId()
+ * @see #getIdentifiable()
+ * @generated
+ */
+ EAttribute getIdentifiable_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Identifiable#getVersion <em>Version</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Version</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Identifiable#getVersion()
+ * @see #getIdentifiable()
+ * @generated
+ */
+ EAttribute getIdentifiable_Version();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.eclipselink.examples.library.AbstractTest <em>Abstract Test</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Abstract Test</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.AbstractTest
+ * @generated
+ */
+ EClass getAbstractTest();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.emf.teneo.eclipselink.examples.library.BookCategory <em>Book Category</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Book Category</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.BookCategory
+ * @generated
+ */
+ EEnum getBookCategory();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.emf.teneo.eclipselink.examples.library.TWriterType <em>TWriter Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>TWriter Type</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.TWriterType
+ * @generated
+ */
+ EEnum getTWriterType();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ LibraryFactory getLibraryFactory();
+
+ /**
+ * <!-- 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.eclipselink.examples.library.impl.BookImpl <em>Book</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#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 '<em><b>Styles</b></em>' map feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BOOK__STYLES = eINSTANCE.getBook_Styles();
+
+ /**
+ * The meta object literal for the '<em><b>Translator</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BOOK__TRANSLATOR = eINSTANCE.getBook_Translator();
+
+ /**
+ * The meta object literal for the '<em><b>Cover</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BOOK__COVER = eINSTANCE.getBook_Cover();
+
+ /**
+ * The meta object literal for the '<em><b>Derived Attribute</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute BOOK__DERIVED_ATTRIBUTE = eINSTANCE.getBook_DerivedAttribute();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryImpl <em>Library</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#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>Books</b></em>' map feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LIBRARY__BOOKS = eINSTANCE.getLibrary_Books();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.WriterImpl <em>Writer</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.WriterImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#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 '<em><b>Address</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference WRITER__ADDRESS = eINSTANCE.getWriter_Address();
+
+ /**
+ * The meta object literal for the '<em><b>Publishers</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference WRITER__PUBLISHERS = eINSTANCE.getWriter_Publishers();
+
+ /**
+ * The meta object literal for the '<em><b>Typewriters</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference WRITER__TYPEWRITERS = eINSTANCE.getWriter_Typewriters();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.StringToBookMapEntryImpl <em>String To Book Map Entry</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.StringToBookMapEntryImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getStringToBookMapEntry()
+ * @generated
+ */
+ EClass STRING_TO_BOOK_MAP_ENTRY = eINSTANCE.getStringToBookMapEntry();
+
+ /**
+ * The meta object literal for the '<em><b>Key</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute STRING_TO_BOOK_MAP_ENTRY__KEY = eINSTANCE.getStringToBookMapEntry_Key();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STRING_TO_BOOK_MAP_ENTRY__VALUE = eINSTANCE.getStringToBookMapEntry_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.AddressImpl <em>Address</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.AddressImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getAddress()
+ * @generated
+ */
+ EClass ADDRESS = eINSTANCE.getAddress();
+
+ /**
+ * The meta object literal for the '<em><b>Town</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ADDRESS__TOWN = eINSTANCE.getAddress_Town();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.PublisherImpl <em>Publisher</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.PublisherImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getPublisher()
+ * @generated
+ */
+ EClass PUBLISHER = eINSTANCE.getPublisher();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PUBLISHER__NAME = eINSTANCE.getPublisher_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Writers</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PUBLISHER__WRITERS = eINSTANCE.getPublisher_Writers();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.StyleImpl <em>Style</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.StyleImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getStyle()
+ * @generated
+ */
+ EClass STYLE = eINSTANCE.getStyle();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute STYLE__NAME = eINSTANCE.getStyle_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookStylesMapEntryImpl <em>Book Styles Map Entry</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookStylesMapEntryImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getBookStylesMapEntry()
+ * @generated
+ */
+ EClass BOOK_STYLES_MAP_ENTRY = eINSTANCE.getBookStylesMapEntry();
+
+ /**
+ * The meta object literal for the '<em><b>Key</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute BOOK_STYLES_MAP_ENTRY__KEY = eINSTANCE.getBookStylesMapEntry_Key();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BOOK_STYLES_MAP_ENTRY__VALUE = eINSTANCE.getBookStylesMapEntry_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.TranslatorImpl <em>Translator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.TranslatorImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getTranslator()
+ * @generated
+ */
+ EClass TRANSLATOR = eINSTANCE.getTranslator();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TRANSLATOR__NAME = eINSTANCE.getTranslator_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Location</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TRANSLATOR__LOCATION = eINSTANCE.getTranslator_Location();
+
+ /**
+ * The meta object literal for the '<em><b>Address</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TRANSLATOR__ADDRESS = eINSTANCE.getTranslator_Address();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.TypeWriterImpl <em>Type Writer</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.TypeWriterImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getTypeWriter()
+ * @generated
+ */
+ EClass TYPE_WRITER = eINSTANCE.getTypeWriter();
+
+ /**
+ * The meta object literal for the '<em><b>Maker</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TYPE_WRITER__MAKER = eINSTANCE.getTypeWriter_Maker();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TYPE_WRITER__TYPE = eINSTANCE.getTypeWriter_Type();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.CoverImpl <em>Cover</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.CoverImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getCover()
+ * @generated
+ */
+ EClass COVER = eINSTANCE.getCover();
+
+ /**
+ * The meta object literal for the '<em><b>Colored</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute COVER__COLORED = eINSTANCE.getCover_Colored();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.IdentifiableImpl <em>Identifiable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.IdentifiableImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getIdentifiable()
+ * @generated
+ */
+ EClass IDENTIFIABLE = eINSTANCE.getIdentifiable();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IDENTIFIABLE__ID = eINSTANCE.getIdentifiable_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Version</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IDENTIFIABLE__VERSION = eINSTANCE.getIdentifiable_Version();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.AbstractTestImpl <em>Abstract Test</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.AbstractTestImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getAbstractTest()
+ * @generated
+ */
+ EClass ABSTRACT_TEST = eINSTANCE.getAbstractTest();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.BookCategory <em>Book Category</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.BookCategory
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getBookCategory()
+ * @generated
+ */
+ EEnum BOOK_CATEGORY = eINSTANCE.getBookCategory();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.TWriterType <em>TWriter Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.TWriterType
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryPackageImpl#getTWriterType()
+ * @generated
+ */
+ EEnum TWRITER_TYPE = eINSTANCE.getTWriterType();
+
+ }
+
+} //LibraryPackage
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Publisher.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Publisher.java
new file mode 100755
index 000000000..7e3456c22
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Publisher.java
@@ -0,0 +1,74 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Publisher.java,v 1.3 2009/03/18 11:16:52 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Publisher</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.Publisher#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.Publisher#getWriters <em>Writers</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getPublisher()
+ * @model
+ * @generated
+ */
+public interface Publisher extends Identifiable {
+ /**
+ * 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.eclipselink.examples.library.LibraryPackage#getPublisher_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Publisher#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>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.eclipselink.examples.library.Writer}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Writer#getPublishers <em>Publishers</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Writers</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>Writers</em>' reference list.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getPublisher_Writers()
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Writer#getPublishers
+ * @model opposite="publishers"
+ * annotation="teneo.jpa value='@JoinTable(name=\"EMFLIB_PUBLISHER_WRITERS\")'"
+ * @generated
+ */
+ EList<Writer> getWriters();
+
+} // Publisher
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Style.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Style.java
new file mode 100755
index 000000000..adececb58
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Style.java
@@ -0,0 +1,53 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Style.java,v 1.2 2009/01/21 21:34:20 seberle Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Style</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.Style#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getStyle()
+ * @model
+ * @generated
+ */
+public interface Style extends Identifiable {
+ /**
+ * 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.eclipselink.examples.library.LibraryPackage#getStyle_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Style#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);
+
+} // Style
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/TWriterType.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/TWriterType.java
new file mode 100755
index 000000000..12f1f104d
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/TWriterType.java
@@ -0,0 +1,212 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TWriterType.java,v 1.3 2009/06/14 21:00:29 seberle Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library;
+
+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>TWriter Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getTWriterType()
+ * @model
+ * @generated
+ */
+public enum TWriterType implements Enumerator {
+ /**
+ * The '<em><b>Typewriter</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #TYPEWRITER_VALUE
+ * @generated
+ * @ordered
+ */
+ TYPEWRITER(0, "Typewriter", "Typewriter"), //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>Computer</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #COMPUTER_VALUE
+ * @generated
+ * @ordered
+ */
+ COMPUTER(1, "Computer", "Computer"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The '<em><b>Typewriter</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Typewriter</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #TYPEWRITER
+ * @model name="Typewriter"
+ * @generated
+ * @ordered
+ */
+ public static final int TYPEWRITER_VALUE = 0;
+
+ /**
+ * The '<em><b>Computer</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Computer</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #COMPUTER
+ * @model name="Computer"
+ * @generated
+ * @ordered
+ */
+ public static final int COMPUTER_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>TWriter Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final TWriterType[] VALUES_ARRAY =
+ new TWriterType[] {
+ TYPEWRITER,
+ COMPUTER,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>TWriter Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<TWriterType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>TWriter Type</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static TWriterType get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ TWriterType result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>TWriter Type</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static TWriterType getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ TWriterType result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>TWriter Type</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static TWriterType get(int value) {
+ switch (value) {
+ case TYPEWRITER_VALUE: return TYPEWRITER;
+ case COMPUTER_VALUE: return COMPUTER;
+ }
+ 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 TWriterType(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;
+ }
+
+} //TWriterType
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Translator.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Translator.java
new file mode 100755
index 000000000..ae3f3f961
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Translator.java
@@ -0,0 +1,108 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Translator.java,v 1.3 2009/03/18 11:16:52 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Translator</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.Translator#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.Translator#getLocation <em>Location</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.Translator#getAddress <em>Address</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getTranslator()
+ * @model
+ * @generated
+ */
+public interface Translator extends Identifiable {
+ /**
+ * 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.eclipselink.examples.library.LibraryPackage#getTranslator_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Translator#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>Location</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Location</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Location</em>' attribute.
+ * @see #setLocation(String)
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getTranslator_Location()
+ * @model
+ * @generated
+ */
+ String getLocation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Translator#getLocation <em>Location</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Location</em>' attribute.
+ * @see #getLocation()
+ * @generated
+ */
+ void setLocation(String value);
+
+ /**
+ * Returns the value of the '<em><b>Address</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Address</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Address</em>' containment reference.
+ * @see #setAddress(Address)
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getTranslator_Address()
+ * @model containment="true"
+ * annotation="teneo.jpa value='@Transient'"
+ * @generated
+ */
+ Address getAddress();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Translator#getAddress <em>Address</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Address</em>' containment reference.
+ * @see #getAddress()
+ * @generated
+ */
+ void setAddress(Address value);
+
+} // Translator
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/TypeWriter.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/TypeWriter.java
new file mode 100755
index 000000000..cddade85a
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/TypeWriter.java
@@ -0,0 +1,83 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TypeWriter.java,v 1.2 2009/01/21 21:34:20 seberle Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Type Writer</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.TypeWriter#getMaker <em>Maker</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.TypeWriter#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getTypeWriter()
+ * @model
+ * @generated
+ */
+public interface TypeWriter extends Identifiable {
+ /**
+ * Returns the value of the '<em><b>Maker</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Maker</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Maker</em>' attribute.
+ * @see #setMaker(String)
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getTypeWriter_Maker()
+ * @model
+ * @generated
+ */
+ String getMaker();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.TypeWriter#getMaker <em>Maker</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Maker</em>' attribute.
+ * @see #getMaker()
+ * @generated
+ */
+ void setMaker(String value);
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.emf.teneo.eclipselink.examples.library.TWriterType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' attribute.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.TWriterType
+ * @see #setType(TWriterType)
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getTypeWriter_Type()
+ * @model
+ * @generated
+ */
+ TWriterType getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.TypeWriter#getType <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' attribute.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.TWriterType
+ * @see #getType()
+ * @generated
+ */
+ void setType(TWriterType value);
+
+} // TypeWriter
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Writer.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Writer.java
new file mode 100755
index 000000000..6073b6a4e
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/Writer.java
@@ -0,0 +1,136 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Writer.java,v 1.4 2010/04/22 17:57:50 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library;
+
+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.eclipselink.examples.library.Writer#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.Writer#getBooks <em>Books</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.Writer#getAddress <em>Address</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.Writer#getPublishers <em>Publishers</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.Writer#getTypewriters <em>Typewriters</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getWriter()
+ * @model
+ * @generated
+ */
+public interface Writer extends Identifiable {
+ /**
+ * 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.eclipselink.examples.library.LibraryPackage#getWriter_Name()
+ * @model id="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Writer#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Books</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.eclipselink.examples.library.Book}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Book#getAuthor <em>Author</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Books</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Books</em>' reference list.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getWriter_Books()
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Book#getAuthor
+ * @model opposite="author"
+ * @generated
+ */
+ EList<Book> getBooks();
+
+ /**
+ * Returns the value of the '<em><b>Address</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Address</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Address</em>' containment reference.
+ * @see #setAddress(Address)
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getWriter_Address()
+ * @model containment="true"
+ * @generated
+ */
+ Address getAddress();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Writer#getAddress <em>Address</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Address</em>' containment reference.
+ * @see #getAddress()
+ * @generated
+ */
+ void setAddress(Address value);
+
+ /**
+ * Returns the value of the '<em><b>Publishers</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.eclipselink.examples.library.Publisher}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Publisher#getWriters <em>Writers</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Publishers</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>Publishers</em>' reference list.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getWriter_Publishers()
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.Publisher#getWriters
+ * @model opposite="writers"
+ * @generated
+ */
+ EList<Publisher> getPublishers();
+
+ /**
+ * Returns the value of the '<em><b>Typewriters</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.eclipselink.examples.library.TypeWriter}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Typewriters</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>Typewriters</em>' reference list.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage#getWriter_Typewriters()
+ * @model
+ * @generated
+ */
+ EList<TypeWriter> getTypewriters();
+
+} // Writer
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/Forum.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/Forum.java
new file mode 100755
index 000000000..513307318
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/Forum.java
@@ -0,0 +1,93 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Forum.java,v 1.2 2009/01/21 21:34:20 seberle Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library.forum;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.teneo.eclipselink.examples.library.Book;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Writer;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Forum</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.forum.Forum#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.forum.Forum#getRatedAuthors <em>Rated Authors</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.forum.Forum#getFeaturedBooks <em>Featured Books</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.forum.ForumPackage#getForum()
+ * @model
+ * @generated
+ */
+public interface Forum extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.forum.ForumPackage#getForum_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.forum.Forum#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>Rated Authors</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.eclipselink.examples.library.Writer}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Rated Authors</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>Rated Authors</em>' reference list.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.forum.ForumPackage#getForum_RatedAuthors()
+ * @model
+ * @generated
+ */
+ EList<Writer> getRatedAuthors();
+
+ /**
+ * Returns the value of the '<em><b>Featured Books</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.eclipselink.examples.library.Book}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Featured 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>Featured Books</em>' reference list.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.forum.ForumPackage#getForum_FeaturedBooks()
+ * @model
+ * @generated
+ */
+ EList<Book> getFeaturedBooks();
+
+} // Forum
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/ForumFactory.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/ForumFactory.java
new file mode 100755
index 000000000..b21a42d2d
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/ForumFactory.java
@@ -0,0 +1,46 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ForumFactory.java,v 1.2 2009/01/21 21:34:20 seberle Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library.forum;
+
+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.eclipselink.examples.library.forum.ForumPackage
+ * @generated
+ */
+public interface ForumFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ForumFactory eINSTANCE = org.eclipse.emf.teneo.eclipselink.examples.library.forum.impl.ForumFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Forum</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Forum</em>'.
+ * @generated
+ */
+ Forum createForum();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ ForumPackage getForumPackage();
+
+} //ForumFactory
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/ForumPackage.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/ForumPackage.java
new file mode 100755
index 000000000..0c6c6c09a
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/ForumPackage.java
@@ -0,0 +1,210 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ForumPackage.java,v 1.3 2009/06/14 21:00:29 seberle Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library.forum;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+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.eclipselink.examples.library.forum.ForumFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ForumPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "forum"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http:///org/eclipse/emf/teneo/eclipselink/examples/forum.ecore"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "forum"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ForumPackage eINSTANCE = org.eclipse.emf.teneo.eclipselink.examples.library.forum.impl.ForumPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.eclipselink.examples.library.forum.impl.ForumImpl <em>Forum</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.forum.impl.ForumImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.forum.impl.ForumPackageImpl#getForum()
+ * @generated
+ */
+ int FORUM = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FORUM__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Rated Authors</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FORUM__RATED_AUTHORS = 1;
+
+ /**
+ * The feature id for the '<em><b>Featured Books</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FORUM__FEATURED_BOOKS = 2;
+
+ /**
+ * The number of structural features of the '<em>Forum</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FORUM_FEATURE_COUNT = 3;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.eclipselink.examples.library.forum.Forum <em>Forum</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Forum</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.forum.Forum
+ * @generated
+ */
+ EClass getForum();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.eclipselink.examples.library.forum.Forum#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.eclipselink.examples.library.forum.Forum#getName()
+ * @see #getForum()
+ * @generated
+ */
+ EAttribute getForum_Name();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.eclipselink.examples.library.forum.Forum#getRatedAuthors <em>Rated Authors</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Rated Authors</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.forum.Forum#getRatedAuthors()
+ * @see #getForum()
+ * @generated
+ */
+ EReference getForum_RatedAuthors();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.eclipselink.examples.library.forum.Forum#getFeaturedBooks <em>Featured Books</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Featured Books</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.forum.Forum#getFeaturedBooks()
+ * @see #getForum()
+ * @generated
+ */
+ EReference getForum_FeaturedBooks();
+
+ /**
+ * 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
+ */
+ ForumFactory getForumFactory();
+
+ /**
+ * <!-- 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.eclipselink.examples.library.forum.impl.ForumImpl <em>Forum</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.forum.impl.ForumImpl
+ * @see org.eclipse.emf.teneo.eclipselink.examples.library.forum.impl.ForumPackageImpl#getForum()
+ * @generated
+ */
+ EClass FORUM = eINSTANCE.getForum();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FORUM__NAME = eINSTANCE.getForum_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Rated Authors</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FORUM__RATED_AUTHORS = eINSTANCE.getForum_RatedAuthors();
+
+ /**
+ * The meta object literal for the '<em><b>Featured Books</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FORUM__FEATURED_BOOKS = eINSTANCE.getForum_FeaturedBooks();
+
+ }
+
+} //ForumPackage
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/impl/ForumFactoryImpl.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/impl/ForumFactoryImpl.java
new file mode 100755
index 000000000..65b68b299
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/impl/ForumFactoryImpl.java
@@ -0,0 +1,99 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ForumFactoryImpl.java,v 1.3 2009/06/14 21:00:30 seberle Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library.forum.impl;
+
+import org.eclipse.emf.ecore.EClass;
+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.eclipselink.examples.library.forum.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ForumFactoryImpl extends EFactoryImpl implements ForumFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ForumFactory init() {
+ try {
+ ForumFactory theForumFactory = (ForumFactory)EPackage.Registry.INSTANCE.getEFactory("http:///org/eclipse/emf/teneo/eclipselink/examples/forum.ecore"); //$NON-NLS-1$
+ if (theForumFactory != null) {
+ return theForumFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new ForumFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ForumFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case ForumPackage.FORUM: return createForum();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Forum createForum() {
+ ForumImpl forum = new ForumImpl();
+ return forum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ForumPackage getForumPackage() {
+ return (ForumPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static ForumPackage getPackage() {
+ return ForumPackage.eINSTANCE;
+ }
+
+} //ForumFactoryImpl
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/impl/ForumImpl.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/impl/ForumImpl.java
new file mode 100755
index 000000000..271ba1b8a
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/impl/ForumImpl.java
@@ -0,0 +1,245 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ForumImpl.java,v 1.3 2009/06/14 21:00:30 seberle Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library.forum.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.emf.teneo.eclipselink.examples.library.Book;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Writer;
+
+import org.eclipse.emf.teneo.eclipselink.examples.library.forum.Forum;
+import org.eclipse.emf.teneo.eclipselink.examples.library.forum.ForumPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Forum</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.forum.impl.ForumImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.forum.impl.ForumImpl#getRatedAuthors <em>Rated Authors</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.forum.impl.ForumImpl#getFeaturedBooks <em>Featured Books</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ForumImpl extends EObjectImpl implements Forum {
+ /**
+ * 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 #getRatedAuthors() <em>Rated Authors</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRatedAuthors()
+ * @generated
+ * @ordered
+ */
+ protected EList<Writer> ratedAuthors;
+
+ /**
+ * The cached value of the '{@link #getFeaturedBooks() <em>Featured Books</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFeaturedBooks()
+ * @generated
+ * @ordered
+ */
+ protected EList<Book> featuredBooks;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ForumImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ForumPackage.Literals.FORUM;
+ }
+
+ /**
+ * <!-- 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, ForumPackage.FORUM__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Writer> getRatedAuthors() {
+ if (ratedAuthors == null) {
+ ratedAuthors = new EObjectResolvingEList<Writer>(Writer.class, this, ForumPackage.FORUM__RATED_AUTHORS);
+ }
+ return ratedAuthors;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Book> getFeaturedBooks() {
+ if (featuredBooks == null) {
+ featuredBooks = new EObjectResolvingEList<Book>(Book.class, this, ForumPackage.FORUM__FEATURED_BOOKS);
+ }
+ return featuredBooks;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ForumPackage.FORUM__NAME:
+ return getName();
+ case ForumPackage.FORUM__RATED_AUTHORS:
+ return getRatedAuthors();
+ case ForumPackage.FORUM__FEATURED_BOOKS:
+ return getFeaturedBooks();
+ }
+ 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 ForumPackage.FORUM__NAME:
+ setName((String)newValue);
+ return;
+ case ForumPackage.FORUM__RATED_AUTHORS:
+ getRatedAuthors().clear();
+ getRatedAuthors().addAll((Collection<? extends Writer>)newValue);
+ return;
+ case ForumPackage.FORUM__FEATURED_BOOKS:
+ getFeaturedBooks().clear();
+ getFeaturedBooks().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 ForumPackage.FORUM__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case ForumPackage.FORUM__RATED_AUTHORS:
+ getRatedAuthors().clear();
+ return;
+ case ForumPackage.FORUM__FEATURED_BOOKS:
+ getFeaturedBooks().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ForumPackage.FORUM__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case ForumPackage.FORUM__RATED_AUTHORS:
+ return ratedAuthors != null && !ratedAuthors.isEmpty();
+ case ForumPackage.FORUM__FEATURED_BOOKS:
+ return featuredBooks != null && !featuredBooks.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: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ForumImpl
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/impl/ForumPackageImpl.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/impl/ForumPackageImpl.java
new file mode 100755
index 000000000..73ab6dfa5
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/impl/ForumPackageImpl.java
@@ -0,0 +1,219 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ForumPackageImpl.java,v 1.3 2009/06/14 21:00:30 seberle Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library.forum.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage;
+
+import org.eclipse.emf.teneo.eclipselink.examples.library.forum.Forum;
+import org.eclipse.emf.teneo.eclipselink.examples.library.forum.ForumFactory;
+import org.eclipse.emf.teneo.eclipselink.examples.library.forum.ForumPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ForumPackageImpl extends EPackageImpl implements ForumPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass forumEClass = 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.eclipselink.examples.library.forum.ForumPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private ForumPackageImpl() {
+ super(eNS_URI, ForumFactory.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. Simple
+ * dependencies are satisfied by calling this method on all
+ * dependent packages before doing anything else. This method drives
+ * initialization for interdependent packages directly, in parallel
+ * with this package, itself.
+ * <p>Of this package and its interdependencies, all packages which
+ * have not yet been registered by their URI values are first created
+ * and registered. The packages are then initialized in two steps:
+ * meta-model objects for all of the packages are created before any
+ * are initialized, since one package's meta-model objects may refer to
+ * those of another.
+ * <p>Invocation of this method will not affect any packages that have
+ * already been initialized.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static ForumPackage init() {
+ if (isInited) return (ForumPackage)EPackage.Registry.INSTANCE.getEPackage(ForumPackage.eNS_URI);
+
+ // Obtain or create and register package
+ ForumPackageImpl theForumPackage = (ForumPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ForumPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ForumPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ LibraryPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theForumPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theForumPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theForumPackage.freeze();
+
+ return theForumPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getForum() {
+ return forumEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getForum_Name() {
+ return (EAttribute)forumEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getForum_RatedAuthors() {
+ return (EReference)forumEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getForum_FeaturedBooks() {
+ return (EReference)forumEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ForumFactory getForumFactory() {
+ return (ForumFactory)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
+ forumEClass = createEClass(FORUM);
+ createEAttribute(forumEClass, FORUM__NAME);
+ createEReference(forumEClass, FORUM__RATED_AUTHORS);
+ createEReference(forumEClass, FORUM__FEATURED_BOOKS);
+ }
+
+ /**
+ * <!-- 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);
+
+ // Obtain other dependent packages
+ LibraryPackage theLibraryPackage = (LibraryPackage)EPackage.Registry.INSTANCE.getEPackage(LibraryPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(forumEClass, Forum.class, "Forum", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getForum_Name(), ecorePackage.getEString(), "name", null, 0, 1, Forum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getForum_RatedAuthors(), theLibraryPackage.getWriter(), null, "ratedAuthors", null, 0, -1, Forum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getForum_FeaturedBooks(), theLibraryPackage.getBook(), null, "featuredBooks", null, 0, -1, Forum.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //ForumPackageImpl
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/util/ForumAdapterFactory.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/util/ForumAdapterFactory.java
new file mode 100755
index 000000000..a075a8647
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/util/ForumAdapterFactory.java
@@ -0,0 +1,124 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ForumAdapterFactory.java,v 1.2 2009/01/21 21:34:20 seberle Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library.forum.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.eclipselink.examples.library.forum.*;
+
+/**
+ * <!-- 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.eclipselink.examples.library.forum.ForumPackage
+ * @generated
+ */
+public class ForumAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ForumPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ForumAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = ForumPackage.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 ForumSwitch<Adapter> modelSwitch =
+ new ForumSwitch<Adapter>() {
+ @Override
+ public Adapter caseForum(Forum object) {
+ return createForumAdapter();
+ }
+ @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.eclipselink.examples.library.forum.Forum <em>Forum</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.eclipselink.examples.library.forum.Forum
+ * @generated
+ */
+ public Adapter createForumAdapter() {
+ 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;
+ }
+
+} //ForumAdapterFactory
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/util/ForumSwitch.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/util/ForumSwitch.java
new file mode 100755
index 000000000..0b7953e6d
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/forum/util/ForumSwitch.java
@@ -0,0 +1,130 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ForumSwitch.java,v 1.2 2009/01/21 21:34:20 seberle Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library.forum.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.teneo.eclipselink.examples.library.forum.*;
+
+/**
+ * <!-- 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.eclipselink.examples.library.forum.ForumPackage
+ * @generated
+ */
+public class ForumSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ForumPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ForumSwitch() {
+ if (modelPackage == null) {
+ modelPackage = ForumPackage.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 ForumPackage.FORUM: {
+ Forum forum = (Forum)theEObject;
+ T result = caseForum(forum);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Forum</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>Forum</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseForum(Forum 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;
+ }
+
+} //ForumSwitch
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/AbstractTestImpl.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/AbstractTestImpl.java
new file mode 100755
index 000000000..0b8cfcdcd
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/AbstractTestImpl.java
@@ -0,0 +1,43 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: AbstractTestImpl.java,v 1.2 2010/04/22 17:57:38 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.teneo.eclipselink.examples.library.AbstractTest;
+import org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Abstract Test</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class AbstractTestImpl extends EObjectImpl implements AbstractTest {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AbstractTestImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LibraryPackage.Literals.ABSTRACT_TEST;
+ }
+
+} //AbstractTestImpl
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/AddressImpl.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/AddressImpl.java
new file mode 100755
index 000000000..e7682554a
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/AddressImpl.java
@@ -0,0 +1,163 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: AddressImpl.java,v 1.4 2010/04/22 17:57:42 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library.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.eclipselink.examples.library.Address;
+import org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Address</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.AddressImpl#getTown <em>Town</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AddressImpl extends IdentifiableImpl implements Address {
+ /**
+ * The default value of the '{@link #getTown() <em>Town</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTown()
+ * @generated
+ * @ordered
+ */
+ protected static final String TOWN_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTown() <em>Town</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTown()
+ * @generated
+ * @ordered
+ */
+ protected String town = TOWN_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AddressImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LibraryPackage.Literals.ADDRESS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTown() {
+ return town;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTown(String newTown) {
+ String oldTown = town;
+ town = newTown;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.ADDRESS__TOWN, oldTown, town));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case LibraryPackage.ADDRESS__TOWN:
+ return getTown();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case LibraryPackage.ADDRESS__TOWN:
+ setTown((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case LibraryPackage.ADDRESS__TOWN:
+ setTown(TOWN_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case LibraryPackage.ADDRESS__TOWN:
+ return TOWN_EDEFAULT == null ? town != null : !TOWN_EDEFAULT.equals(town);
+ }
+ 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(" (town: "); //$NON-NLS-1$
+ result.append(town);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AddressImpl
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/BookImpl.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/BookImpl.java
new file mode 100755
index 000000000..283b426bd
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/BookImpl.java
@@ -0,0 +1,566 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: BookImpl.java,v 1.6 2010/04/22 15:33:16 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EMap;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EcoreEMap;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Book;
+import org.eclipse.emf.teneo.eclipselink.examples.library.BookCategory;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Cover;
+import org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Style;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Translator;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Writer;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Book</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookImpl#getTitle <em>Title</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookImpl#getPages <em>Pages</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookImpl#getCategory <em>Category</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookImpl#getAuthor <em>Author</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookImpl#getStyles <em>Styles</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookImpl#getTranslator <em>Translator</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookImpl#getCover <em>Cover</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookImpl#getDerivedAttribute <em>Derived Attribute</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BookImpl extends IdentifiableImpl 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 = ""; //$NON-NLS-1$
+
+ /**
+ * 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;
+
+ /**
+ * The cached value of the '{@link #getAuthor() <em>Author</em>}' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see #getAuthor()
+ * @generated
+ * @ordered
+ */
+ protected Writer author;
+
+ /**
+ * The cached value of the '{@link #getStyles() <em>Styles</em>}' map.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getStyles()
+ * @generated
+ * @ordered
+ */
+ protected EMap<String, Style> styles;
+
+ /**
+ * The cached value of the '{@link #getTranslator() <em>Translator</em>}' reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see #getTranslator()
+ * @generated
+ * @ordered
+ */
+ protected Translator translator;
+
+ /**
+ * The cached value of the '{@link #getCover() <em>Cover</em>}' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see #getCover()
+ * @generated
+ * @ordered
+ */
+ protected Cover cover;
+
+ /**
+ * The default value of the '{@link #getDerivedAttribute() <em>Derived Attribute</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDerivedAttribute()
+ * @generated
+ * @ordered
+ */
+ protected static final String DERIVED_ATTRIBUTE_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected BookImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LibraryPackage.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, LibraryPackage.BOOK__TITLE, oldTitle, title));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public int getPages() {
+ return pages;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPages(int newPages) {
+ int oldPages = pages;
+ pages = newPages;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.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;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.BOOK__CATEGORY, oldCategory, category));
+ }
+
+ /**
+ * <!-- 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, LibraryPackage.BOOK__AUTHOR, oldAuthor, author));
+ }
+ }
+ return author;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Writer basicGetAuthor() {
+ return author;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetAuthor(Writer newAuthor, NotificationChain msgs) {
+ Writer oldAuthor = author;
+ author = newAuthor;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LibraryPackage.BOOK__AUTHOR, oldAuthor, newAuthor);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAuthor(Writer newAuthor) {
+ if (newAuthor != author) {
+ NotificationChain msgs = null;
+ if (author != null)
+ msgs = ((InternalEObject)author).eInverseRemove(this, LibraryPackage.WRITER__BOOKS, Writer.class, msgs);
+ if (newAuthor != null)
+ msgs = ((InternalEObject)newAuthor).eInverseAdd(this, LibraryPackage.WRITER__BOOKS, Writer.class, msgs);
+ msgs = basicSetAuthor(newAuthor, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.BOOK__AUTHOR, newAuthor, newAuthor));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EMap<String, Style> getStyles() {
+ if (styles == null) {
+ styles = new EcoreEMap<String,Style>(LibraryPackage.Literals.BOOK_STYLES_MAP_ENTRY, BookStylesMapEntryImpl.class, this, LibraryPackage.BOOK__STYLES);
+ }
+ return styles;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Translator getTranslator() {
+ if (translator != null && translator.eIsProxy()) {
+ InternalEObject oldTranslator = (InternalEObject)translator;
+ translator = (Translator)eResolveProxy(oldTranslator);
+ if (translator != oldTranslator) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, LibraryPackage.BOOK__TRANSLATOR, oldTranslator, translator));
+ }
+ }
+ return translator;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Translator basicGetTranslator() {
+ return translator;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTranslator(Translator newTranslator) {
+ Translator oldTranslator = translator;
+ translator = newTranslator;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.BOOK__TRANSLATOR, oldTranslator, translator));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Cover getCover() {
+ return cover;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetCover(Cover newCover, NotificationChain msgs) {
+ Cover oldCover = cover;
+ cover = newCover;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LibraryPackage.BOOK__COVER, oldCover, newCover);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCover(Cover newCover) {
+ if (newCover != cover) {
+ NotificationChain msgs = null;
+ if (cover != null)
+ msgs = ((InternalEObject)cover).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LibraryPackage.BOOK__COVER, null, msgs);
+ if (newCover != null)
+ msgs = ((InternalEObject)newCover).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LibraryPackage.BOOK__COVER, null, msgs);
+ msgs = basicSetCover(newCover, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.BOOK__COVER, newCover, newCover));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generatedNOT
+ */
+ public String getDerivedAttribute() {
+ return ""; //$NON-NLS-1$
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generatedNOT
+ */
+ public void setDerivedAttribute(String newDerivedAttribute) {
+ // do nothing here
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case LibraryPackage.BOOK__AUTHOR:
+ if (author != null)
+ msgs = ((InternalEObject)author).eInverseRemove(this, LibraryPackage.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 LibraryPackage.BOOK__AUTHOR:
+ return basicSetAuthor(null, msgs);
+ case LibraryPackage.BOOK__STYLES:
+ return ((InternalEList<?>)getStyles()).basicRemove(otherEnd, msgs);
+ case LibraryPackage.BOOK__COVER:
+ return basicSetCover(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 LibraryPackage.BOOK__TITLE:
+ return getTitle();
+ case LibraryPackage.BOOK__PAGES:
+ return getPages();
+ case LibraryPackage.BOOK__CATEGORY:
+ return getCategory();
+ case LibraryPackage.BOOK__AUTHOR:
+ if (resolve) return getAuthor();
+ return basicGetAuthor();
+ case LibraryPackage.BOOK__STYLES:
+ if (coreType) return getStyles();
+ else return getStyles().map();
+ case LibraryPackage.BOOK__TRANSLATOR:
+ if (resolve) return getTranslator();
+ return basicGetTranslator();
+ case LibraryPackage.BOOK__COVER:
+ return getCover();
+ case LibraryPackage.BOOK__DERIVED_ATTRIBUTE:
+ return getDerivedAttribute();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case LibraryPackage.BOOK__TITLE:
+ setTitle((String)newValue);
+ return;
+ case LibraryPackage.BOOK__PAGES:
+ setPages((Integer)newValue);
+ return;
+ case LibraryPackage.BOOK__CATEGORY:
+ setCategory((BookCategory)newValue);
+ return;
+ case LibraryPackage.BOOK__AUTHOR:
+ setAuthor((Writer)newValue);
+ return;
+ case LibraryPackage.BOOK__STYLES:
+ ((EStructuralFeature.Setting)getStyles()).set(newValue);
+ return;
+ case LibraryPackage.BOOK__TRANSLATOR:
+ setTranslator((Translator)newValue);
+ return;
+ case LibraryPackage.BOOK__COVER:
+ setCover((Cover)newValue);
+ return;
+ case LibraryPackage.BOOK__DERIVED_ATTRIBUTE:
+ setDerivedAttribute((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case LibraryPackage.BOOK__TITLE:
+ setTitle(TITLE_EDEFAULT);
+ return;
+ case LibraryPackage.BOOK__PAGES:
+ setPages(PAGES_EDEFAULT);
+ return;
+ case LibraryPackage.BOOK__CATEGORY:
+ setCategory(CATEGORY_EDEFAULT);
+ return;
+ case LibraryPackage.BOOK__AUTHOR:
+ setAuthor((Writer)null);
+ return;
+ case LibraryPackage.BOOK__STYLES:
+ getStyles().clear();
+ return;
+ case LibraryPackage.BOOK__TRANSLATOR:
+ setTranslator((Translator)null);
+ return;
+ case LibraryPackage.BOOK__COVER:
+ setCover((Cover)null);
+ return;
+ case LibraryPackage.BOOK__DERIVED_ATTRIBUTE:
+ setDerivedAttribute(DERIVED_ATTRIBUTE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case LibraryPackage.BOOK__TITLE:
+ return TITLE_EDEFAULT == null ? title != null : !TITLE_EDEFAULT.equals(title);
+ case LibraryPackage.BOOK__PAGES:
+ return pages != PAGES_EDEFAULT;
+ case LibraryPackage.BOOK__CATEGORY:
+ return category != CATEGORY_EDEFAULT;
+ case LibraryPackage.BOOK__AUTHOR:
+ return author != null;
+ case LibraryPackage.BOOK__STYLES:
+ return styles != null && !styles.isEmpty();
+ case LibraryPackage.BOOK__TRANSLATOR:
+ return translator != null;
+ case LibraryPackage.BOOK__COVER:
+ return cover != null;
+ case LibraryPackage.BOOK__DERIVED_ATTRIBUTE:
+ return DERIVED_ATTRIBUTE_EDEFAULT == null ? getDerivedAttribute() != null : !DERIVED_ATTRIBUTE_EDEFAULT.equals(getDerivedAttribute());
+ }
+ 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: "); //$NON-NLS-1$
+ result.append(title);
+ result.append(", pages: "); //$NON-NLS-1$
+ result.append(pages);
+ result.append(", category: "); //$NON-NLS-1$
+ result.append(category);
+ result.append(')');
+ return result.toString();
+ }
+
+} // BookImpl
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/BookStylesMapEntryImpl.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/BookStylesMapEntryImpl.java
new file mode 100755
index 000000000..a6a78c42a
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/BookStylesMapEntryImpl.java
@@ -0,0 +1,305 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: BookStylesMapEntryImpl.java,v 1.4 2010/04/22 17:57:40 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.BasicEMap;
+import org.eclipse.emf.common.util.EMap;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Style;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Book Styles Map Entry</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookStylesMapEntryImpl#getTypedKey <em>Key</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.BookStylesMapEntryImpl#getTypedValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BookStylesMapEntryImpl extends IdentifiableImpl implements BasicEMap.Entry<String,Style> {
+ /**
+ * The default value of the '{@link #getTypedKey() <em>Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTypedKey()
+ * @generated
+ * @ordered
+ */
+ protected static final String KEY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTypedKey() <em>Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTypedKey()
+ * @generated
+ * @ordered
+ */
+ protected String key = KEY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getTypedValue() <em>Value</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTypedValue()
+ * @generated
+ * @ordered
+ */
+ protected Style value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BookStylesMapEntryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LibraryPackage.Literals.BOOK_STYLES_MAP_ENTRY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTypedKey() {
+ return key;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTypedKey(String newKey) {
+ String oldKey = key;
+ key = newKey;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.BOOK_STYLES_MAP_ENTRY__KEY, oldKey, key));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Style getTypedValue() {
+ if (value != null && value.eIsProxy()) {
+ InternalEObject oldValue = (InternalEObject)value;
+ value = (Style)eResolveProxy(oldValue);
+ if (value != oldValue) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, LibraryPackage.BOOK_STYLES_MAP_ENTRY__VALUE, oldValue, value));
+ }
+ }
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Style basicGetTypedValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTypedValue(Style newValue) {
+ Style oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.BOOK_STYLES_MAP_ENTRY__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case LibraryPackage.BOOK_STYLES_MAP_ENTRY__KEY:
+ return getTypedKey();
+ case LibraryPackage.BOOK_STYLES_MAP_ENTRY__VALUE:
+ if (resolve) return getTypedValue();
+ return basicGetTypedValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case LibraryPackage.BOOK_STYLES_MAP_ENTRY__KEY:
+ setTypedKey((String)newValue);
+ return;
+ case LibraryPackage.BOOK_STYLES_MAP_ENTRY__VALUE:
+ setTypedValue((Style)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case LibraryPackage.BOOK_STYLES_MAP_ENTRY__KEY:
+ setTypedKey(KEY_EDEFAULT);
+ return;
+ case LibraryPackage.BOOK_STYLES_MAP_ENTRY__VALUE:
+ setTypedValue((Style)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case LibraryPackage.BOOK_STYLES_MAP_ENTRY__KEY:
+ return KEY_EDEFAULT == null ? key != null : !KEY_EDEFAULT.equals(key);
+ case LibraryPackage.BOOK_STYLES_MAP_ENTRY__VALUE:
+ return value != 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(" (key: "); //$NON-NLS-1$
+ result.append(key);
+ result.append(')');
+ return result.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected int hash = -1;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getHash() {
+ if (hash == -1) {
+ Object theKey = getKey();
+ hash = (theKey == null ? 0 : theKey.hashCode());
+ }
+ return hash;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHash(int hash) {
+ this.hash = hash;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getKey() {
+ return getTypedKey();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setKey(String key) {
+ setTypedKey(key);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Style getValue() {
+ return getTypedValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Style setValue(Style value) {
+ Style oldValue = getValue();
+ setTypedValue(value);
+ return oldValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EMap<String, Style> getEMap() {
+ EObject container = eContainer();
+ return container == null ? null : (EMap<String, Style>)container.eGet(eContainmentFeature());
+ }
+
+} //BookStylesMapEntryImpl
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/CoverImpl.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/CoverImpl.java
new file mode 100755
index 000000000..7f1dfa803
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/CoverImpl.java
@@ -0,0 +1,163 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: CoverImpl.java,v 1.4 2010/04/22 17:57:42 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library.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.eclipselink.examples.library.Cover;
+import org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Cover</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.CoverImpl#isColored <em>Colored</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CoverImpl extends IdentifiableImpl implements Cover {
+ /**
+ * The default value of the '{@link #isColored() <em>Colored</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isColored()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean COLORED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isColored() <em>Colored</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isColored()
+ * @generated
+ * @ordered
+ */
+ protected boolean colored = COLORED_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CoverImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LibraryPackage.Literals.COVER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isColored() {
+ return colored;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setColored(boolean newColored) {
+ boolean oldColored = colored;
+ colored = newColored;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.COVER__COLORED, oldColored, colored));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case LibraryPackage.COVER__COLORED:
+ return isColored();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case LibraryPackage.COVER__COLORED:
+ setColored((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case LibraryPackage.COVER__COLORED:
+ setColored(COLORED_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case LibraryPackage.COVER__COLORED:
+ return colored != COLORED_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(" (colored: "); //$NON-NLS-1$
+ result.append(colored);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CoverImpl
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/IdentifiableImpl.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/IdentifiableImpl.java
new file mode 100755
index 000000000..4ce7a9f29
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/IdentifiableImpl.java
@@ -0,0 +1,218 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: IdentifiableImpl.java,v 1.4 2010/04/22 17:57:37 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library.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.eclipselink.examples.library.Identifiable;
+import org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Identifiable</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.IdentifiableImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.IdentifiableImpl#getVersion <em>Version</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class IdentifiableImpl extends EObjectImpl implements Identifiable {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final long ID_EDEFAULT = 0L;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected long id = ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getVersion() <em>Version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected static final long VERSION_EDEFAULT = 0L;
+
+ /**
+ * The cached value of the '{@link #getVersion() <em>Version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected long version = VERSION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IdentifiableImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LibraryPackage.Literals.IDENTIFIABLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public long getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(long newId) {
+ long oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.IDENTIFIABLE__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public long getVersion() {
+ return version;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVersion(long newVersion) {
+ long oldVersion = version;
+ version = newVersion;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.IDENTIFIABLE__VERSION, oldVersion, version));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case LibraryPackage.IDENTIFIABLE__ID:
+ return getId();
+ case LibraryPackage.IDENTIFIABLE__VERSION:
+ return getVersion();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case LibraryPackage.IDENTIFIABLE__ID:
+ setId((Long)newValue);
+ return;
+ case LibraryPackage.IDENTIFIABLE__VERSION:
+ setVersion((Long)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case LibraryPackage.IDENTIFIABLE__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case LibraryPackage.IDENTIFIABLE__VERSION:
+ setVersion(VERSION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case LibraryPackage.IDENTIFIABLE__ID:
+ return id != ID_EDEFAULT;
+ case LibraryPackage.IDENTIFIABLE__VERSION:
+ return version != VERSION_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(" (id: "); //$NON-NLS-1$
+ result.append(id);
+ result.append(", version: "); //$NON-NLS-1$
+ result.append(version);
+ result.append(')');
+ return result.toString();
+ }
+
+} //IdentifiableImpl
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/LibraryFactoryImpl.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/LibraryFactoryImpl.java
new file mode 100755
index 000000000..0eabd121b
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/LibraryFactoryImpl.java
@@ -0,0 +1,295 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: LibraryFactoryImpl.java,v 1.5 2010/04/22 17:57:42 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library.impl;
+
+import java.util.Map;
+
+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.eclipselink.examples.library.Address;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Book;
+import org.eclipse.emf.teneo.eclipselink.examples.library.BookCategory;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Cover;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Library;
+import org.eclipse.emf.teneo.eclipselink.examples.library.LibraryFactory;
+import org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Publisher;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Style;
+import org.eclipse.emf.teneo.eclipselink.examples.library.TWriterType;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Translator;
+import org.eclipse.emf.teneo.eclipselink.examples.library.TypeWriter;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Writer;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LibraryFactoryImpl extends EFactoryImpl implements LibraryFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static LibraryFactory init() {
+ try {
+ LibraryFactory theLibraryFactory = (LibraryFactory)EPackage.Registry.INSTANCE.getEFactory("http:///org/eclipse/emf/teneo/eclipselink/examples/library.ecore"); //$NON-NLS-1$
+ if (theLibraryFactory != null) {
+ return theLibraryFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new LibraryFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LibraryFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case LibraryPackage.BOOK: return createBook();
+ case LibraryPackage.LIBRARY: return createLibrary();
+ case LibraryPackage.WRITER: return createWriter();
+ case LibraryPackage.STRING_TO_BOOK_MAP_ENTRY: return (EObject)createStringToBookMapEntry();
+ case LibraryPackage.ADDRESS: return createAddress();
+ case LibraryPackage.PUBLISHER: return createPublisher();
+ case LibraryPackage.STYLE: return createStyle();
+ case LibraryPackage.BOOK_STYLES_MAP_ENTRY: return (EObject)createBookStylesMapEntry();
+ case LibraryPackage.TRANSLATOR: return createTranslator();
+ case LibraryPackage.TYPE_WRITER: return createTypeWriter();
+ case LibraryPackage.COVER: return createCover();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case LibraryPackage.BOOK_CATEGORY:
+ return createBookCategoryFromString(eDataType, initialValue);
+ case LibraryPackage.TWRITER_TYPE:
+ return createTWriterTypeFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case LibraryPackage.BOOK_CATEGORY:
+ return convertBookCategoryToString(eDataType, instanceValue);
+ case LibraryPackage.TWRITER_TYPE:
+ return convertTWriterTypeToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- 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 Map.Entry<String, Book> createStringToBookMapEntry() {
+ StringToBookMapEntryImpl stringToBookMapEntry = new StringToBookMapEntryImpl();
+ return stringToBookMapEntry;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Address createAddress() {
+ AddressImpl address = new AddressImpl();
+ return address;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Publisher createPublisher() {
+ PublisherImpl publisher = new PublisherImpl();
+ return publisher;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Style createStyle() {
+ StyleImpl style = new StyleImpl();
+ return style;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Map.Entry<String, Style> createBookStylesMapEntry() {
+ BookStylesMapEntryImpl bookStylesMapEntry = new BookStylesMapEntryImpl();
+ return bookStylesMapEntry;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Translator createTranslator() {
+ TranslatorImpl translator = new TranslatorImpl();
+ return translator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypeWriter createTypeWriter() {
+ TypeWriterImpl typeWriter = new TypeWriterImpl();
+ return typeWriter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Cover createCover() {
+ CoverImpl cover = new CoverImpl();
+ return cover;
+ }
+
+ /**
+ * <!-- 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() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ 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 TWriterType createTWriterTypeFromString(EDataType eDataType, String initialValue) {
+ TWriterType result = TWriterType.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertTWriterTypeToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LibraryPackage getLibraryPackage() {
+ return (LibraryPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static LibraryPackage getPackage() {
+ return LibraryPackage.eINSTANCE;
+ }
+
+} //LibraryFactoryImpl
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/LibraryImpl.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/LibraryImpl.java
new file mode 100755
index 000000000..a8cd235f5
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/LibraryImpl.java
@@ -0,0 +1,260 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: LibraryImpl.java,v 1.4 2010/04/22 17:57:43 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.EMap;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EcoreEMap;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Book;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Library;
+import org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Writer;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Library</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryImpl#getWriters <em>Writers</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.LibraryImpl#getBooks <em>Books</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class LibraryImpl extends IdentifiableImpl implements Library {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getWriters() <em>Writers</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWriters()
+ * @generated
+ * @ordered
+ */
+ protected EList<Writer> writers;
+
+ /**
+ * The cached value of the '{@link #getBooks() <em>Books</em>}' map.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBooks()
+ * @generated
+ * @ordered
+ */
+ protected EMap<String, Book> books;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LibraryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LibraryPackage.Literals.LIBRARY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.LIBRARY__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Writer> getWriters() {
+ if (writers == null) {
+ writers = new EObjectContainmentEList<Writer>(Writer.class, this, LibraryPackage.LIBRARY__WRITERS);
+ }
+ return writers;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EMap<String, Book> getBooks() {
+ if (books == null) {
+ books = new EcoreEMap<String,Book>(LibraryPackage.Literals.STRING_TO_BOOK_MAP_ENTRY, StringToBookMapEntryImpl.class, this, LibraryPackage.LIBRARY__BOOKS);
+ }
+ return books;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case LibraryPackage.LIBRARY__WRITERS:
+ return ((InternalEList<?>)getWriters()).basicRemove(otherEnd, msgs);
+ case LibraryPackage.LIBRARY__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 LibraryPackage.LIBRARY__NAME:
+ return getName();
+ case LibraryPackage.LIBRARY__WRITERS:
+ return getWriters();
+ case LibraryPackage.LIBRARY__BOOKS:
+ if (coreType) return getBooks();
+ else return getBooks().map();
+ }
+ 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 LibraryPackage.LIBRARY__NAME:
+ setName((String)newValue);
+ return;
+ case LibraryPackage.LIBRARY__WRITERS:
+ getWriters().clear();
+ getWriters().addAll((Collection<? extends Writer>)newValue);
+ return;
+ case LibraryPackage.LIBRARY__BOOKS:
+ ((EStructuralFeature.Setting)getBooks()).set(newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case LibraryPackage.LIBRARY__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case LibraryPackage.LIBRARY__WRITERS:
+ getWriters().clear();
+ return;
+ case LibraryPackage.LIBRARY__BOOKS:
+ getBooks().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case LibraryPackage.LIBRARY__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case LibraryPackage.LIBRARY__WRITERS:
+ return writers != null && !writers.isEmpty();
+ case LibraryPackage.LIBRARY__BOOKS:
+ return books != null && !books.isEmpty();
+ }
+ return 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: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //LibraryImpl
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/LibraryPackageImpl.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/LibraryPackageImpl.java
new file mode 100755
index 000000000..7f1046a35
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/LibraryPackageImpl.java
@@ -0,0 +1,838 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: LibraryPackageImpl.java,v 1.9 2010/04/22 17:57:44 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library.impl;
+
+import java.util.Map;
+
+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.eclipselink.examples.library.AbstractTest;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Address;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Book;
+import org.eclipse.emf.teneo.eclipselink.examples.library.BookCategory;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Cover;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Identifiable;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Library;
+import org.eclipse.emf.teneo.eclipselink.examples.library.LibraryFactory;
+import org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Publisher;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Style;
+import org.eclipse.emf.teneo.eclipselink.examples.library.TWriterType;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Translator;
+import org.eclipse.emf.teneo.eclipselink.examples.library.TypeWriter;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Writer;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
+ * @generated
+ */
+public class LibraryPackageImpl extends EPackageImpl implements LibraryPackage {
+ /**
+ * <!-- 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 stringToBookMapEntryEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass addressEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass publisherEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass styleEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass bookStylesMapEntryEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass translatorEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass typeWriterEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass coverEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass identifiableEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass abstractTestEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum bookCategoryEEnum = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum tWriterTypeEEnum = 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.eclipselink.examples.library.LibraryPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private LibraryPackageImpl() {
+ super(eNS_URI, LibraryFactory.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 LibraryPackage#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 LibraryPackage init() {
+ if (isInited) return (LibraryPackage)EPackage.Registry.INSTANCE.getEPackage(LibraryPackage.eNS_URI);
+
+ // Obtain or create and register package
+ LibraryPackageImpl theLibraryPackage = (LibraryPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof LibraryPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new LibraryPackageImpl());
+
+ isInited = true;
+
+ // Create package meta-data objects
+ theLibraryPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theLibraryPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theLibraryPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(LibraryPackage.eNS_URI, theLibraryPackage);
+ return theLibraryPackage;
+ }
+
+ /**
+ * <!-- 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 EReference getBook_Styles() {
+ return (EReference)bookEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBook_Translator() {
+ return (EReference)bookEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBook_Cover() {
+ return (EReference)bookEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBook_DerivedAttribute() {
+ return (EAttribute)bookEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- 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_Books() {
+ return (EReference)libraryEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- 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 EReference getWriter_Address() {
+ return (EReference)writerEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getWriter_Publishers() {
+ return (EReference)writerEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getWriter_Typewriters() {
+ return (EReference)writerEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStringToBookMapEntry() {
+ return stringToBookMapEntryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getStringToBookMapEntry_Key() {
+ return (EAttribute)stringToBookMapEntryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStringToBookMapEntry_Value() {
+ return (EReference)stringToBookMapEntryEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAddress() {
+ return addressEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAddress_Town() {
+ return (EAttribute)addressEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPublisher() {
+ return publisherEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPublisher_Name() {
+ return (EAttribute)publisherEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPublisher_Writers() {
+ return (EReference)publisherEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStyle() {
+ return styleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getStyle_Name() {
+ return (EAttribute)styleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBookStylesMapEntry() {
+ return bookStylesMapEntryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBookStylesMapEntry_Key() {
+ return (EAttribute)bookStylesMapEntryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBookStylesMapEntry_Value() {
+ return (EReference)bookStylesMapEntryEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTranslator() {
+ return translatorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTranslator_Name() {
+ return (EAttribute)translatorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTranslator_Location() {
+ return (EAttribute)translatorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTranslator_Address() {
+ return (EReference)translatorEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTypeWriter() {
+ return typeWriterEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTypeWriter_Maker() {
+ return (EAttribute)typeWriterEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTypeWriter_Type() {
+ return (EAttribute)typeWriterEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCover() {
+ return coverEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCover_Colored() {
+ return (EAttribute)coverEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getIdentifiable() {
+ return identifiableEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getIdentifiable_Id() {
+ return (EAttribute)identifiableEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getIdentifiable_Version() {
+ return (EAttribute)identifiableEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAbstractTest() {
+ return abstractTestEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getBookCategory() {
+ return bookCategoryEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getTWriterType() {
+ return tWriterTypeEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public LibraryFactory getLibraryFactory() {
+ return (LibraryFactory)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);
+ createEReference(bookEClass, BOOK__STYLES);
+ createEReference(bookEClass, BOOK__TRANSLATOR);
+ createEReference(bookEClass, BOOK__COVER);
+ createEAttribute(bookEClass, BOOK__DERIVED_ATTRIBUTE);
+
+ libraryEClass = createEClass(LIBRARY);
+ createEAttribute(libraryEClass, LIBRARY__NAME);
+ createEReference(libraryEClass, LIBRARY__WRITERS);
+ createEReference(libraryEClass, LIBRARY__BOOKS);
+
+ writerEClass = createEClass(WRITER);
+ createEAttribute(writerEClass, WRITER__NAME);
+ createEReference(writerEClass, WRITER__BOOKS);
+ createEReference(writerEClass, WRITER__ADDRESS);
+ createEReference(writerEClass, WRITER__PUBLISHERS);
+ createEReference(writerEClass, WRITER__TYPEWRITERS);
+
+ stringToBookMapEntryEClass = createEClass(STRING_TO_BOOK_MAP_ENTRY);
+ createEAttribute(stringToBookMapEntryEClass, STRING_TO_BOOK_MAP_ENTRY__KEY);
+ createEReference(stringToBookMapEntryEClass, STRING_TO_BOOK_MAP_ENTRY__VALUE);
+
+ addressEClass = createEClass(ADDRESS);
+ createEAttribute(addressEClass, ADDRESS__TOWN);
+
+ publisherEClass = createEClass(PUBLISHER);
+ createEAttribute(publisherEClass, PUBLISHER__NAME);
+ createEReference(publisherEClass, PUBLISHER__WRITERS);
+
+ styleEClass = createEClass(STYLE);
+ createEAttribute(styleEClass, STYLE__NAME);
+
+ bookStylesMapEntryEClass = createEClass(BOOK_STYLES_MAP_ENTRY);
+ createEAttribute(bookStylesMapEntryEClass, BOOK_STYLES_MAP_ENTRY__KEY);
+ createEReference(bookStylesMapEntryEClass, BOOK_STYLES_MAP_ENTRY__VALUE);
+
+ translatorEClass = createEClass(TRANSLATOR);
+ createEAttribute(translatorEClass, TRANSLATOR__NAME);
+ createEAttribute(translatorEClass, TRANSLATOR__LOCATION);
+ createEReference(translatorEClass, TRANSLATOR__ADDRESS);
+
+ typeWriterEClass = createEClass(TYPE_WRITER);
+ createEAttribute(typeWriterEClass, TYPE_WRITER__MAKER);
+ createEAttribute(typeWriterEClass, TYPE_WRITER__TYPE);
+
+ coverEClass = createEClass(COVER);
+ createEAttribute(coverEClass, COVER__COLORED);
+
+ identifiableEClass = createEClass(IDENTIFIABLE);
+ createEAttribute(identifiableEClass, IDENTIFIABLE__ID);
+ createEAttribute(identifiableEClass, IDENTIFIABLE__VERSION);
+
+ abstractTestEClass = createEClass(ABSTRACT_TEST);
+
+ // Create enums
+ bookCategoryEEnum = createEEnum(BOOK_CATEGORY);
+ tWriterTypeEEnum = createEEnum(TWRITER_TYPE);
+ }
+
+ /**
+ * <!-- 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.getIdentifiable());
+ libraryEClass.getESuperTypes().add(this.getIdentifiable());
+ writerEClass.getESuperTypes().add(this.getIdentifiable());
+ stringToBookMapEntryEClass.getESuperTypes().add(this.getIdentifiable());
+ addressEClass.getESuperTypes().add(this.getIdentifiable());
+ publisherEClass.getESuperTypes().add(this.getIdentifiable());
+ styleEClass.getESuperTypes().add(this.getIdentifiable());
+ bookStylesMapEntryEClass.getESuperTypes().add(this.getIdentifiable());
+ translatorEClass.getESuperTypes().add(this.getIdentifiable());
+ typeWriterEClass.getESuperTypes().add(this.getIdentifiable());
+ coverEClass.getESuperTypes().add(this.getIdentifiable());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(bookEClass, Book.class, "Book", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getBook_Title(), ecorePackage.getEString(), "title", "", 0, 1, Book.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
+ 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); //$NON-NLS-1$ //$NON-NLS-2$
+ 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); //$NON-NLS-1$
+ 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); //$NON-NLS-1$
+ initEReference(getBook_Styles(), this.getBookStylesMapEntry(), null, "styles", null, 0, -1, Book.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getBook_Translator(), this.getTranslator(), null, "translator", null, 0, 1, Book.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getBook_Cover(), this.getCover(), null, "cover", null, 0, 1, Book.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getBook_DerivedAttribute(), ecorePackage.getEString(), "derivedAttribute", null, 0, 1, Book.class, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(libraryEClass, Library.class, "Library", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ 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); //$NON-NLS-1$
+ 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); //$NON-NLS-1$
+ initEReference(getLibrary_Books(), this.getStringToBookMapEntry(), 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); //$NON-NLS-1$
+
+ initEClass(writerEClass, Writer.class, "Writer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ 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); //$NON-NLS-1$
+ 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); //$NON-NLS-1$
+ initEReference(getWriter_Address(), this.getAddress(), null, "address", null, 0, 1, Writer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getWriter_Publishers(), this.getPublisher(), this.getPublisher_Writers(), "publishers", null, 0, -1, Writer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getWriter_Typewriters(), this.getTypeWriter(), null, "typewriters", null, 0, -1, Writer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(stringToBookMapEntryEClass, Map.Entry.class, "StringToBookMapEntry", !IS_ABSTRACT, !IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getStringToBookMapEntry_Key(), ecorePackage.getEString(), "key", null, 0, 1, Map.Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getStringToBookMapEntry_Value(), this.getBook(), null, "value", null, 0, 1, Map.Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(addressEClass, Address.class, "Address", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getAddress_Town(), ecorePackage.getEString(), "town", null, 0, 1, Address.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(publisherEClass, Publisher.class, "Publisher", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getPublisher_Name(), ecorePackage.getEString(), "name", null, 0, 1, Publisher.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getPublisher_Writers(), this.getWriter(), this.getWriter_Publishers(), "writers", null, 0, -1, Publisher.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(styleEClass, Style.class, "Style", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getStyle_Name(), ecorePackage.getEString(), "name", null, 0, 1, Style.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(bookStylesMapEntryEClass, Map.Entry.class, "BookStylesMapEntry", !IS_ABSTRACT, !IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getBookStylesMapEntry_Key(), ecorePackage.getEString(), "key", null, 0, 1, Map.Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getBookStylesMapEntry_Value(), this.getStyle(), null, "value", null, 0, 1, Map.Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(translatorEClass, Translator.class, "Translator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getTranslator_Name(), ecorePackage.getEString(), "name", null, 0, 1, Translator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getTranslator_Location(), ecorePackage.getEString(), "location", null, 0, 1, Translator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEReference(getTranslator_Address(), this.getAddress(), null, "address", null, 0, 1, Translator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(typeWriterEClass, TypeWriter.class, "TypeWriter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getTypeWriter_Maker(), ecorePackage.getEString(), "maker", null, 0, 1, TypeWriter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getTypeWriter_Type(), this.getTWriterType(), "type", null, 0, 1, TypeWriter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(coverEClass, Cover.class, "Cover", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getCover_Colored(), ecorePackage.getEBoolean(), "colored", null, 0, 1, Cover.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(identifiableEClass, Identifiable.class, "Identifiable", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getIdentifiable_Id(), ecorePackage.getELong(), "id", null, 0, 1, Identifiable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEAttribute(getIdentifiable_Version(), ecorePackage.getELong(), "version", null, 0, 1, Identifiable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(abstractTestEClass, AbstractTest.class, "AbstractTest", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ // Initialize enums and add enum literals
+ initEEnum(bookCategoryEEnum, BookCategory.class, "BookCategory"); //$NON-NLS-1$
+ addEEnumLiteral(bookCategoryEEnum, BookCategory.MYSTERY);
+ addEEnumLiteral(bookCategoryEEnum, BookCategory.SCIENCE_FICTION);
+ addEEnumLiteral(bookCategoryEEnum, BookCategory.BIOGRAPHY);
+
+ initEEnum(tWriterTypeEEnum, TWriterType.class, "TWriterType"); //$NON-NLS-1$
+ addEEnumLiteral(tWriterTypeEEnum, TWriterType.TYPEWRITER);
+ addEEnumLiteral(tWriterTypeEEnum, TWriterType.COMPUTER);
+
+ // Create resource
+ createResource(eNS_URI);
+
+ // Create annotations
+ // teneo.jpa
+ createTeneoAnnotations();
+ // http://www.oracle.com/toplink/emf/2006/ContainerMapping
+ createContainerMappingAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>teneo.jpa</b>.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createTeneoAnnotations() {
+ String source = "teneo.jpa"; //$NON-NLS-1$
+ addAnnotation
+ (stringToBookMapEntryEClass,
+ source,
+ new String[] {
+ "value", "@Table(name=\"EMFLIB_LIBRARY_BOOK_MAP\")" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ });
+ addAnnotation
+ (getPublisher_Writers(),
+ source,
+ new String[] {
+ "value", "@JoinTable(name=\"EMFLIB_PUBLISHER_WRITERS\")" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ });
+ addAnnotation
+ (bookStylesMapEntryEClass,
+ source,
+ new String[] {
+ "value", "@Table(name=\"EMFLIB_BOOK_STYLE_MAP\")" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ });
+ addAnnotation
+ (getTranslator_Address(),
+ source,
+ new String[] {
+ "value", "@Transient" //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation
+ (identifiableEClass,
+ source,
+ new String[] {
+ "value", "@MappedSuperclass" //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation
+ (getIdentifiable_Id(),
+ source,
+ new String[] {
+ "value", "@Id\n@GeneratedValue" //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ addAnnotation
+ (getIdentifiable_Version(),
+ source,
+ new String[] {
+ "value", "@Version" //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ }
+
+ /**
+ * Initializes the annotations for <b>http://www.oracle.com/toplink/emf/2006/ContainerMapping</b>. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void createContainerMappingAnnotations() {
+ String source = "http://www.oracle.com/toplink/emf/2006/ContainerMapping"; //$NON-NLS-1$
+ addAnnotation
+ (addressEClass,
+ source,
+ new String[] {
+ "eContainingClassName", "Writer", //$NON-NLS-1$ //$NON-NLS-2$
+ "eContainingClassPackageName", "library" //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ }
+
+} // LibraryPackageImpl
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/PublisherImpl.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/PublisherImpl.java
new file mode 100755
index 000000000..58876fa46
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/PublisherImpl.java
@@ -0,0 +1,235 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PublisherImpl.java,v 1.4 2010/04/22 17:57:39 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.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.eclipselink.examples.library.LibraryPackage;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Publisher;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Writer;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Publisher</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.PublisherImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.PublisherImpl#getWriters <em>Writers</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PublisherImpl extends IdentifiableImpl implements Publisher {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getWriters() <em>Writers</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWriters()
+ * @generated
+ * @ordered
+ */
+ protected EList<Writer> writers;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PublisherImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LibraryPackage.Literals.PUBLISHER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.PUBLISHER__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Writer> getWriters() {
+ if (writers == null) {
+ writers = new EObjectWithInverseResolvingEList.ManyInverse<Writer>(Writer.class, this, LibraryPackage.PUBLISHER__WRITERS, LibraryPackage.WRITER__PUBLISHERS);
+ }
+ return writers;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case LibraryPackage.PUBLISHER__WRITERS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getWriters()).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 LibraryPackage.PUBLISHER__WRITERS:
+ return ((InternalEList<?>)getWriters()).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 LibraryPackage.PUBLISHER__NAME:
+ return getName();
+ case LibraryPackage.PUBLISHER__WRITERS:
+ return getWriters();
+ }
+ 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 LibraryPackage.PUBLISHER__NAME:
+ setName((String)newValue);
+ return;
+ case LibraryPackage.PUBLISHER__WRITERS:
+ getWriters().clear();
+ getWriters().addAll((Collection<? extends Writer>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case LibraryPackage.PUBLISHER__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case LibraryPackage.PUBLISHER__WRITERS:
+ getWriters().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case LibraryPackage.PUBLISHER__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case LibraryPackage.PUBLISHER__WRITERS:
+ return writers != null && !writers.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: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //PublisherImpl
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/StringToBookMapEntryImpl.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/StringToBookMapEntryImpl.java
new file mode 100755
index 000000000..a3e32f9ce
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/StringToBookMapEntryImpl.java
@@ -0,0 +1,324 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: StringToBookMapEntryImpl.java,v 1.4 2010/04/22 17:57:41 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.BasicEMap;
+import org.eclipse.emf.common.util.EMap;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Book;
+import org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>String To Book Map Entry</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.StringToBookMapEntryImpl#getTypedKey <em>Key</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.StringToBookMapEntryImpl#getTypedValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StringToBookMapEntryImpl extends IdentifiableImpl implements BasicEMap.Entry<String,Book> {
+ /**
+ * The default value of the '{@link #getTypedKey() <em>Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTypedKey()
+ * @generated
+ * @ordered
+ */
+ protected static final String KEY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTypedKey() <em>Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTypedKey()
+ * @generated
+ * @ordered
+ */
+ protected String key = KEY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getTypedValue() <em>Value</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTypedValue()
+ * @generated
+ * @ordered
+ */
+ protected Book value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StringToBookMapEntryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LibraryPackage.Literals.STRING_TO_BOOK_MAP_ENTRY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTypedKey() {
+ return key;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTypedKey(String newKey) {
+ String oldKey = key;
+ key = newKey;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.STRING_TO_BOOK_MAP_ENTRY__KEY, oldKey, key));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Book getTypedValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTypedValue(Book newValue, NotificationChain msgs) {
+ Book oldValue = value;
+ value = newValue;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LibraryPackage.STRING_TO_BOOK_MAP_ENTRY__VALUE, oldValue, newValue);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTypedValue(Book newValue) {
+ if (newValue != value) {
+ NotificationChain msgs = null;
+ if (value != null)
+ msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LibraryPackage.STRING_TO_BOOK_MAP_ENTRY__VALUE, null, msgs);
+ if (newValue != null)
+ msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LibraryPackage.STRING_TO_BOOK_MAP_ENTRY__VALUE, null, msgs);
+ msgs = basicSetTypedValue(newValue, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.STRING_TO_BOOK_MAP_ENTRY__VALUE, newValue, newValue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case LibraryPackage.STRING_TO_BOOK_MAP_ENTRY__VALUE:
+ return basicSetTypedValue(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 LibraryPackage.STRING_TO_BOOK_MAP_ENTRY__KEY:
+ return getTypedKey();
+ case LibraryPackage.STRING_TO_BOOK_MAP_ENTRY__VALUE:
+ return getTypedValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case LibraryPackage.STRING_TO_BOOK_MAP_ENTRY__KEY:
+ setTypedKey((String)newValue);
+ return;
+ case LibraryPackage.STRING_TO_BOOK_MAP_ENTRY__VALUE:
+ setTypedValue((Book)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case LibraryPackage.STRING_TO_BOOK_MAP_ENTRY__KEY:
+ setTypedKey(KEY_EDEFAULT);
+ return;
+ case LibraryPackage.STRING_TO_BOOK_MAP_ENTRY__VALUE:
+ setTypedValue((Book)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case LibraryPackage.STRING_TO_BOOK_MAP_ENTRY__KEY:
+ return KEY_EDEFAULT == null ? key != null : !KEY_EDEFAULT.equals(key);
+ case LibraryPackage.STRING_TO_BOOK_MAP_ENTRY__VALUE:
+ return value != 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(" (key: "); //$NON-NLS-1$
+ result.append(key);
+ result.append(')');
+ return result.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected int hash = -1;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getHash() {
+ if (hash == -1) {
+ Object theKey = getKey();
+ hash = (theKey == null ? 0 : theKey.hashCode());
+ }
+ return hash;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHash(int hash) {
+ this.hash = hash;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getKey() {
+ return getTypedKey();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setKey(String key) {
+ setTypedKey(key);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Book getValue() {
+ return getTypedValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Book setValue(Book value) {
+ Book oldValue = getValue();
+ setTypedValue(value);
+ return oldValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ public EMap<String, Book> getEMap() {
+ EObject container = eContainer();
+ return container == null ? null : (EMap<String, Book>)container.eGet(eContainmentFeature());
+ }
+
+} //StringToBookMapEntryImpl
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/StyleImpl.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/StyleImpl.java
new file mode 100755
index 000000000..6bfb324ee
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/StyleImpl.java
@@ -0,0 +1,163 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: StyleImpl.java,v 1.4 2010/04/22 17:57:42 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library.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.eclipselink.examples.library.LibraryPackage;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Style;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.StyleImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StyleImpl extends IdentifiableImpl implements Style {
+ /**
+ * 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;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StyleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LibraryPackage.Literals.STYLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.STYLE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case LibraryPackage.STYLE__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case LibraryPackage.STYLE__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case LibraryPackage.STYLE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case LibraryPackage.STYLE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ 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: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //StyleImpl
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/TranslatorImpl.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/TranslatorImpl.java
new file mode 100755
index 000000000..85104ba55
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/TranslatorImpl.java
@@ -0,0 +1,298 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TranslatorImpl.java,v 1.4 2010/04/22 17:57:43 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Address;
+import org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Translator</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.TranslatorImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.TranslatorImpl#getLocation <em>Location</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.TranslatorImpl#getAddress <em>Address</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TranslatorImpl extends IdentifiableImpl implements Translator {
+ /**
+ * 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 default value of the '{@link #getLocation() <em>Location</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLocation()
+ * @generated
+ * @ordered
+ */
+ protected static final String LOCATION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLocation() <em>Location</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLocation()
+ * @generated
+ * @ordered
+ */
+ protected String location = LOCATION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getAddress() <em>Address</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAddress()
+ * @generated
+ * @ordered
+ */
+ protected Address address;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TranslatorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LibraryPackage.Literals.TRANSLATOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.TRANSLATOR__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLocation() {
+ return location;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLocation(String newLocation) {
+ String oldLocation = location;
+ location = newLocation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.TRANSLATOR__LOCATION, oldLocation, location));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Address getAddress() {
+ return address;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetAddress(Address newAddress, NotificationChain msgs) {
+ Address oldAddress = address;
+ address = newAddress;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LibraryPackage.TRANSLATOR__ADDRESS, oldAddress, newAddress);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAddress(Address newAddress) {
+ if (newAddress != address) {
+ NotificationChain msgs = null;
+ if (address != null)
+ msgs = ((InternalEObject)address).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LibraryPackage.TRANSLATOR__ADDRESS, null, msgs);
+ if (newAddress != null)
+ msgs = ((InternalEObject)newAddress).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LibraryPackage.TRANSLATOR__ADDRESS, null, msgs);
+ msgs = basicSetAddress(newAddress, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.TRANSLATOR__ADDRESS, newAddress, newAddress));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case LibraryPackage.TRANSLATOR__ADDRESS:
+ return basicSetAddress(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 LibraryPackage.TRANSLATOR__NAME:
+ return getName();
+ case LibraryPackage.TRANSLATOR__LOCATION:
+ return getLocation();
+ case LibraryPackage.TRANSLATOR__ADDRESS:
+ return getAddress();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case LibraryPackage.TRANSLATOR__NAME:
+ setName((String)newValue);
+ return;
+ case LibraryPackage.TRANSLATOR__LOCATION:
+ setLocation((String)newValue);
+ return;
+ case LibraryPackage.TRANSLATOR__ADDRESS:
+ setAddress((Address)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case LibraryPackage.TRANSLATOR__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case LibraryPackage.TRANSLATOR__LOCATION:
+ setLocation(LOCATION_EDEFAULT);
+ return;
+ case LibraryPackage.TRANSLATOR__ADDRESS:
+ setAddress((Address)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case LibraryPackage.TRANSLATOR__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case LibraryPackage.TRANSLATOR__LOCATION:
+ return LOCATION_EDEFAULT == null ? location != null : !LOCATION_EDEFAULT.equals(location);
+ case LibraryPackage.TRANSLATOR__ADDRESS:
+ return address != 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(" (name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", location: "); //$NON-NLS-1$
+ result.append(location);
+ result.append(')');
+ return result.toString();
+ }
+
+} //TranslatorImpl
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/TypeWriterImpl.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/TypeWriterImpl.java
new file mode 100755
index 000000000..3ba1d9d18
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/TypeWriterImpl.java
@@ -0,0 +1,218 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TypeWriterImpl.java,v 1.4 2010/04/22 17:57:41 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library.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.eclipselink.examples.library.LibraryPackage;
+import org.eclipse.emf.teneo.eclipselink.examples.library.TWriterType;
+import org.eclipse.emf.teneo.eclipselink.examples.library.TypeWriter;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Type Writer</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.TypeWriterImpl#getMaker <em>Maker</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.TypeWriterImpl#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TypeWriterImpl extends IdentifiableImpl implements TypeWriter {
+ /**
+ * The default value of the '{@link #getMaker() <em>Maker</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMaker()
+ * @generated
+ * @ordered
+ */
+ protected static final String MAKER_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMaker() <em>Maker</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMaker()
+ * @generated
+ * @ordered
+ */
+ protected String maker = MAKER_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected static final TWriterType TYPE_EDEFAULT = TWriterType.TYPEWRITER;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected TWriterType type = TYPE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TypeWriterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LibraryPackage.Literals.TYPE_WRITER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getMaker() {
+ return maker;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMaker(String newMaker) {
+ String oldMaker = maker;
+ maker = newMaker;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.TYPE_WRITER__MAKER, oldMaker, maker));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TWriterType getType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(TWriterType newType) {
+ TWriterType oldType = type;
+ type = newType == null ? TYPE_EDEFAULT : newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.TYPE_WRITER__TYPE, oldType, type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case LibraryPackage.TYPE_WRITER__MAKER:
+ return getMaker();
+ case LibraryPackage.TYPE_WRITER__TYPE:
+ return getType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case LibraryPackage.TYPE_WRITER__MAKER:
+ setMaker((String)newValue);
+ return;
+ case LibraryPackage.TYPE_WRITER__TYPE:
+ setType((TWriterType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case LibraryPackage.TYPE_WRITER__MAKER:
+ setMaker(MAKER_EDEFAULT);
+ return;
+ case LibraryPackage.TYPE_WRITER__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case LibraryPackage.TYPE_WRITER__MAKER:
+ return MAKER_EDEFAULT == null ? maker != null : !MAKER_EDEFAULT.equals(maker);
+ case LibraryPackage.TYPE_WRITER__TYPE:
+ return type != TYPE_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(" (maker: "); //$NON-NLS-1$
+ result.append(maker);
+ result.append(", type: "); //$NON-NLS-1$
+ result.append(type);
+ result.append(')');
+ return result.toString();
+ }
+
+} //TypeWriterImpl
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/WriterImpl.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/WriterImpl.java
new file mode 100755
index 000000000..0c3bfed37
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/impl/WriterImpl.java
@@ -0,0 +1,377 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: WriterImpl.java,v 1.5 2010/04/22 17:57:38 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Address;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Book;
+import org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Publisher;
+import org.eclipse.emf.teneo.eclipselink.examples.library.TypeWriter;
+import org.eclipse.emf.teneo.eclipselink.examples.library.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.eclipselink.examples.library.impl.WriterImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.WriterImpl#getBooks <em>Books</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.WriterImpl#getAddress <em>Address</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.WriterImpl#getPublishers <em>Publishers</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.library.impl.WriterImpl#getTypewriters <em>Typewriters</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class WriterImpl extends IdentifiableImpl 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;
+
+ /**
+ * The cached value of the '{@link #getAddress() <em>Address</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAddress()
+ * @generated
+ * @ordered
+ */
+ protected Address address;
+
+ /**
+ * The cached value of the '{@link #getPublishers() <em>Publishers</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPublishers()
+ * @generated
+ * @ordered
+ */
+ protected EList<Publisher> publishers;
+
+ /**
+ * The cached value of the '{@link #getTypewriters() <em>Typewriters</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTypewriters()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypeWriter> typewriters;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected WriterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return LibraryPackage.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, LibraryPackage.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, LibraryPackage.WRITER__BOOKS, LibraryPackage.BOOK__AUTHOR);
+ }
+ return books;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Address getAddress() {
+ return address;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetAddress(Address newAddress, NotificationChain msgs) {
+ Address oldAddress = address;
+ address = newAddress;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LibraryPackage.WRITER__ADDRESS, oldAddress, newAddress);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAddress(Address newAddress) {
+ if (newAddress != address) {
+ NotificationChain msgs = null;
+ if (address != null)
+ msgs = ((InternalEObject)address).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LibraryPackage.WRITER__ADDRESS, null, msgs);
+ if (newAddress != null)
+ msgs = ((InternalEObject)newAddress).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LibraryPackage.WRITER__ADDRESS, null, msgs);
+ msgs = basicSetAddress(newAddress, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LibraryPackage.WRITER__ADDRESS, newAddress, newAddress));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Publisher> getPublishers() {
+ if (publishers == null) {
+ publishers = new EObjectWithInverseResolvingEList.ManyInverse<Publisher>(Publisher.class, this, LibraryPackage.WRITER__PUBLISHERS, LibraryPackage.PUBLISHER__WRITERS);
+ }
+ return publishers;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypeWriter> getTypewriters() {
+ if (typewriters == null) {
+ typewriters = new EObjectResolvingEList<TypeWriter>(TypeWriter.class, this, LibraryPackage.WRITER__TYPEWRITERS);
+ }
+ return typewriters;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case LibraryPackage.WRITER__BOOKS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getBooks()).basicAdd(otherEnd, msgs);
+ case LibraryPackage.WRITER__PUBLISHERS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getPublishers()).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 LibraryPackage.WRITER__BOOKS:
+ return ((InternalEList<?>)getBooks()).basicRemove(otherEnd, msgs);
+ case LibraryPackage.WRITER__ADDRESS:
+ return basicSetAddress(null, msgs);
+ case LibraryPackage.WRITER__PUBLISHERS:
+ return ((InternalEList<?>)getPublishers()).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 LibraryPackage.WRITER__NAME:
+ return getName();
+ case LibraryPackage.WRITER__BOOKS:
+ return getBooks();
+ case LibraryPackage.WRITER__ADDRESS:
+ return getAddress();
+ case LibraryPackage.WRITER__PUBLISHERS:
+ return getPublishers();
+ case LibraryPackage.WRITER__TYPEWRITERS:
+ return getTypewriters();
+ }
+ 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 LibraryPackage.WRITER__NAME:
+ setName((String)newValue);
+ return;
+ case LibraryPackage.WRITER__BOOKS:
+ getBooks().clear();
+ getBooks().addAll((Collection<? extends Book>)newValue);
+ return;
+ case LibraryPackage.WRITER__ADDRESS:
+ setAddress((Address)newValue);
+ return;
+ case LibraryPackage.WRITER__PUBLISHERS:
+ getPublishers().clear();
+ getPublishers().addAll((Collection<? extends Publisher>)newValue);
+ return;
+ case LibraryPackage.WRITER__TYPEWRITERS:
+ getTypewriters().clear();
+ getTypewriters().addAll((Collection<? extends TypeWriter>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case LibraryPackage.WRITER__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case LibraryPackage.WRITER__BOOKS:
+ getBooks().clear();
+ return;
+ case LibraryPackage.WRITER__ADDRESS:
+ setAddress((Address)null);
+ return;
+ case LibraryPackage.WRITER__PUBLISHERS:
+ getPublishers().clear();
+ return;
+ case LibraryPackage.WRITER__TYPEWRITERS:
+ getTypewriters().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case LibraryPackage.WRITER__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case LibraryPackage.WRITER__BOOKS:
+ return books != null && !books.isEmpty();
+ case LibraryPackage.WRITER__ADDRESS:
+ return address != null;
+ case LibraryPackage.WRITER__PUBLISHERS:
+ return publishers != null && !publishers.isEmpty();
+ case LibraryPackage.WRITER__TYPEWRITERS:
+ return typewriters != null && !typewriters.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: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //WriterImpl
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/util/LibraryAdapterFactory.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/util/LibraryAdapterFactory.java
new file mode 100755
index 000000000..b184b0889
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/util/LibraryAdapterFactory.java
@@ -0,0 +1,350 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: LibraryAdapterFactory.java,v 1.5 2010/04/22 17:57:53 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library.util;
+
+import java.util.Map;
+
+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.eclipselink.examples.library.AbstractTest;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Address;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Book;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Cover;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Identifiable;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Library;
+import org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Publisher;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Style;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Translator;
+import org.eclipse.emf.teneo.eclipselink.examples.library.TypeWriter;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Writer;
+
+/**
+ * <!-- 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.eclipselink.examples.library.LibraryPackage
+ * @generated
+ */
+public class LibraryAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static LibraryPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LibraryAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = LibraryPackage.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 LibrarySwitch<Adapter> modelSwitch =
+ new LibrarySwitch<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 caseStringToBookMapEntry(Map.Entry<String, Book> object) {
+ return createStringToBookMapEntryAdapter();
+ }
+ @Override
+ public Adapter caseAddress(Address object) {
+ return createAddressAdapter();
+ }
+ @Override
+ public Adapter casePublisher(Publisher object) {
+ return createPublisherAdapter();
+ }
+ @Override
+ public Adapter caseStyle(Style object) {
+ return createStyleAdapter();
+ }
+ @Override
+ public Adapter caseBookStylesMapEntry(Map.Entry<String, Style> object) {
+ return createBookStylesMapEntryAdapter();
+ }
+ @Override
+ public Adapter caseTranslator(Translator object) {
+ return createTranslatorAdapter();
+ }
+ @Override
+ public Adapter caseTypeWriter(TypeWriter object) {
+ return createTypeWriterAdapter();
+ }
+ @Override
+ public Adapter caseCover(Cover object) {
+ return createCoverAdapter();
+ }
+ @Override
+ public Adapter caseIdentifiable(Identifiable object) {
+ return createIdentifiableAdapter();
+ }
+ @Override
+ public Adapter caseAbstractTest(AbstractTest object) {
+ return createAbstractTestAdapter();
+ }
+ @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.eclipselink.examples.library.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.eclipselink.examples.library.Book
+ * @generated
+ */
+ public Adapter createBookAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.eclipselink.examples.library.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.eclipselink.examples.library.Library
+ * @generated
+ */
+ public Adapter createLibraryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.eclipselink.examples.library.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.eclipselink.examples.library.Writer
+ * @generated
+ */
+ public Adapter createWriterAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link java.util.Map.Entry <em>String To Book Map Entry</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 java.util.Map.Entry
+ * @generated
+ */
+ public Adapter createStringToBookMapEntryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Address <em>Address</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.eclipselink.examples.library.Address
+ * @generated
+ */
+ public Adapter createAddressAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Publisher <em>Publisher</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.eclipselink.examples.library.Publisher
+ * @generated
+ */
+ public Adapter createPublisherAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Style <em>Style</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.eclipselink.examples.library.Style
+ * @generated
+ */
+ public Adapter createStyleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link java.util.Map.Entry <em>Book Styles Map Entry</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 java.util.Map.Entry
+ * @generated
+ */
+ public Adapter createBookStylesMapEntryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Translator <em>Translator</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.eclipselink.examples.library.Translator
+ * @generated
+ */
+ public Adapter createTranslatorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.eclipselink.examples.library.TypeWriter <em>Type 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.eclipselink.examples.library.TypeWriter
+ * @generated
+ */
+ public Adapter createTypeWriterAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Cover <em>Cover</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.eclipselink.examples.library.Cover
+ * @generated
+ */
+ public Adapter createCoverAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.eclipselink.examples.library.Identifiable <em>Identifiable</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.eclipselink.examples.library.Identifiable
+ * @generated
+ */
+ public Adapter createIdentifiableAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.eclipselink.examples.library.AbstractTest <em>Abstract Test</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.eclipselink.examples.library.AbstractTest
+ * @generated
+ */
+ public Adapter createAbstractTestAdapter() {
+ 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;
+ }
+
+} //LibraryAdapterFactory
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/util/LibrarySwitch.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/util/LibrarySwitch.java
new file mode 100755
index 000000000..389047c84
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/library/util/LibrarySwitch.java
@@ -0,0 +1,404 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: LibrarySwitch.java,v 1.5 2010/04/22 17:57:53 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.library.util;
+
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.teneo.eclipselink.examples.library.AbstractTest;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Address;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Book;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Cover;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Identifiable;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Library;
+import org.eclipse.emf.teneo.eclipselink.examples.library.LibraryPackage;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Publisher;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Style;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Translator;
+import org.eclipse.emf.teneo.eclipselink.examples.library.TypeWriter;
+import org.eclipse.emf.teneo.eclipselink.examples.library.Writer;
+
+/**
+ * <!-- 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.eclipselink.examples.library.LibraryPackage
+ * @generated
+ */
+public class LibrarySwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static LibraryPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LibrarySwitch() {
+ if (modelPackage == null) {
+ modelPackage = LibraryPackage.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 LibraryPackage.BOOK: {
+ Book book = (Book)theEObject;
+ T result = caseBook(book);
+ if (result == null) result = caseIdentifiable(book);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case LibraryPackage.LIBRARY: {
+ Library library = (Library)theEObject;
+ T result = caseLibrary(library);
+ if (result == null) result = caseIdentifiable(library);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case LibraryPackage.WRITER: {
+ Writer writer = (Writer)theEObject;
+ T result = caseWriter(writer);
+ if (result == null) result = caseIdentifiable(writer);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case LibraryPackage.STRING_TO_BOOK_MAP_ENTRY: {
+ @SuppressWarnings("unchecked") Map.Entry<String, Book> stringToBookMapEntry = (Map.Entry<String, Book>)theEObject;
+ T result = caseStringToBookMapEntry(stringToBookMapEntry);
+ if (result == null) result = caseIdentifiable((Identifiable)stringToBookMapEntry);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case LibraryPackage.ADDRESS: {
+ Address address = (Address)theEObject;
+ T result = caseAddress(address);
+ if (result == null) result = caseIdentifiable(address);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case LibraryPackage.PUBLISHER: {
+ Publisher publisher = (Publisher)theEObject;
+ T result = casePublisher(publisher);
+ if (result == null) result = caseIdentifiable(publisher);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case LibraryPackage.STYLE: {
+ Style style = (Style)theEObject;
+ T result = caseStyle(style);
+ if (result == null) result = caseIdentifiable(style);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case LibraryPackage.BOOK_STYLES_MAP_ENTRY: {
+ @SuppressWarnings("unchecked") Map.Entry<String, Style> bookStylesMapEntry = (Map.Entry<String, Style>)theEObject;
+ T result = caseBookStylesMapEntry(bookStylesMapEntry);
+ if (result == null) result = caseIdentifiable((Identifiable)bookStylesMapEntry);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case LibraryPackage.TRANSLATOR: {
+ Translator translator = (Translator)theEObject;
+ T result = caseTranslator(translator);
+ if (result == null) result = caseIdentifiable(translator);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case LibraryPackage.TYPE_WRITER: {
+ TypeWriter typeWriter = (TypeWriter)theEObject;
+ T result = caseTypeWriter(typeWriter);
+ if (result == null) result = caseIdentifiable(typeWriter);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case LibraryPackage.COVER: {
+ Cover cover = (Cover)theEObject;
+ T result = caseCover(cover);
+ if (result == null) result = caseIdentifiable(cover);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case LibraryPackage.IDENTIFIABLE: {
+ Identifiable identifiable = (Identifiable)theEObject;
+ T result = caseIdentifiable(identifiable);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case LibraryPackage.ABSTRACT_TEST: {
+ AbstractTest abstractTest = (AbstractTest)theEObject;
+ T result = caseAbstractTest(abstractTest);
+ 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>String To Book Map Entry</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>String To Book Map Entry</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStringToBookMapEntry(Map.Entry<String, Book> object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Address</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>Address</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAddress(Address object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Publisher</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>Publisher</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePublisher(Publisher object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Style</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>Style</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStyle(Style object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Book Styles Map Entry</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 Styles Map Entry</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBookStylesMapEntry(Map.Entry<String, Style> object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Translator</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>Translator</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTranslator(Translator object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Type 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>Type Writer</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTypeWriter(TypeWriter object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Cover</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>Cover</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCover(Cover object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Identifiable</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>Identifiable</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIdentifiable(Identifiable object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Abstract Test</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>Abstract Test</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAbstractTest(AbstractTest 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;
+ }
+
+} //LibrarySwitch
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/Identifiable.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/Identifiable.java
new file mode 100755
index 000000000..fb0a700e3
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/Identifiable.java
@@ -0,0 +1,246 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Identifiable.java,v 1.1 2010/04/22 17:57:48 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Identifiable</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Identifiable#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Identifiable#getVersion <em>Version</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.SuppressinterfacesPackage#getIdentifiable()
+ * @model kind="class"
+ * @generated
+ */
+public class Identifiable extends EObjectImpl implements EObject {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final long ID_EDEFAULT = 0L;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected long id = ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getVersion() <em>Version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected static final long VERSION_EDEFAULT = 0L;
+
+ /**
+ * The cached value of the '{@link #getVersion() <em>Version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected long version = VERSION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Identifiable() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SuppressinterfacesPackage.Literals.IDENTIFIABLE;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(long)
+ * @see org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.SuppressinterfacesPackage#getIdentifiable_Id()
+ * @model annotation="teneo.jpa value='@Id\n@GeneratedValue'"
+ * @generated
+ */
+ public long getId() {
+ return id;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Identifiable#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ public void setId(long newId) {
+ long oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SuppressinterfacesPackage.IDENTIFIABLE__ID, oldId, id));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Version</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Version</em>' attribute.
+ * @see #setVersion(long)
+ * @see org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.SuppressinterfacesPackage#getIdentifiable_Version()
+ * @model annotation="teneo.jpa value='@Version'"
+ * @generated
+ */
+ public long getVersion() {
+ return version;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Identifiable#getVersion <em>Version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Version</em>' attribute.
+ * @see #getVersion()
+ * @generated
+ */
+ public void setVersion(long newVersion) {
+ long oldVersion = version;
+ version = newVersion;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SuppressinterfacesPackage.IDENTIFIABLE__VERSION, oldVersion, version));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SuppressinterfacesPackage.IDENTIFIABLE__ID:
+ return getId();
+ case SuppressinterfacesPackage.IDENTIFIABLE__VERSION:
+ return getVersion();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SuppressinterfacesPackage.IDENTIFIABLE__ID:
+ setId((Long)newValue);
+ return;
+ case SuppressinterfacesPackage.IDENTIFIABLE__VERSION:
+ setVersion((Long)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SuppressinterfacesPackage.IDENTIFIABLE__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case SuppressinterfacesPackage.IDENTIFIABLE__VERSION:
+ setVersion(VERSION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SuppressinterfacesPackage.IDENTIFIABLE__ID:
+ return id != ID_EDEFAULT;
+ case SuppressinterfacesPackage.IDENTIFIABLE__VERSION:
+ return version != VERSION_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(" (id: ");
+ result.append(id);
+ result.append(", version: ");
+ result.append(version);
+ result.append(')');
+ return result.toString();
+ }
+
+} // Identifiable
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/SuppressinterfacesFactory.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/SuppressinterfacesFactory.java
new file mode 100755
index 000000000..727308772
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/SuppressinterfacesFactory.java
@@ -0,0 +1,127 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SuppressinterfacesFactory.java,v 1.2 2010/04/22 17:57:48 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces;
+
+import org.eclipse.emf.ecore.EClass;
+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;
+
+/**
+ * <!-- 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.eclipselink.examples.suppressinterfaces.SuppressinterfacesPackage
+ * @generated
+ */
+public class SuppressinterfacesFactory extends EFactoryImpl {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final SuppressinterfacesFactory eINSTANCE = init();
+
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static SuppressinterfacesFactory init() {
+ try {
+ SuppressinterfacesFactory theSuppressinterfacesFactory = (SuppressinterfacesFactory)EPackage.Registry.INSTANCE.getEFactory("http:///org/eclipse/emf/teneo/eclipselink/examples/test_suppressinterfaces.ecore");
+ if (theSuppressinterfacesFactory != null) {
+ return theSuppressinterfacesFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new SuppressinterfacesFactory();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SuppressinterfacesFactory() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case SuppressinterfacesPackage.TEST: return createTest();
+ case SuppressinterfacesPackage.TEST_EMBEDDED: return createTestEmbedded();
+ case SuppressinterfacesPackage.IDENTIFIABLE: return createIdentifiable();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Test createTest() {
+ Test test = new Test();
+ return test;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TestEmbedded createTestEmbedded() {
+ TestEmbedded testEmbedded = new TestEmbedded();
+ return testEmbedded;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Identifiable createIdentifiable() {
+ Identifiable identifiable = new Identifiable();
+ return identifiable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SuppressinterfacesPackage getSuppressinterfacesPackage() {
+ return (SuppressinterfacesPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static SuppressinterfacesPackage getPackage() {
+ return SuppressinterfacesPackage.eINSTANCE;
+ }
+
+} //SuppressinterfacesFactory
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/SuppressinterfacesPackage.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/SuppressinterfacesPackage.java
new file mode 100755
index 000000000..f8152f208
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/SuppressinterfacesPackage.java
@@ -0,0 +1,586 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SuppressinterfacesPackage.java,v 1.2 2010/04/22 17:57:48 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+/**
+ * <!-- 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.eclipselink.examples.suppressinterfaces.SuppressinterfacesFactory
+ * @model kind="package"
+ * @generated
+ */
+public class SuppressinterfacesPackage extends EPackageImpl {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String eNAME = "suppressinterfaces";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String eNS_URI = "http:///org/eclipse/emf/teneo/eclipselink/examples/test_suppressinterfaces.ecore";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final String eNS_PREFIX = "suppressinterfaces";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final SuppressinterfacesPackage eINSTANCE = org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.SuppressinterfacesPackage.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Identifiable <em>Identifiable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Identifiable
+ * @see org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.SuppressinterfacesPackage#getIdentifiable()
+ * @generated
+ */
+ public static final int IDENTIFIABLE = 2;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int IDENTIFIABLE__ID = 0;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int IDENTIFIABLE__VERSION = 1;
+
+ /**
+ * The number of structural features of the '<em>Identifiable</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int IDENTIFIABLE_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Test <em>Test</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Test
+ * @see org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.SuppressinterfacesPackage#getTest()
+ * @generated
+ */
+ public static final int TEST = 0;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int TEST__ID = IDENTIFIABLE__ID;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int TEST__VERSION = IDENTIFIABLE__VERSION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int TEST__NAME = IDENTIFIABLE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Test Embedded</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int TEST__TEST_EMBEDDED = IDENTIFIABLE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Test</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int TEST_FEATURE_COUNT = IDENTIFIABLE_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.TestEmbedded <em>Test Embedded</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.TestEmbedded
+ * @see org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.SuppressinterfacesPackage#getTestEmbedded()
+ * @generated
+ */
+ public static final int TEST_EMBEDDED = 1;
+
+ /**
+ * The feature id for the '<em><b>Name Embedded</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int TEST_EMBEDDED__NAME_EMBEDDED = 0;
+
+ /**
+ * The number of structural features of the '<em>Test Embedded</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int TEST_EMBEDDED_FEATURE_COUNT = 1;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass testEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass testEmbeddedEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass identifiableEClass = 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.eclipselink.examples.suppressinterfaces.SuppressinterfacesPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private SuppressinterfacesPackage() {
+ super(eNS_URI, SuppressinterfacesFactory.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 SuppressinterfacesPackage#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 SuppressinterfacesPackage init() {
+ if (isInited) return (SuppressinterfacesPackage)EPackage.Registry.INSTANCE.getEPackage(SuppressinterfacesPackage.eNS_URI);
+
+ // Obtain or create and register package
+ SuppressinterfacesPackage theSuppressinterfacesPackage = (SuppressinterfacesPackage)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof SuppressinterfacesPackage ? EPackage.Registry.INSTANCE.get(eNS_URI) : new SuppressinterfacesPackage());
+
+ isInited = true;
+
+ // Create package meta-data objects
+ theSuppressinterfacesPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theSuppressinterfacesPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theSuppressinterfacesPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(SuppressinterfacesPackage.eNS_URI, theSuppressinterfacesPackage);
+ return theSuppressinterfacesPackage;
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Test <em>Test</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Test</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Test
+ * @generated
+ */
+ public EClass getTest() {
+ return testEClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Test#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.eclipselink.examples.suppressinterfaces.Test#getName()
+ * @see #getTest()
+ * @generated
+ */
+ public EAttribute getTest_Name() {
+ return (EAttribute)testEClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Test#getTestEmbedded <em>Test Embedded</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Test Embedded</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Test#getTestEmbedded()
+ * @see #getTest()
+ * @generated
+ */
+ public EReference getTest_TestEmbedded() {
+ return (EReference)testEClass.getEStructuralFeatures().get(1);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.TestEmbedded <em>Test Embedded</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Test Embedded</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.TestEmbedded
+ * @generated
+ */
+ public EClass getTestEmbedded() {
+ return testEmbeddedEClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.TestEmbedded#getNameEmbedded <em>Name Embedded</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name Embedded</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.TestEmbedded#getNameEmbedded()
+ * @see #getTestEmbedded()
+ * @generated
+ */
+ public EAttribute getTestEmbedded_NameEmbedded() {
+ return (EAttribute)testEmbeddedEClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Identifiable <em>Identifiable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Identifiable</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Identifiable
+ * @generated
+ */
+ public EClass getIdentifiable() {
+ return identifiableEClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Identifiable#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Identifiable#getId()
+ * @see #getIdentifiable()
+ * @generated
+ */
+ public EAttribute getIdentifiable_Id() {
+ return (EAttribute)identifiableEClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Identifiable#getVersion <em>Version</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Version</em>'.
+ * @see org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Identifiable#getVersion()
+ * @see #getIdentifiable()
+ * @generated
+ */
+ public EAttribute getIdentifiable_Version() {
+ return (EAttribute)identifiableEClass.getEStructuralFeatures().get(1);
+ }
+
+
+ /**
+ * 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
+ */
+ public SuppressinterfacesFactory getSuppressinterfacesFactory() {
+ return (SuppressinterfacesFactory)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
+ testEClass = createEClass(TEST);
+ createEAttribute(testEClass, TEST__NAME);
+ createEReference(testEClass, TEST__TEST_EMBEDDED);
+
+ testEmbeddedEClass = createEClass(TEST_EMBEDDED);
+ createEAttribute(testEmbeddedEClass, TEST_EMBEDDED__NAME_EMBEDDED);
+
+ identifiableEClass = createEClass(IDENTIFIABLE);
+ createEAttribute(identifiableEClass, IDENTIFIABLE__ID);
+ createEAttribute(identifiableEClass, IDENTIFIABLE__VERSION);
+ }
+
+ /**
+ * <!-- 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
+ testEClass.getESuperTypes().add(this.getIdentifiable());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(testEClass, Test.class, "Test", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getTest_Name(), ecorePackage.getEString(), "name", null, 0, 1, Test.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getTest_TestEmbedded(), this.getTestEmbedded(), null, "testEmbedded", null, 0, 1, Test.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(testEmbeddedEClass, TestEmbedded.class, "TestEmbedded", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getTestEmbedded_NameEmbedded(), ecorePackage.getEString(), "nameEmbedded", null, 0, 1, TestEmbedded.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(identifiableEClass, Identifiable.class, "Identifiable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getIdentifiable_Id(), ecorePackage.getELong(), "id", null, 0, 1, Identifiable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getIdentifiable_Version(), ecorePackage.getELong(), "version", null, 0, 1, Identifiable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+
+ // Create annotations
+ // teneo.jpa
+ createTeneoAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>teneo.jpa</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createTeneoAnnotations() {
+ String source = "teneo.jpa";
+ addAnnotation
+ (getTest_TestEmbedded(),
+ source,
+ new String[] {
+ "value", "@Embedded"
+ });
+ addAnnotation
+ (testEmbeddedEClass,
+ source,
+ new String[] {
+ "value", "@Embeddable"
+ });
+ addAnnotation
+ (getIdentifiable_Id(),
+ source,
+ new String[] {
+ "value", "@Id\n@GeneratedValue"
+ });
+ addAnnotation
+ (getIdentifiable_Version(),
+ source,
+ new String[] {
+ "value", "@Version"
+ });
+ }
+
+ /**
+ * <!-- 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
+ */
+ public interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Test <em>Test</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Test
+ * @see org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.SuppressinterfacesPackage#getTest()
+ * @generated
+ */
+ public static final EClass TEST = eINSTANCE.getTest();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute TEST__NAME = eINSTANCE.getTest_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Test Embedded</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EReference TEST__TEST_EMBEDDED = eINSTANCE.getTest_TestEmbedded();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.TestEmbedded <em>Test Embedded</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.TestEmbedded
+ * @see org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.SuppressinterfacesPackage#getTestEmbedded()
+ * @generated
+ */
+ public static final EClass TEST_EMBEDDED = eINSTANCE.getTestEmbedded();
+
+ /**
+ * The meta object literal for the '<em><b>Name Embedded</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute TEST_EMBEDDED__NAME_EMBEDDED = eINSTANCE.getTestEmbedded_NameEmbedded();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Identifiable <em>Identifiable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Identifiable
+ * @see org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.SuppressinterfacesPackage#getIdentifiable()
+ * @generated
+ */
+ public static final EClass IDENTIFIABLE = eINSTANCE.getIdentifiable();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute IDENTIFIABLE__ID = eINSTANCE.getIdentifiable_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Version</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute IDENTIFIABLE__VERSION = eINSTANCE.getIdentifiable_Version();
+
+ }
+
+} //SuppressinterfacesPackage
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/Test.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/Test.java
new file mode 100755
index 000000000..29e5df056
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/Test.java
@@ -0,0 +1,251 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Test.java,v 1.1 2010/04/22 17:57:47 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Test</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Test#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Test#getTestEmbedded <em>Test Embedded</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.SuppressinterfacesPackage#getTest()
+ * @model kind="class"
+ * @generated
+ */
+public class Test extends Identifiable {
+ /**
+ * 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 #getTestEmbedded() <em>Test Embedded</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTestEmbedded()
+ * @generated
+ * @ordered
+ */
+ protected TestEmbedded testEmbedded;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Test() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SuppressinterfacesPackage.Literals.TEST;
+ }
+
+ /**
+ * 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.eclipselink.examples.suppressinterfaces.SuppressinterfacesPackage#getTest_Name()
+ * @model
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Test#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
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SuppressinterfacesPackage.TEST__NAME, oldName, name));
+ }
+
+ /**
+ * Returns the value of the '<em><b>Test Embedded</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Test Embedded</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Test Embedded</em>' reference.
+ * @see #setTestEmbedded(TestEmbedded)
+ * @see org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.SuppressinterfacesPackage#getTest_TestEmbedded()
+ * @model annotation="teneo.jpa value='@Embedded'"
+ * @generated
+ */
+ public TestEmbedded getTestEmbedded() {
+ if (testEmbedded != null && testEmbedded.eIsProxy()) {
+ InternalEObject oldTestEmbedded = (InternalEObject)testEmbedded;
+ testEmbedded = (TestEmbedded)eResolveProxy(oldTestEmbedded);
+ if (testEmbedded != oldTestEmbedded) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SuppressinterfacesPackage.TEST__TEST_EMBEDDED, oldTestEmbedded, testEmbedded));
+ }
+ }
+ return testEmbedded;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TestEmbedded basicGetTestEmbedded() {
+ return testEmbedded;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Test#getTestEmbedded <em>Test Embedded</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Test Embedded</em>' reference.
+ * @see #getTestEmbedded()
+ * @generated
+ */
+ public void setTestEmbedded(TestEmbedded newTestEmbedded) {
+ TestEmbedded oldTestEmbedded = testEmbedded;
+ testEmbedded = newTestEmbedded;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SuppressinterfacesPackage.TEST__TEST_EMBEDDED, oldTestEmbedded, testEmbedded));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SuppressinterfacesPackage.TEST__NAME:
+ return getName();
+ case SuppressinterfacesPackage.TEST__TEST_EMBEDDED:
+ if (resolve) return getTestEmbedded();
+ return basicGetTestEmbedded();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SuppressinterfacesPackage.TEST__NAME:
+ setName((String)newValue);
+ return;
+ case SuppressinterfacesPackage.TEST__TEST_EMBEDDED:
+ setTestEmbedded((TestEmbedded)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SuppressinterfacesPackage.TEST__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case SuppressinterfacesPackage.TEST__TEST_EMBEDDED:
+ setTestEmbedded((TestEmbedded)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SuppressinterfacesPackage.TEST__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case SuppressinterfacesPackage.TEST__TEST_EMBEDDED:
+ return testEmbedded != 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(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} // Test
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/TestEmbedded.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/TestEmbedded.java
new file mode 100755
index 000000000..d417e1907
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/TestEmbedded.java
@@ -0,0 +1,179 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TestEmbedded.java,v 1.1 2010/04/22 17:57:47 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Test Embedded</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.TestEmbedded#getNameEmbedded <em>Name Embedded</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.SuppressinterfacesPackage#getTestEmbedded()
+ * @model kind="class"
+ * annotation="teneo.jpa value='@Embeddable'"
+ * @generated
+ */
+public class TestEmbedded extends EObjectImpl implements EObject {
+ /**
+ * The default value of the '{@link #getNameEmbedded() <em>Name Embedded</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNameEmbedded()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EMBEDDED_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNameEmbedded() <em>Name Embedded</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNameEmbedded()
+ * @generated
+ * @ordered
+ */
+ protected String nameEmbedded = NAME_EMBEDDED_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TestEmbedded() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SuppressinterfacesPackage.Literals.TEST_EMBEDDED;
+ }
+
+ /**
+ * Returns the value of the '<em><b>Name Embedded</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name Embedded</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 Embedded</em>' attribute.
+ * @see #setNameEmbedded(String)
+ * @see org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.SuppressinterfacesPackage#getTestEmbedded_NameEmbedded()
+ * @model
+ * @generated
+ */
+ public String getNameEmbedded() {
+ return nameEmbedded;
+ }
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.TestEmbedded#getNameEmbedded <em>Name Embedded</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name Embedded</em>' attribute.
+ * @see #getNameEmbedded()
+ * @generated
+ */
+ public void setNameEmbedded(String newNameEmbedded) {
+ String oldNameEmbedded = nameEmbedded;
+ nameEmbedded = newNameEmbedded;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SuppressinterfacesPackage.TEST_EMBEDDED__NAME_EMBEDDED, oldNameEmbedded, nameEmbedded));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SuppressinterfacesPackage.TEST_EMBEDDED__NAME_EMBEDDED:
+ return getNameEmbedded();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SuppressinterfacesPackage.TEST_EMBEDDED__NAME_EMBEDDED:
+ setNameEmbedded((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SuppressinterfacesPackage.TEST_EMBEDDED__NAME_EMBEDDED:
+ setNameEmbedded(NAME_EMBEDDED_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SuppressinterfacesPackage.TEST_EMBEDDED__NAME_EMBEDDED:
+ return NAME_EMBEDDED_EDEFAULT == null ? nameEmbedded != null : !NAME_EMBEDDED_EDEFAULT.equals(nameEmbedded);
+ }
+ 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(" (nameEmbedded: ");
+ result.append(nameEmbedded);
+ result.append(')');
+ return result.toString();
+ }
+
+} // TestEmbedded
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/util/SuppressinterfacesAdapterFactory.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/util/SuppressinterfacesAdapterFactory.java
new file mode 100755
index 000000000..3f518c8aa
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/util/SuppressinterfacesAdapterFactory.java
@@ -0,0 +1,160 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SuppressinterfacesAdapterFactory.java,v 1.2 2010/04/22 17:57:52 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.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.eclipselink.examples.suppressinterfaces.*;
+
+/**
+ * <!-- 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.eclipselink.examples.suppressinterfaces.SuppressinterfacesPackage
+ * @generated
+ */
+public class SuppressinterfacesAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SuppressinterfacesPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SuppressinterfacesAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = SuppressinterfacesPackage.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 SuppressinterfacesSwitch<Adapter> modelSwitch =
+ new SuppressinterfacesSwitch<Adapter>() {
+ @Override
+ public Adapter caseTest(Test object) {
+ return createTestAdapter();
+ }
+ @Override
+ public Adapter caseTestEmbedded(TestEmbedded object) {
+ return createTestEmbeddedAdapter();
+ }
+ @Override
+ public Adapter caseIdentifiable(Identifiable object) {
+ return createIdentifiableAdapter();
+ }
+ @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.eclipselink.examples.suppressinterfaces.Test <em>Test</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.eclipselink.examples.suppressinterfaces.Test
+ * @generated
+ */
+ public Adapter createTestAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.TestEmbedded <em>Test Embedded</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.eclipselink.examples.suppressinterfaces.TestEmbedded
+ * @generated
+ */
+ public Adapter createTestEmbeddedAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.Identifiable <em>Identifiable</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.eclipselink.examples.suppressinterfaces.Identifiable
+ * @generated
+ */
+ public Adapter createIdentifiableAdapter() {
+ 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;
+ }
+
+} //SuppressinterfacesAdapterFactory
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/util/SuppressinterfacesSwitch.java b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/util/SuppressinterfacesSwitch.java
new file mode 100755
index 000000000..b384bce8a
--- /dev/null
+++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/org/eclipse/emf/teneo/eclipselink/examples/suppressinterfaces/util/SuppressinterfacesSwitch.java
@@ -0,0 +1,173 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SuppressinterfacesSwitch.java,v 1.2 2010/04/22 17:57:52 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.teneo.eclipselink.examples.suppressinterfaces.*;
+
+/**
+ * <!-- 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.eclipselink.examples.suppressinterfaces.SuppressinterfacesPackage
+ * @generated
+ */
+public class SuppressinterfacesSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SuppressinterfacesPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SuppressinterfacesSwitch() {
+ if (modelPackage == null) {
+ modelPackage = SuppressinterfacesPackage.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 SuppressinterfacesPackage.TEST: {
+ Test test = (Test)theEObject;
+ T result = caseTest(test);
+ if (result == null) result = caseIdentifiable(test);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SuppressinterfacesPackage.TEST_EMBEDDED: {
+ TestEmbedded testEmbedded = (TestEmbedded)theEObject;
+ T result = caseTestEmbedded(testEmbedded);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SuppressinterfacesPackage.IDENTIFIABLE: {
+ Identifiable identifiable = (Identifiable)theEObject;
+ T result = caseIdentifiable(identifiable);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Test</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>Test</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTest(Test object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Test Embedded</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>Test Embedded</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTestEmbedded(TestEmbedded object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Identifiable</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>Identifiable</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIdentifiable(Identifiable 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;
+ }
+
+} //SuppressinterfacesSwitch

Back to the top