Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'core/org.eclipse.emf.teneo.annotations')
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/.classpath7
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/.cvsignore1
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/.project40
-rw-r--r--core/org.eclipse.emf.teneo.annotations/.settings/.jsdtscope4
-rw-r--r--core/org.eclipse.emf.teneo.annotations/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--core/org.eclipse.emf.teneo.annotations/.settings/org.eclipse.wst.common.project.facet.core.xml3
-rw-r--r--core/org.eclipse.emf.teneo.annotations/.settings/org.eclipse.wst.jsdt.ui.superType.container1
-rw-r--r--core/org.eclipse.emf.teneo.annotations/.settings/org.eclipse.wst.jsdt.ui.superType.name1
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/META-INF/MANIFEST.MF19
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/about.html24
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/about.ini17
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/about.properties46
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/build.properties28
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/copyright.txt8
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/epl-v10.html320
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/license.html319
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/model/pamodel.ecore297
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/model/pannotation.ecore489
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/model/pannotation.genmodel324
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/modeling32.pngbin0 -> 2414 bytes
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/plugin.properties35
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/plugin.xml27
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/AnnotationUtil.java69
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEAttribute.java244
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEClass.java534
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEDataType.java297
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEModelElement.java95
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEPackage.java169
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEReference.java322
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEStructuralFeature.java134
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedETypedElement.java196
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedModel.java153
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PamodelFactory.java82
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PamodelPackage.java2716
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEAttributeImpl.java579
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEClassImpl.java1273
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEDataTypeImpl.java724
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEModelElementImpl.java252
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEPackageImpl.java395
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEReferenceImpl.java758
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEStructuralFeatureImpl.java354
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedETypedElementImpl.java494
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedModelImpl.java684
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PamodelFactoryImpl.java159
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PamodelPackageImpl.java1375
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/util/PamodelAdapterFactory.java275
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/util/PamodelSwitch.java292
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/util/PamodelValidator.java1192
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEAttributeValidator.java37
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEClassValidator.java60
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEDataTypeValidator.java42
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEModelElementValidator.java25
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEPackageValidator.java37
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEReferenceValidator.java46
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEStructuralFeatureValidator.java32
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedETypedElementValidator.java34
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedModelValidator.java22
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/AssociationOverride.java69
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/AttributeOverride.java76
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Basic.java81
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/CascadeType.java320
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Column.java447
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/DiscriminatorColumn.java186
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/DiscriminatorType.java239
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/DiscriminatorValue.java51
-rw-r--r--core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/EAVMapping.java21
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Embeddable.java21
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Embedded.java20
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/EmbeddedId.java21
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Entity.java77
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/EnumType.java212
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Enumerated.java54
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/External.java53
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/FetchType.java237
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/ForeignKey.java53
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/GeneratedValue.java80
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/GenerationType.java316
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Id.java20
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/IdClass.java49
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Inheritance.java54
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/InheritanceType.java239
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/JoinColumn.java264
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/JoinTable.java154
-rw-r--r--core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/ListIndexColumn.java53
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Lob.java20
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/LobType.java137
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/ManyToMany.java158
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/ManyToOne.java154
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/MapKey.java49
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/MappedSuperclass.java21
-rw-r--r--core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/NoEAVMapping.java21
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/OneToMany.java184
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/OneToOne.java179
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/OptimizerType.java239
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/OrderBy.java50
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/PAnnotation.java91
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/PannotationFactory.java360
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/PannotationPackage.java5370
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/PrimaryKeyJoinColumn.java102
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/SecondaryTable.java138
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/SequenceGenerator.java184
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/SequenceStyleGenerator.java167
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Table.java120
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/TableGenerator.java304
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Temporal.java54
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/TemporalType.java239
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Transient.java19
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/UniqueConstraint.java43
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Version.java20
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/AssociationOverrideImpl.java206
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/AttributeOverrideImpl.java244
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/BasicImpl.java218
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/ColumnImpl.java857
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/DiscriminatorColumnImpl.java441
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/DiscriminatorValueImpl.java163
-rw-r--r--core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/EAVMappingImpl.java42
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/EmbeddableImpl.java42
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/EmbeddedIdImpl.java42
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/EmbeddedImpl.java42
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/EntityImpl.java217
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/EnumeratedImpl.java164
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/ExternalImpl.java163
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/ForeignKeyImpl.java160
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/GeneratedValueImpl.java218
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/IdClassImpl.java163
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/IdImpl.java42
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/InheritanceImpl.java165
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/JoinColumnImpl.java575
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/JoinTableImpl.java402
-rw-r--r--core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/ListIndexColumnImpl.java163
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/LobImpl.java42
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/ManyToManyImpl.java368
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/ManyToOneImpl.java345
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/MapKeyImpl.java163
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/MappedSuperclassImpl.java42
-rw-r--r--core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/NoEAVMappingImpl.java42
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/OneToManyImpl.java428
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/OneToOneImpl.java397
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/OrderByImpl.java163
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/PAnnotationImpl.java352
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/PannotationFactoryImpl.java794
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/PannotationPackageImpl.java2740
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/PrimaryKeyJoinColumnImpl.java271
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/SecondaryTableImpl.java365
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/SequenceGeneratorImpl.java393
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/SequenceStyleGeneratorImpl.java380
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/TableGeneratorImpl.java686
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/TableImpl.java328
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/TemporalImpl.java164
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/TransientImpl.java42
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/UniqueConstraintImpl.java148
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/VersionImpl.java42
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/util/PannotationAdapterFactory.java883
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/util/PannotationSwitch.java1051
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/util/PannotationValidator.java1814
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/AssociationOverrideValidator.java24
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/AttributeOverrideValidator.java22
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/BasicValidator.java22
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/ColumnValidator.java33
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/DiscriminatorColumnValidator.java27
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/DiscriminatorValueValidator.java20
-rw-r--r--core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/EAVMappingValidator.java19
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/EmbeddableValidator.java19
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/EmbeddedIdValidator.java19
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/EmbeddedValidator.java19
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/EntityValidator.java22
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/EnumeratedValidator.java21
-rw-r--r--core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/ExternalValidator.java20
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/ForeignKeyValidator.java20
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/GeneratedValueValidator.java22
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/IdClassValidator.java20
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/IdValidator.java19
-rw-r--r--core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/IndexColumnValidator.java20
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/InheritanceValidator.java21
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/JoinColumnValidator.java27
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/JoinTableValidator.java29
-rw-r--r--core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/ListIndexColumnValidator.java20
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/LobValidator.java19
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/ManyToManyValidator.java28
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/ManyToOneValidator.java27
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/MapKeyValidator.java20
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/MappedSuperclassValidator.java19
-rw-r--r--core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/NoEAVMappingValidator.java19
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/OneToManyValidator.java29
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/OneToOneValidator.java28
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/OrderByValidator.java20
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/PAnnotationValidator.java21
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/PrimaryKeyJoinColumnValidator.java22
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/SecondaryTableValidator.java28
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/SequenceGeneratorValidator.java23
-rw-r--r--core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/SequenceStyleGeneratorValidator.java25
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/TableGeneratorValidator.java32
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/TableValidator.java26
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/TemporalValidator.java21
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/TransientValidator.java19
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/UniqueConstraintValidator.java21
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/VersionValidator.java19
-rwxr-xr-xcore/org.eclipse.emf.teneo.annotations/text/description.txt331
198 files changed, 46518 insertions, 0 deletions
diff --git a/core/org.eclipse.emf.teneo.annotations/.classpath b/core/org.eclipse.emf.teneo.annotations/.classpath
new file mode 100755
index 000000000..304e86186
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/.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/core/org.eclipse.emf.teneo.annotations/.cvsignore b/core/org.eclipse.emf.teneo.annotations/.cvsignore
new file mode 100755
index 000000000..ba077a403
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/.cvsignore
@@ -0,0 +1 @@
+bin
diff --git a/core/org.eclipse.emf.teneo.annotations/.project b/core/org.eclipse.emf.teneo.annotations/.project
new file mode 100755
index 000000000..260fbd9cb
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/.project
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emf.teneo.annotations</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.validation.validationbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+ </natures>
+</projectDescription>
diff --git a/core/org.eclipse.emf.teneo.annotations/.settings/.jsdtscope b/core/org.eclipse.emf.teneo.annotations/.settings/.jsdtscope
new file mode 100644
index 000000000..0e4b119ca
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/.settings/.jsdtscope
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="output" path=""/>
+</classpath>
diff --git a/core/org.eclipse.emf.teneo.annotations/.settings/org.eclipse.jdt.core.prefs b/core/org.eclipse.emf.teneo.annotations/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..df8b91a85
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+#Thu Jan 06 13:45:03 CET 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/core/org.eclipse.emf.teneo.annotations/.settings/org.eclipse.wst.common.project.facet.core.xml b/core/org.eclipse.emf.teneo.annotations/.settings/org.eclipse.wst.common.project.facet.core.xml
new file mode 100644
index 000000000..88ceb05cc
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+</faceted-project>
diff --git a/core/org.eclipse.emf.teneo.annotations/.settings/org.eclipse.wst.jsdt.ui.superType.container b/core/org.eclipse.emf.teneo.annotations/.settings/org.eclipse.wst.jsdt.ui.superType.container
new file mode 100644
index 000000000..3bd5d0a48
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/.settings/org.eclipse.wst.jsdt.ui.superType.container
@@ -0,0 +1 @@
+org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file
diff --git a/core/org.eclipse.emf.teneo.annotations/.settings/org.eclipse.wst.jsdt.ui.superType.name b/core/org.eclipse.emf.teneo.annotations/.settings/org.eclipse.wst.jsdt.ui.superType.name
new file mode 100644
index 000000000..05bd71b6e
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/.settings/org.eclipse.wst.jsdt.ui.superType.name
@@ -0,0 +1 @@
+Window \ No newline at end of file
diff --git a/core/org.eclipse.emf.teneo.annotations/META-INF/MANIFEST.MF b/core/org.eclipse.emf.teneo.annotations/META-INF/MANIFEST.MF
new file mode 100755
index 000000000..f02b1fc4e
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/META-INF/MANIFEST.MF
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.emf.teneo.annotations;singleton:=true
+Bundle-Version: 1.2.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.emf.teneo.annotations.pamodel;version="1.1.2",
+ org.eclipse.emf.teneo.annotations.pamodel.impl;version="1.1.2",
+ org.eclipse.emf.teneo.annotations.pamodel.util;version="1.1.2",
+ org.eclipse.emf.teneo.annotations.pannotation;version="1.1.2",
+ org.eclipse.emf.teneo.annotations.pannotation.impl;version="1.1.2",
+ org.eclipse.emf.teneo.annotations.pannotation.util;version="1.1.2"
+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)";visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.5.0,3.0.0)"
+Bundle-ActivationPolicy: lazy
diff --git a/core/org.eclipse.emf.teneo.annotations/about.html b/core/org.eclipse.emf.teneo.annotations/about.html
new file mode 100755
index 000000000..5a279453c
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/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/core/org.eclipse.emf.teneo.annotations/about.ini b/core/org.eclipse.emf.teneo.annotations/about.ini
new file mode 100755
index 000000000..1d17e5539
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/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/core/org.eclipse.emf.teneo.annotations/about.properties b/core/org.eclipse.emf.teneo.annotations/about.properties
new file mode 100755
index 000000000..9e30ce630
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/about.properties
@@ -0,0 +1,46 @@
+#/**
+# * <copyright>
+# *
+# * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+# * All rights reserved. This program and the accompanying materials
+# * are made available under the terms of the Eclipse Public License v1.0
+# * which accompanies this distribution, and is available at
+# * http://www.eclipse.org/legal/epl-v10.html
+# *
+# * Contributors:
+# * Martin Taal - Initial API and implementation
+# *
+# * </copyright>
+# *
+# * $Id: about.properties,v 1.4 2009/02/24 12:04:59 mtaal Exp $
+# */
+
+# NLS_MESSAGEFORMAT_VAR
+
+# ==============================================================================
+# Do not change the properties between this line and the last line containing:
+# %%% END OF TRANSLATED PROPERTIES %%%
+# Instead, either redefine an existing property, or create a new property,
+# append it to the end of the file, and change the code to use the new name.
+# ==============================================================================
+
+# about.properties
+# contains externalized strings for about.ini
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# fill-ins are supplied by about.mappings
+# This file should be translated.
+
+featureName=Eclipse Modeling Framework Technology Object Relational Persistence Annotations
+
+featureText=Eclipse Modeling Framework Technology Object Relational Persistence Annotations \n\
+Version: {featureVersion}\n\
+Build id: {0}\n\
+\n\
+(c) Copyright Springsite BV (The Netherlands) and others, 2006-2009. All rights reserved.\n\
+\n\
+Visit http://www.eclipse.org/emft
+
+# ==============================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# The above properties have been shipped for translation.
+# ==============================================================================
diff --git a/core/org.eclipse.emf.teneo.annotations/build.properties b/core/org.eclipse.emf.teneo.annotations/build.properties
new file mode 100755
index 000000000..8c9e2d011
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/build.properties
@@ -0,0 +1,28 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id: build.properties,v 1.13 2011/01/06 12:47:37 mtaal Exp $
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html,\
+ copyright.txt,\
+ epl-v10.html,\
+ license.html,\
+ modeling32.png,\
+ about.ini,\
+ about.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+src.includes = about.html,\
+ about.ini,\
+ about.properties,\
+ copyright.txt,\
+ epl-v10.html,\
+ license.html,\
+ modeling32.png
diff --git a/core/org.eclipse.emf.teneo.annotations/copyright.txt b/core/org.eclipse.emf.teneo.annotations/copyright.txt
new file mode 100755
index 000000000..00a634676
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/copyright.txt
@@ -0,0 +1,8 @@
+Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
+
+Contributors:
+ Martin Taal \ No newline at end of file
diff --git a/core/org.eclipse.emf.teneo.annotations/epl-v10.html b/core/org.eclipse.emf.teneo.annotations/epl-v10.html
new file mode 100755
index 000000000..62b1f6f04
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/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/core/org.eclipse.emf.teneo.annotations/license.html b/core/org.eclipse.emf.teneo.annotations/license.html
new file mode 100755
index 000000000..d7b88e941
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/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/core/org.eclipse.emf.teneo.annotations/model/pamodel.ecore b/core/org.eclipse.emf.teneo.annotations/model/pamodel.ecore
new file mode 100755
index 000000000..482dd4e6e
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/model/pamodel.ecore
@@ -0,0 +1,297 @@
+<?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="pamodel"
+ nsURI="http://www.eclipse.org/emf/teneo/elver/2005/pamodel" nsPrefix="org.elver.pamodel">
+ <eClassifiers xsi:type="ecore:EClass" name="PAnnotatedEModelElement" abstract="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="PAnnotationElementCommutes"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="modelElement" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//ENamedElement"
+ derived="true">
+ <eAnnotations source="teneo/internal/PersistenceMapping">
+ <details key="ignore" value="true"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="transient" eType="ecore:EClass pannotation.ecore#//Transient"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PAnnotatedModel">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="AtMostOnePackage DistinctGenerators"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="paEPackages" upperBound="-1"
+ eType="#//PAnnotatedEPackage" containment="true" eOpposite="#//PAnnotatedEPackage/paModel"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PAnnotatedEPackage" eSuperTypes="#//PAnnotatedEModelElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="AtMostOneEClass"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="paModel" eType="#//PAnnotatedModel"
+ eOpposite="#//PAnnotatedModel/paEPackages">
+ <eAnnotations source="teneo/internal/PersistenceMapping">
+ <details key="ignore" value="true"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="modelEPackage" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EPackage"
+ changeable="false" volatile="true" transient="true">
+ <eAnnotations source="teneo/internal/PersistenceMapping">
+ <details key="ignore" value="true"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="paEClasses" upperBound="-1"
+ eType="#//PAnnotatedEClass" containment="true" eOpposite="#//PAnnotatedEClass/paEPackage">
+ <eAnnotations source="teneo/internal/PersistenceMapping">
+ <details key="ignore" value="true"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sequenceGenerators" upperBound="-1"
+ eType="ecore:EClass pannotation.ecore#//SequenceGenerator" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="tableGenerators" upperBound="-1"
+ eType="ecore:EClass pannotation.ecore#//TableGenerator" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="paEDataTypes" upperBound="-1"
+ eType="#//PAnnotatedEDataType" containment="true" eOpposite="#//PAnnotatedEDataType/paEPackage">
+ <eAnnotations source="teneo/internal/PersistenceMapping">
+ <details key="ignore" value="true"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sequenceStyleGenerators"
+ upperBound="-1" eType="ecore:EClass pannotation.ecore#//SequenceStyleGenerator"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PAnnotatedEClass" eSuperTypes="#//PAnnotatedEModelElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="SameEFeatures EPackageCommutes ProperPrimaryKey EntityOrEmbeddableOrMappedSuper&#x9;OverriddenAreDefined ProperInheritance ProperDiscriminator SingleTableForSingleStrategy ProperPKJoin"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="paEPackage" eType="#//PAnnotatedEPackage"
+ eOpposite="#//PAnnotatedEPackage/paEClasses">
+ <eAnnotations source="teneo/internal/PersistenceMapping">
+ <details key="ignore" value="true"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="modelEClass" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass"
+ changeable="false" volatile="true" transient="true">
+ <eAnnotations source="teneo/internal/PersistenceMapping">
+ <details key="ignore" value="true"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="paEStructuralFeatures"
+ upperBound="-1" eType="#//PAnnotatedEStructuralFeature" containment="true"
+ eOpposite="#//PAnnotatedEStructuralFeature/paEClass">
+ <eAnnotations source="teneo/internal/PersistenceMapping">
+ <details key="ignore" value="true"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="attributeOverrides" upperBound="-1"
+ eType="ecore:EClass pannotation.ecore#//AttributeOverride" containment="true">
+ <eAnnotations source="elver.jpa">
+ <details key="annotationName" value="AttributeOverrides"/>
+ <details key="annotationClass" value="javax.persistence.AttributeOverrides"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="discriminatorColumn" eType="ecore:EClass pannotation.ecore#//DiscriminatorColumn"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="discriminatorValue" eType="ecore:EClass pannotation.ecore#//DiscriminatorValue"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="embeddable" eType="ecore:EClass pannotation.ecore#//Embeddable"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="mappedSuperclass" eType="ecore:EClass pannotation.ecore#//MappedSuperclass"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="entity" eType="ecore:EClass pannotation.ecore#//Entity"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="idClass" eType="ecore:EClass pannotation.ecore#//IdClass"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="inheritance" eType="ecore:EClass pannotation.ecore#//Inheritance"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="primaryKeyJoinColumns"
+ upperBound="-1" eType="ecore:EClass pannotation.ecore#//PrimaryKeyJoinColumn"
+ containment="true">
+ <eAnnotations source="elver.jpa">
+ <details key="annotationName" value="PrimaryKeyJoinColumns"/>
+ <details key="annotationClass" value="javax.persistence.PrimaryKeyJoinColumns"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="secondaryTables" upperBound="-1"
+ eType="ecore:EClass pannotation.ecore#//SecondaryTable" containment="true">
+ <eAnnotations source="elver.jpa">
+ <details key="annotationName" value="SecondaryTables"/>
+ <details key="annotationClass" value="javax.persistence.SecondaryTables"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="table" eType="ecore:EClass pannotation.ecore#//Table"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="tableGenerator" eType="ecore:EClass pannotation.ecore#//TableGenerator"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="associationOverrides" upperBound="-1"
+ eType="ecore:EClass pannotation.ecore#//AssociationOverride" containment="true">
+ <eAnnotations source="elver.jpa">
+ <details key="annotationName" value="AssociationOverrides"/>
+ <details key="annotationClass" value="javax.persistence.AssociationOverrides"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="eavMapping" eType="ecore:EClass pannotation.ecore#//EAVMapping"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="noEAVMapping" eType="ecore:EClass pannotation.ecore#//NoEAVMapping"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sequenceGenerators" upperBound="-1"
+ eType="ecore:EClass pannotation.ecore#//SequenceGenerator" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PAnnotatedEStructuralFeature" abstract="true"
+ eSuperTypes="#//PAnnotatedETypedElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="EClassCommutes TransientNotAnnotated"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="paEClass" eType="#//PAnnotatedEClass"
+ eOpposite="#//PAnnotatedEClass/paEStructuralFeatures">
+ <eAnnotations source="teneo/internal/PersistenceMapping">
+ <details key="ignore" value="true"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="modelEStructuralFeature"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStructuralFeature"
+ changeable="false" volatile="true" transient="true" derived="true">
+ <eAnnotations source="teneo/internal/PersistenceMapping">
+ <details key="ignore" value="true"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="foreignKey" eType="ecore:EClass pannotation.ecore#//ForeignKey"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="listIndexColumn" ordered="false"
+ eType="ecore:EClass pannotation.ecore#//ListIndexColumn" containment="true">
+ <eAnnotations source="elver.jpa">
+ <details key="annotationName" value="JoinColumns"/>
+ <details key="annotationClass" value="javax.persistence.JoinColumns"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PAnnotatedEAttribute" eSuperTypes="#//PAnnotatedEStructuralFeature">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="NotAnnotatedAsBasic GeneratedOnId DefinedGenerator IdOnEntityOrMappedSuper"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="modelEAttribute" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EAttribute"
+ changeable="false" volatile="true" transient="true">
+ <eAnnotations source="teneo/internal/PersistenceMapping">
+ <details key="ignore" value="true"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="basic" eType="ecore:EClass pannotation.ecore#//Basic"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="enumerated" eType="ecore:EClass pannotation.ecore#//Enumerated"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="generatedValue" eType="ecore:EClass pannotation.ecore#//GeneratedValue"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="id" eType="ecore:EClass pannotation.ecore#//Id"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="lob" eType="ecore:EClass pannotation.ecore#//Lob"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="temporal" eType="ecore:EClass pannotation.ecore#//Temporal"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="version" eType="ecore:EClass pannotation.ecore#//Version"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PAnnotatedEReference" eSuperTypes="#//PAnnotatedEStructuralFeature">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="NotAnnotatedAsEmbed AssociationAgreeWithReference AssociationWellFormed"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="modelEReference" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EReference"
+ changeable="false" volatile="true" transient="true">
+ <eAnnotations source="teneo/internal/PersistenceMapping">
+ <details key="ignore" value="true"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="embedded" eType="ecore:EClass pannotation.ecore#//Embedded"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="embeddedId" eType="ecore:EClass pannotation.ecore#//EmbeddedId"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="manyToMany" eType="ecore:EClass pannotation.ecore#//ManyToMany"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="manyToOne" eType="ecore:EClass pannotation.ecore#//ManyToOne"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="mapKey" eType="ecore:EClass pannotation.ecore#//MapKey"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="oneToOne" eType="ecore:EClass pannotation.ecore#//OneToOne"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="orderBy" eType="ecore:EClass pannotation.ecore#//OrderBy"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="primaryKeyJoinColumns"
+ upperBound="-1" eType="ecore:EClass pannotation.ecore#//PrimaryKeyJoinColumn"
+ containment="true">
+ <eAnnotations source="elver.jpa">
+ <details key="annotationName" value="PrimaryKeyJoinColumns"/>
+ <details key="annotationClass" value="javax.persistence.PrimaryKeyJoinColumns"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="associationOverrides" upperBound="-1"
+ eType="ecore:EClass pannotation.ecore#//AssociationOverride" containment="true">
+ <eAnnotations source="elver.jpa">
+ <details key="annotationName" value="AssociationOverrides"/>
+ <details key="annotationClass" value="javax.persistence.AssociationOverrides"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="external" eType="ecore:EClass pannotation.ecore#//External"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PAnnotatedETypedElement" abstract="true"
+ eSuperTypes="#//PAnnotatedEModelElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="EClassCommutes TransientNotAnnotated"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="attributeOverrides" upperBound="-1"
+ eType="ecore:EClass pannotation.ecore#//AttributeOverride" containment="true">
+ <eAnnotations source="elver.jpa">
+ <details key="annotationName" value="AttributeOverrides"/>
+ <details key="annotationClass" value="javax.persistence.AttributeOverrides"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="joinTable" eType="ecore:EClass pannotation.ecore#//JoinTable"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="oneToMany" eType="ecore:EClass pannotation.ecore#//OneToMany"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sequenceGenerator" eType="ecore:EClass pannotation.ecore#//SequenceGenerator"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="tableGenerators" upperBound="-1"
+ eType="ecore:EClass pannotation.ecore#//TableGenerator" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="joinColumns" upperBound="-1"
+ eType="ecore:EClass pannotation.ecore#//JoinColumn" containment="true">
+ <eAnnotations source="elver.jpa">
+ <details key="annotationName" value="JoinColumns"/>
+ <details key="annotationClass" value="javax.persistence.JoinColumns"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="column" eType="ecore:EClass pannotation.ecore#//Column"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PAnnotatedEDataType" eSuperTypes="#//PAnnotatedEModelElement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="NotAnnotatedAsBasic GeneratedOnId DefinedGenerator IdOnEntityOrMappedSuper"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="modelEDataType" lowerBound="1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EDataType" changeable="false"
+ volatile="true" transient="true">
+ <eAnnotations source="teneo/internal/PersistenceMapping">
+ <details key="ignore" value="true"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="basic" eType="ecore:EClass pannotation.ecore#//Basic"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="enumerated" eType="ecore:EClass pannotation.ecore#//Enumerated"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="generatedValue" eType="ecore:EClass pannotation.ecore#//GeneratedValue"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="id" eType="ecore:EClass pannotation.ecore#//Id"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="lob" eType="ecore:EClass pannotation.ecore#//Lob"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="temporal" eType="ecore:EClass pannotation.ecore#//Temporal"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="version" eType="ecore:EClass pannotation.ecore#//Version"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="paEPackage" eType="#//PAnnotatedEPackage"
+ eOpposite="#//PAnnotatedEPackage/paEDataTypes">
+ <eAnnotations source="teneo/internal/PersistenceMapping">
+ <details key="ignore" value="true"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="column" eType="ecore:EClass pannotation.ecore#//Column"
+ containment="true"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/core/org.eclipse.emf.teneo.annotations/model/pannotation.ecore b/core/org.eclipse.emf.teneo.annotations/model/pannotation.ecore
new file mode 100755
index 000000000..3bf1eae22
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/model/pannotation.ecore
@@ -0,0 +1,489 @@
+<?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="pannotation"
+ nsURI="http://www.eclipse.org/emf/teneo/elver/2005/PAnnotation" nsPrefix="org.elver.annotation">
+ <eAnnotations source="http://www.eclipse.org/emf/2004/EmfaticAnnotationMap">
+ <details key="Target" value="teneo/internal/Target"/>
+ <details key="Unsupported" value="teneo/internal/Unsupported"/>
+ </eAnnotations>
+ <eAnnotations source="teneo.mapping.source">
+ <details key="0" value="http://annotation.elver.org/"/>
+ <details key="1" value="http://ejb.elver.org/"/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="PAnnotation" abstract="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="CompatibleEModelElementType AnnotationIsSupported"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="eModelElement" lowerBound="1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EModelElement">
+ <eAnnotations source="teneo/internal/PersistenceMapping">
+ <details key="ignore" value="true"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="generated" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AttributeOverride" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EClass"/>
+ <details key="1" value="EStructuralFeature"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="column" lowerBound="1"
+ eType="#//Column" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AssociationOverride" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EClass"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="joinColumns" lowerBound="1"
+ upperBound="-1" eType="#//JoinColumn" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Basic" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EAttribute"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="AllowedElementType"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="fetch" eType="#//FetchType"
+ defaultValueLiteral="EAGER"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="optional" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Column" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EStructuralFeature"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="ScalePrecisionForNumeric LengthForString"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="unique" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="nullable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true" unsettable="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="insertable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="updatable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="columnDefinition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="table" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="length" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ defaultValueLiteral="255" unsettable="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="precision" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ defaultValueLiteral="0" unsettable="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="scale" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ defaultValueLiteral="0" unsettable="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="uniqueKey" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="index" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DiscriminatorColumn" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EClass"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ defaultValueLiteral="DTYPE"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="discriminatorType" eType="#//DiscriminatorType"
+ defaultValueLiteral="STRING"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="columnDefinition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="length" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ defaultValueLiteral="31" unsettable="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="column" eType="#//Column"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DiscriminatorValue" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EClass"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="NoAbstract"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Embeddable" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EClass"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="NoInterface"/>
+ </eAnnotations>
+ <eAnnotations source="teneo/PeristenceMapping">
+ <details key="ignore" value="true"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Embedded" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EReference"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="EmbedByValue"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EmbeddedId" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EReference"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="EmbedByValue"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Entity" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EClass"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="NoInterface NoReservedName"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="extends" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Enumerated" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EStructuralFeature"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="AllowedElementType"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//EnumType"
+ defaultValueLiteral="ORDINAL"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="GeneratedValue" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EAttribute"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="strategy" eType="#//GenerationType"
+ defaultValueLiteral="AUTO"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="generator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Id" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EAttribute"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="AllowedElementType"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IdClass" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EClass"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Inheritance" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EClass"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="strategy" eType="#//InheritanceType"
+ defaultValueLiteral="SINGLE_TABLE"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="JoinColumn" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EClass"/>
+ <details key="1" value="EReference"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="referencedColumnName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="unique" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="nullable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true" unsettable="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="insertable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="updatable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="columnDefinition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="table" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="JoinTable" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EStructuralFeature"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="catalog" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="schema" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="joinColumns" upperBound="-1"
+ eType="#//JoinColumn" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="inverseJoinColumns" upperBound="-1"
+ eType="#//JoinColumn" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="uniqueConstraints" upperBound="-1"
+ eType="#//UniqueConstraint" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Lob" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EAttribute"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="AllowedType"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ManyToMany" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EReference"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="IsManyValued"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="targetEntity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cascade" upperBound="-1"
+ eType="#//CascadeType"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="fetch" eType="#//FetchType"
+ defaultValueLiteral="LAZY"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="mappedBy" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="indexed" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ManyToOne" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EReference"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="IsNotManyValued"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="targetEntity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cascade" upperBound="-1"
+ eType="#//CascadeType"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="fetch" eType="#//FetchType"
+ defaultValueLiteral="EAGER" unsettable="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="optional" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MapKey" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EStructuralFeature"/>
+ </eAnnotations>
+ <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="MappedSuperclass" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EClass"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="NoInterface"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="OneToMany" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EStructuralFeature"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="IsManyValued"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="targetEntity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cascade" upperBound="-1"
+ eType="#//CascadeType"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="fetch" eType="#//FetchType"
+ defaultValueLiteral="LAZY"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="mappedBy" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="indexed" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="unique" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="OneToOne" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EReference"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="IsNotManyValued"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="targetEntity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cascade" upperBound="-1"
+ eType="#//CascadeType"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="fetch" eType="#//FetchType"
+ defaultValueLiteral="EAGER" unsettable="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="optional" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="mappedBy" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="OrderBy" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EReference"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="WellFormedOrder IsManyValued"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PrimaryKeyJoinColumn" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EClass"/>
+ <details key="1" value="EReference"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="referencedColumnName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="columnDefinition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SecondaryTable" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EClass"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="catalog" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="schema" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="pkJoinColumns" upperBound="-1"
+ eType="#//PrimaryKeyJoinColumn" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="uniqueConstraints" upperBound="-1"
+ eType="#//UniqueConstraint" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SequenceGenerator" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EClass"/>
+ <details key="1" value="EStructuralFeature"/>
+ <details key="2" value="EPackage"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="sequenceName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="initialValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ defaultValueLiteral="1" unsettable="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="allocationSize" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ defaultValueLiteral="50" unsettable="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Table" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EClass"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="catalog" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="schema" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="uniqueConstraints" upperBound="-1"
+ eType="#//UniqueConstraint" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TableGenerator" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EClass"/>
+ <details key="1" value="EStructuralFeature"/>
+ <details key="2" value="EPackage"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="table" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="catalog" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="schema" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="pkColumnName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="valueColumnName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="pkColumnValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="initialValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ defaultValueLiteral="0" unsettable="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="allocationSize" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ defaultValueLiteral="50"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="uniqueConstraints" upperBound="-1"
+ eType="#//UniqueConstraint" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Temporal" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EAttribute"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="AllowedElementType"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//TemporalType"
+ defaultValueLiteral=""/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Transient" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EModelElement"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="UniqueConstraint" eSuperTypes="#//PAnnotation">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="columnNames" lowerBound="1"
+ upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Version" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EAttribute"/>
+ </eAnnotations>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="AllowedElementType"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="CascadeType">
+ <eLiterals name="ALL"/>
+ <eLiterals name="PERSIST" value="1"/>
+ <eLiterals name="MERGE" value="2"/>
+ <eLiterals name="REMOVE" value="3"/>
+ <eLiterals name="REFRESH" value="4"/>
+ <eLiterals name="NONE" value="5" literal="NONE"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="DiscriminatorType">
+ <eLiterals name="STRING"/>
+ <eLiterals name="CHAR" value="1"/>
+ <eLiterals name="INTEGER" value="2"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="EnumType">
+ <eLiterals name="ORDINAL"/>
+ <eLiterals name="STRING" value="1"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="FetchType">
+ <eLiterals name="LAZY"/>
+ <eLiterals name="EAGER" value="1"/>
+ <eLiterals name="EXTRA" value="2" literal="EXTRA"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="GenerationType">
+ <eLiterals name="TABLE"/>
+ <eLiterals name="SEQUENCE" value="1"/>
+ <eLiterals name="IDENTITY" value="2"/>
+ <eLiterals name="AUTO" value="3"/>
+ <eLiterals name="SEQUENCESTYLE" value="4" literal="SEQUENCESTYLE"/>
+ <eLiterals name="ASSIGNED" value="5" literal="ASSIGNED"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="InheritanceType">
+ <eLiterals name="SINGLE_TABLE"/>
+ <eLiterals name="TABLE_PER_CLASS" value="1"/>
+ <eLiterals name="JOINED" value="2"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="TemporalType">
+ <eLiterals name="DATE"/>
+ <eLiterals name="TIME" value="1"/>
+ <eLiterals name="TIMESTAMP" value="2"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ForeignKey" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EStructuralFeature"/>
+ </eAnnotations>
+ <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="SequenceStyleGenerator" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EClass"/>
+ <details key="1" value="EStructuralFeature"/>
+ <details key="2" value="EPackage"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="sequenceName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="initialValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ defaultValueLiteral="1"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="incrementSize" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ defaultValueLiteral="50"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="optimizer" eType="#//OptimizerType"
+ defaultValueLiteral="NONE"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="OptimizerType">
+ <eLiterals name="NONE" literal="NONE"/>
+ <eLiterals name="HILO" value="1" literal="HILO"/>
+ <eLiterals name="POOLED" value="2" literal="POOLED"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="External" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EReference"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EAVMapping" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EClass"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NoEAVMapping" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EClass"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ListIndexColumn" eSuperTypes="#//PAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EStructuralFeature"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/core/org.eclipse.emf.teneo.annotations/model/pannotation.genmodel b/core/org.eclipse.emf.teneo.annotations/model/pannotation.genmodel
new file mode 100755
index 000000000..088eb89e7
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/model/pannotation.genmodel
@@ -0,0 +1,324 @@
+<?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.annotations/src"
+ modelPluginID="org.eclipse.emf.teneo.annotations" modelName="Pannotation" importerID="org.eclipse.emf.importer.ecore"
+ complianceLevel="5.0" copyrightFields="false">
+ <foreignModel>pamodel.ecore</foreignModel>
+ <foreignModel>pannotation.ecore</foreignModel>
+ <genPackages prefix="Pamodel" basePackage="org.eclipse.emf.teneo.annotations" disposableProviderFactory="true"
+ ecorePackage="pamodel.ecore#/">
+ <genClasses image="false" ecoreClass="pamodel.ecore#//PAnnotatedEModelElement">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEModelElement/modelElement"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEModelElement/transient"/>
+ </genClasses>
+ <genClasses ecoreClass="pamodel.ecore#//PAnnotatedModel">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedModel/paEPackages"/>
+ </genClasses>
+ <genClasses ecoreClass="pamodel.ecore#//PAnnotatedEPackage">
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEPackage/paModel"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEPackage/modelEPackage"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEPackage/paEClasses"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEPackage/sequenceGenerators"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEPackage/tableGenerators"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEPackage/paEDataTypes"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEPackage/sequenceStyleGenerators"/>
+ </genClasses>
+ <genClasses ecoreClass="pamodel.ecore#//PAnnotatedEClass">
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEClass/paEPackage"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEClass/modelEClass"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEClass/paEStructuralFeatures"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEClass/attributeOverrides"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEClass/discriminatorColumn"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEClass/discriminatorValue"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEClass/embeddable"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEClass/mappedSuperclass"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEClass/entity"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEClass/idClass"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEClass/inheritance"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEClass/primaryKeyJoinColumns"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEClass/secondaryTables"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEClass/table"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEClass/tableGenerator"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEClass/associationOverrides"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEClass/eavMapping"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEClass/noEAVMapping"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEClass/sequenceGenerators"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="pamodel.ecore#//PAnnotatedEStructuralFeature">
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEStructuralFeature/paEClass"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEStructuralFeature/modelEStructuralFeature"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEStructuralFeature/foreignKey"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEStructuralFeature/listIndexColumn"/>
+ </genClasses>
+ <genClasses ecoreClass="pamodel.ecore#//PAnnotatedEAttribute">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEAttribute/modelEAttribute"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEAttribute/basic"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEAttribute/enumerated"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEAttribute/generatedValue"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEAttribute/id"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEAttribute/lob"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEAttribute/temporal"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEAttribute/version"/>
+ </genClasses>
+ <genClasses ecoreClass="pamodel.ecore#//PAnnotatedEReference">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEReference/modelEReference"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEReference/embedded"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEReference/embeddedId"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEReference/manyToMany"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEReference/manyToOne"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEReference/mapKey"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEReference/oneToOne"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEReference/orderBy"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEReference/primaryKeyJoinColumns"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEReference/associationOverrides"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEReference/external"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="pamodel.ecore#//PAnnotatedETypedElement">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedETypedElement/attributeOverrides"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedETypedElement/joinTable"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedETypedElement/oneToMany"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedETypedElement/sequenceGenerator"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedETypedElement/tableGenerators"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedETypedElement/joinColumns"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedETypedElement/column"/>
+ </genClasses>
+ <genClasses ecoreClass="pamodel.ecore#//PAnnotatedEDataType">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEDataType/modelEDataType"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEDataType/basic"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEDataType/enumerated"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEDataType/generatedValue"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEDataType/id"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEDataType/lob"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEDataType/temporal"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEDataType/version"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEDataType/paEPackage"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pamodel.ecore#//PAnnotatedEDataType/column"/>
+ </genClasses>
+ </genPackages>
+ <genPackages prefix="Pannotation" basePackage="org.eclipse.emf.teneo.annotations"
+ disposableProviderFactory="true" ecorePackage="pannotation.ecore#/">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="pannotation.ecore#//CascadeType">
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//CascadeType/ALL"/>
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//CascadeType/PERSIST"/>
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//CascadeType/MERGE"/>
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//CascadeType/REMOVE"/>
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//CascadeType/REFRESH"/>
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//CascadeType/NONE"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="pannotation.ecore#//DiscriminatorType">
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//DiscriminatorType/STRING"/>
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//DiscriminatorType/CHAR"/>
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//DiscriminatorType/INTEGER"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="pannotation.ecore#//EnumType">
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//EnumType/ORDINAL"/>
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//EnumType/STRING"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="pannotation.ecore#//FetchType">
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//FetchType/LAZY"/>
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//FetchType/EAGER"/>
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//FetchType/EXTRA"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="pannotation.ecore#//GenerationType">
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//GenerationType/TABLE"/>
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//GenerationType/SEQUENCE"/>
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//GenerationType/IDENTITY"/>
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//GenerationType/AUTO"/>
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//GenerationType/SEQUENCESTYLE"/>
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//GenerationType/ASSIGNED"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="pannotation.ecore#//InheritanceType">
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//InheritanceType/SINGLE_TABLE"/>
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//InheritanceType/TABLE_PER_CLASS"/>
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//InheritanceType/JOINED"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="pannotation.ecore#//TemporalType">
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//TemporalType/DATE"/>
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//TemporalType/TIME"/>
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//TemporalType/TIMESTAMP"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="pannotation.ecore#//OptimizerType">
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//OptimizerType/NONE"/>
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//OptimizerType/HILO"/>
+ <genEnumLiterals ecoreEnumLiteral="pannotation.ecore#//OptimizerType/POOLED"/>
+ </genEnums>
+ <genClasses image="false" ecoreClass="pannotation.ecore#//PAnnotation">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference pannotation.ecore#//PAnnotation/eModelElement"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//PAnnotation/generated"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//AttributeOverride">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//AttributeOverride/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pannotation.ecore#//AttributeOverride/column"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//AssociationOverride">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//AssociationOverride/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pannotation.ecore#//AssociationOverride/joinColumns"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//Basic">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//Basic/fetch"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//Basic/optional"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//Column">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//Column/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//Column/unique"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//Column/nullable"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//Column/insertable"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//Column/updatable"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//Column/columnDefinition"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//Column/table"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//Column/length"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//Column/precision"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//Column/scale"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//Column/uniqueKey"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//Column/index"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//DiscriminatorColumn">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//DiscriminatorColumn/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//DiscriminatorColumn/discriminatorType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//DiscriminatorColumn/columnDefinition"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//DiscriminatorColumn/length"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pannotation.ecore#//DiscriminatorColumn/column"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//DiscriminatorValue">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//DiscriminatorValue/value"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//Embeddable"/>
+ <genClasses ecoreClass="pannotation.ecore#//Embedded"/>
+ <genClasses ecoreClass="pannotation.ecore#//EmbeddedId"/>
+ <genClasses ecoreClass="pannotation.ecore#//Entity">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//Entity/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//Entity/extends"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//Enumerated">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//Enumerated/value"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//GeneratedValue">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//GeneratedValue/strategy"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//GeneratedValue/generator"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//Id"/>
+ <genClasses ecoreClass="pannotation.ecore#//IdClass">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//IdClass/value"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//Inheritance">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//Inheritance/strategy"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//JoinColumn">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//JoinColumn/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//JoinColumn/referencedColumnName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//JoinColumn/unique"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//JoinColumn/nullable"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//JoinColumn/insertable"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//JoinColumn/updatable"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//JoinColumn/columnDefinition"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//JoinColumn/table"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//JoinTable">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//JoinTable/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//JoinTable/catalog"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//JoinTable/schema"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pannotation.ecore#//JoinTable/joinColumns"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pannotation.ecore#//JoinTable/inverseJoinColumns"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pannotation.ecore#//JoinTable/uniqueConstraints"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//Lob"/>
+ <genClasses ecoreClass="pannotation.ecore#//ManyToMany">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//ManyToMany/targetEntity"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//ManyToMany/cascade"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//ManyToMany/fetch"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//ManyToMany/mappedBy"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//ManyToMany/indexed"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//ManyToOne">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//ManyToOne/targetEntity"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//ManyToOne/cascade"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//ManyToOne/fetch"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//ManyToOne/optional"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//MapKey">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//MapKey/name"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//MappedSuperclass"/>
+ <genClasses ecoreClass="pannotation.ecore#//OneToMany">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//OneToMany/targetEntity"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//OneToMany/cascade"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//OneToMany/fetch"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//OneToMany/mappedBy"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//OneToMany/indexed"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//OneToMany/unique"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//OneToOne">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//OneToOne/targetEntity"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//OneToOne/cascade"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//OneToOne/fetch"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//OneToOne/optional"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//OneToOne/mappedBy"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//OrderBy">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//OrderBy/value"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//PrimaryKeyJoinColumn">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//PrimaryKeyJoinColumn/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//PrimaryKeyJoinColumn/referencedColumnName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//PrimaryKeyJoinColumn/columnDefinition"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//SecondaryTable">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//SecondaryTable/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//SecondaryTable/catalog"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//SecondaryTable/schema"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pannotation.ecore#//SecondaryTable/pkJoinColumns"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pannotation.ecore#//SecondaryTable/uniqueConstraints"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//SequenceGenerator">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//SequenceGenerator/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//SequenceGenerator/sequenceName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//SequenceGenerator/initialValue"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//SequenceGenerator/allocationSize"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//Table">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//Table/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//Table/catalog"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//Table/schema"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pannotation.ecore#//Table/uniqueConstraints"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//TableGenerator">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//TableGenerator/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//TableGenerator/table"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//TableGenerator/catalog"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//TableGenerator/schema"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//TableGenerator/pkColumnName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//TableGenerator/valueColumnName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//TableGenerator/pkColumnValue"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//TableGenerator/initialValue"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//TableGenerator/allocationSize"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference pannotation.ecore#//TableGenerator/uniqueConstraints"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//Temporal">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//Temporal/value"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//Transient"/>
+ <genClasses ecoreClass="pannotation.ecore#//UniqueConstraint">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//UniqueConstraint/columnNames"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//Version"/>
+ <genClasses ecoreClass="pannotation.ecore#//ForeignKey">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//ForeignKey/name"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//SequenceStyleGenerator">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//SequenceStyleGenerator/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//SequenceStyleGenerator/sequenceName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//SequenceStyleGenerator/initialValue"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//SequenceStyleGenerator/incrementSize"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//SequenceStyleGenerator/optimizer"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//External">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//External/type"/>
+ </genClasses>
+ <genClasses ecoreClass="pannotation.ecore#//EAVMapping"/>
+ <genClasses ecoreClass="pannotation.ecore#//NoEAVMapping"/>
+ <genClasses ecoreClass="pannotation.ecore#//ListIndexColumn">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute pannotation.ecore#//ListIndexColumn/name"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/core/org.eclipse.emf.teneo.annotations/modeling32.png b/core/org.eclipse.emf.teneo.annotations/modeling32.png
new file mode 100755
index 000000000..6b08de2ad
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/modeling32.png
Binary files differ
diff --git a/core/org.eclipse.emf.teneo.annotations/plugin.properties b/core/org.eclipse.emf.teneo.annotations/plugin.properties
new file mode 100755
index 000000000..e92626492
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/plugin.properties
@@ -0,0 +1,35 @@
+#/**
+# * <copyright>
+# *
+# * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+# * All rights reserved. This program and the accompanying materials
+# * are made available under the terms of the Eclipse Public License v1.0
+# * which accompanies this distribution, and is available at
+# * http://www.eclipse.org/legal/epl-v10.html
+# *
+# * Contributors:
+# * Martin Taal - Initial API and implementation
+# *
+# * </copyright>
+# *
+# * $Id: plugin.properties,v 1.12 2011/02/21 04:50:16 mtaal Exp $
+# */
+
+# NLS_MESSAGEFORMAT_VAR
+
+# ==============================================================================
+# Do not change the properties between this line and the last line containing:
+# %%% END OF TRANSLATED PROPERTIES %%%
+# Instead, either redefine an existing property, or create a new property,
+# append it to the end of the file, and change the code to use the new name.
+# ==============================================================================
+
+Plugin.name = EMF Teneo Annotations
+Plugin.providerName = Eclipse Modeling Project
+
+# ==============================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# The above properties have been shipped for translation.
+# ==============================================================================
+pluginName = Pannotation Model
+providerName = Eclipse Modeling Project
diff --git a/core/org.eclipse.emf.teneo.annotations/plugin.xml b/core/org.eclipse.emf.teneo.annotations/plugin.xml
new file mode 100755
index 000000000..a11d018e0
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/plugin.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id: plugin.xml,v 1.4 2009/08/21 10:16:53 mtaal Exp $
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri="http://www.eclipse.org/emf/teneo/elver/2005/pamodel"
+ class="org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage"
+ genModel="model/pannotation.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri="http://www.eclipse.org/emf/teneo/elver/2005/PAnnotation"
+ class="org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage"
+ genModel="model/pannotation.genmodel"/>
+ </extension>
+
+</plugin>
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/AnnotationUtil.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/AnnotationUtil.java
new file mode 100755
index 000000000..bd921c861
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/AnnotationUtil.java
@@ -0,0 +1,69 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Taal - Initial API and implementation
+ *
+ * </copyright>
+ *
+ * $Id: AnnotationUtil.java,v 1.2 2008/02/28 07:09:12 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.annotations;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.teneo.annotations.pannotation.PAnnotation;
+
+/**
+ * Utility class
+ *
+ * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
+ * @version $Revision: 1.2 $
+ */
+
+public class AnnotationUtil {
+
+ /** Returns an annotation correct name value pair if the feature is set */
+ public static String getAnnotationValue(org.eclipse.emf.ecore.EObject eObject, EStructuralFeature eFeature,
+ boolean prependComma, List<String> importStatements) {
+ final Object value = eObject.eGet(eFeature);
+ if (value == null) {
+ return "";
+ }
+ final String result;
+ if (value instanceof String) {
+ result = eFeature.getName() + " = \"" + (String) value + "\"";
+ } else if (value instanceof Enumerator) {
+ result = eFeature.getName() + " = " + ((Enumerator) value).getLiteral();
+ } else if (value instanceof List<?>) {
+ final List<?> values = (List<?>) value;
+ if (values.size() == 0) {
+ return "";
+ }
+ final StringBuffer sb = new StringBuffer();
+ for (Object o : values) {
+ final PAnnotation pAnnotation = (PAnnotation) o;
+ if (sb.length() > 0) {
+ sb.append(", ");
+ }
+ sb.append(pAnnotation.getJavaAnnotation(importStatements));
+ }
+ result = eFeature.getName() + " = {" + sb.toString() + "}";
+ } else {
+ throw new IllegalArgumentException("Unknown type " + value.getClass());
+ }
+ if (prependComma) {
+ return ", " + result;
+ }
+ return result;
+ }
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEAttribute.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEAttribute.java
new file mode 100755
index 000000000..09d8ba7a3
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEAttribute.java
@@ -0,0 +1,244 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedEAttribute.java,v 1.10 2008/01/18 06:20:56 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.teneo.annotations.pannotation.Basic;
+import org.eclipse.emf.teneo.annotations.pannotation.Enumerated;
+import org.eclipse.emf.teneo.annotations.pannotation.GeneratedValue;
+import org.eclipse.emf.teneo.annotations.pannotation.Id;
+import org.eclipse.emf.teneo.annotations.pannotation.Lob;
+import org.eclipse.emf.teneo.annotations.pannotation.Temporal;
+import org.eclipse.emf.teneo.annotations.pannotation.Version;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>PAnnotated EAttribute</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getModelEAttribute <em>Model EAttribute</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getBasic <em>Basic</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getEnumerated <em>Enumerated</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getGeneratedValue <em>Generated Value</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getLob <em>Lob</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getTemporal <em>Temporal</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getVersion <em>Version</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEAttribute()
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore constraints='NotAnnotatedAsBasic GeneratedOnId DefinedGenerator IdOnEntityOrMappedSuper'"
+ * @generated
+ */
+public interface PAnnotatedEAttribute extends PAnnotatedEStructuralFeature {
+ /**
+ * Returns the value of the '<em><b>Model EAttribute</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Annotated EAttribute</em>' reference isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Model EAttribute</em>' reference.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEAttribute_ModelEAttribute()
+ * @model transient="true" changeable="false" volatile="true"
+ * annotation="teneo/internal/PersistenceMapping ignore='true'"
+ * @generated
+ */
+ EAttribute getModelEAttribute();
+
+ /**
+ * Returns the value of the '<em><b>Basic</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Basic</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>Basic</em>' containment reference.
+ * @see #setBasic(Basic)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEAttribute_Basic()
+ * @model containment="true"
+ * @generated
+ */
+ Basic getBasic();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getBasic <em>Basic</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Basic</em>' containment reference.
+ * @see #getBasic()
+ * @generated
+ */
+ void setBasic(Basic value);
+
+ /**
+ * Returns the value of the '<em><b>Enumerated</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Enumerated</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>Enumerated</em>' containment reference.
+ * @see #setEnumerated(Enumerated)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEAttribute_Enumerated()
+ * @model containment="true"
+ * @generated
+ */
+ Enumerated getEnumerated();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getEnumerated <em>Enumerated</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Enumerated</em>' containment reference.
+ * @see #getEnumerated()
+ * @generated
+ */
+ void setEnumerated(Enumerated value);
+
+ /**
+ * Returns the value of the '<em><b>Generated Value</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Generated Value</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>Generated Value</em>' containment reference.
+ * @see #setGeneratedValue(GeneratedValue)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEAttribute_GeneratedValue()
+ * @model containment="true"
+ * @generated
+ */
+ GeneratedValue getGeneratedValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getGeneratedValue <em>Generated Value</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Generated Value</em>' containment reference.
+ * @see #getGeneratedValue()
+ * @generated
+ */
+ void setGeneratedValue(GeneratedValue value);
+
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</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>Id</em>' containment reference.
+ * @see #setId(Id)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEAttribute_Id()
+ * @model containment="true"
+ * @generated
+ */
+ Id getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getId <em>Id</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' containment reference.
+ * @see #getId()
+ * @generated
+ */
+ void setId(Id value);
+
+ /**
+ * Returns the value of the '<em><b>Lob</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Lob</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>Lob</em>' containment reference.
+ * @see #setLob(Lob)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEAttribute_Lob()
+ * @model containment="true"
+ * @generated
+ */
+ Lob getLob();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getLob <em>Lob</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Lob</em>' containment reference.
+ * @see #getLob()
+ * @generated
+ */
+ void setLob(Lob value);
+
+ /**
+ * Returns the value of the '<em><b>Temporal</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Temporal</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>Temporal</em>' containment reference.
+ * @see #setTemporal(Temporal)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEAttribute_Temporal()
+ * @model containment="true"
+ * @generated
+ */
+ Temporal getTemporal();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getTemporal <em>Temporal</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Temporal</em>' containment reference.
+ * @see #getTemporal()
+ * @generated
+ */
+ void setTemporal(Temporal value);
+
+ /**
+ * Returns the value of the '<em><b>Version</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Version</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>Version</em>' containment reference.
+ * @see #setVersion(Version)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEAttribute_Version()
+ * @model containment="true"
+ * @generated
+ */
+ Version getVersion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getVersion <em>Version</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Version</em>' containment reference.
+ * @see #getVersion()
+ * @generated
+ */
+ void setVersion(Version value);
+
+ /**
+ * Returns true if the eattribute requires an additional mapping for the isset member which is generated by emf.
+ */
+ boolean requiresIsSetMapping();
+
+} // PAnnotatedEAttribute
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEClass.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEClass.java
new file mode 100755
index 000000000..586ddc56b
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEClass.java
@@ -0,0 +1,534 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedEClass.java,v 1.18 2010/07/19 11:48:57 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.teneo.annotations.pannotation.AssociationOverride;
+import org.eclipse.emf.teneo.annotations.pannotation.AttributeOverride;
+import org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorValue;
+import org.eclipse.emf.teneo.annotations.pannotation.EAVMapping;
+import org.eclipse.emf.teneo.annotations.pannotation.Embeddable;
+import org.eclipse.emf.teneo.annotations.pannotation.Entity;
+import org.eclipse.emf.teneo.annotations.pannotation.IdClass;
+import org.eclipse.emf.teneo.annotations.pannotation.Inheritance;
+import org.eclipse.emf.teneo.annotations.pannotation.InheritanceType;
+import org.eclipse.emf.teneo.annotations.pannotation.MappedSuperclass;
+import org.eclipse.emf.teneo.annotations.pannotation.NoEAVMapping;
+import org.eclipse.emf.teneo.annotations.pannotation.PrimaryKeyJoinColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable;
+import org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator;
+import org.eclipse.emf.teneo.annotations.pannotation.Table;
+import org.eclipse.emf.teneo.annotations.pannotation.TableGenerator;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>PAnnotated EClass</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getPaEPackage <em>Pa EPackage</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getModelEClass <em>Model EClass</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getPaEStructuralFeatures <em>Pa EStructural Features</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getAttributeOverrides <em>Attribute Overrides</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getDiscriminatorColumn <em>Discriminator Column</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getDiscriminatorValue <em>Discriminator Value</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getEmbeddable <em>Embeddable</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getMappedSuperclass <em>Mapped Superclass</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getEntity <em>Entity</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getIdClass <em>Id Class</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getInheritance <em>Inheritance</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getPrimaryKeyJoinColumns <em>Primary Key Join Columns</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getSecondaryTables <em>Secondary Tables</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getTable <em>Table</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getTableGenerator <em>Table Generator</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getAssociationOverrides <em>Association Overrides</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getEavMapping <em>Eav Mapping</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getNoEAVMapping <em>No EAV Mapping</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getSequenceGenerators <em>Sequence Generators</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEClass()
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore constraints='SameEFeatures EPackageCommutes ProperPrimaryKey EntityOrEmbeddableOrMappedSuper\tOverriddenAreDefined ProperInheritance ProperDiscriminator SingleTableForSingleStrategy ProperPKJoin'"
+ * @generated
+ */
+public interface PAnnotatedEClass extends PAnnotatedEModelElement {
+ /**
+ * Returns the value of the '<em><b>Pa EPackage</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getPaEClasses <em>Pa EClasses</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pa EPackage</em>' container reference isn't clear, there really should be more of
+ * a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Pa EPackage</em>' container reference.
+ * @see #setPaEPackage(PAnnotatedEPackage)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEClass_PaEPackage()
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getPaEClasses
+ * @model opposite="paEClasses" transient="false"
+ * annotation="teneo/internal/PersistenceMapping ignore='true'"
+ * @generated
+ */
+ PAnnotatedEPackage getPaEPackage();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getPaEPackage <em>Pa EPackage</em>}' container reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Pa EPackage</em>' container reference.
+ * @see #getPaEPackage()
+ * @generated
+ */
+ void setPaEPackage(PAnnotatedEPackage value);
+
+ /**
+ * Returns the value of the '<em><b>Model EClass</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Model EClass</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Model EClass</em>' reference.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEClass_ModelEClass()
+ * @model transient="true" changeable="false" volatile="true"
+ * annotation="teneo/internal/PersistenceMapping ignore='true'"
+ * @generated
+ */
+ EClass getModelEClass();
+
+ /**
+ * Returns the value of the '<em><b>Pa EStructural Features</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature#getPaEClass <em>Pa EClass</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pa EStructural Features</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>Pa EStructural Features</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEClass_PaEStructuralFeatures()
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature#getPaEClass
+ * @model opposite="paEClass" containment="true"
+ * annotation="teneo/internal/PersistenceMapping ignore='true'"
+ * @generated
+ */
+ EList<PAnnotatedEStructuralFeature> getPaEStructuralFeatures();
+
+ /**
+ * Returns the value of the '<em><b>Attribute Overrides</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.AttributeOverride}.
+ * <!-- begin-user-doc
+ * -->
+ * <p>
+ * If the meaning of the '<em>Attribute Overrides</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>Attribute Overrides</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEClass_AttributeOverrides()
+ * @model containment="true"
+ * annotation="elver.jpa annotationName='AttributeOverrides' annotationClass='javax.persistence.AttributeOverrides'"
+ * @generated
+ */
+ EList<AttributeOverride> getAttributeOverrides();
+
+ /**
+ * Returns the value of the '<em><b>Discriminator Column</b></em>' containment reference.
+ * <!-- begin-user-doc
+ * -->
+ * <p>
+ * If the meaning of the '<em>Discriminator Column</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>Discriminator Column</em>' containment reference.
+ * @see #setDiscriminatorColumn(DiscriminatorColumn)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEClass_DiscriminatorColumn()
+ * @model containment="true"
+ * @generated
+ */
+ DiscriminatorColumn getDiscriminatorColumn();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getDiscriminatorColumn <em>Discriminator Column</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Discriminator Column</em>' containment reference.
+ * @see #getDiscriminatorColumn()
+ * @generated
+ */
+ void setDiscriminatorColumn(DiscriminatorColumn value);
+
+ /**
+ * Returns the value of the '<em><b>Discriminator Value</b></em>' containment reference.
+ * <!-- begin-user-doc
+ * -->
+ * <p>
+ * If the meaning of the '<em>Discriminator Value</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>Discriminator Value</em>' containment reference.
+ * @see #setDiscriminatorValue(DiscriminatorValue)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEClass_DiscriminatorValue()
+ * @model containment="true"
+ * @generated
+ */
+ DiscriminatorValue getDiscriminatorValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getDiscriminatorValue <em>Discriminator Value</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Discriminator Value</em>' containment reference.
+ * @see #getDiscriminatorValue()
+ * @generated
+ */
+ void setDiscriminatorValue(DiscriminatorValue value);
+
+ /**
+ * Returns the value of the '<em><b>Embeddable</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Embeddable</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>Embeddable</em>' containment reference.
+ * @see #setEmbeddable(Embeddable)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEClass_Embeddable()
+ * @model containment="true"
+ * @generated
+ */
+ Embeddable getEmbeddable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getEmbeddable <em>Embeddable</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Embeddable</em>' containment reference.
+ * @see #getEmbeddable()
+ * @generated
+ */
+ void setEmbeddable(Embeddable value);
+
+ /**
+ * Returns the value of the '<em><b>Mapped Superclass</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mapped Superclass</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>Mapped Superclass</em>' containment reference.
+ * @see #setMappedSuperclass(MappedSuperclass)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEClass_MappedSuperclass()
+ * @model containment="true"
+ * @generated
+ */
+ MappedSuperclass getMappedSuperclass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getMappedSuperclass <em>Mapped Superclass</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Mapped Superclass</em>' containment reference.
+ * @see #getMappedSuperclass()
+ * @generated
+ */
+ void setMappedSuperclass(MappedSuperclass value);
+
+ /**
+ * Returns the value of the '<em><b>Entity</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Entity</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>Entity</em>' containment reference.
+ * @see #setEntity(Entity)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEClass_Entity()
+ * @model containment="true"
+ * @generated
+ */
+ Entity getEntity();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getEntity <em>Entity</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Entity</em>' containment reference.
+ * @see #getEntity()
+ * @generated
+ */
+ void setEntity(Entity value);
+
+ /**
+ * Returns the value of the '<em><b>Id Class</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id Class</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>Id Class</em>' containment reference.
+ * @see #setIdClass(IdClass)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEClass_IdClass()
+ * @model containment="true"
+ * @generated
+ */
+ IdClass getIdClass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getIdClass <em>Id Class</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id Class</em>' containment reference.
+ * @see #getIdClass()
+ * @generated
+ */
+ void setIdClass(IdClass value);
+
+ /**
+ * Returns the value of the '<em><b>Inheritance</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Inheritance</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>Inheritance</em>' containment reference.
+ * @see #setInheritance(Inheritance)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEClass_Inheritance()
+ * @model containment="true"
+ * @generated
+ */
+ Inheritance getInheritance();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getInheritance <em>Inheritance</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Inheritance</em>' containment reference.
+ * @see #getInheritance()
+ * @generated
+ */
+ void setInheritance(Inheritance value);
+
+ /**
+ * Returns the value of the '<em><b>Primary Key Join Columns</b></em>' containment reference. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Primary Key Join Columns</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>Primary Key Join Columns</em>' containment reference.
+ * @see #setPrimaryKeyJoinColumns(PrimaryKeyJoinColumns)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEClass_PrimaryKeyJoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ EList<PrimaryKeyJoinColumn> getPrimaryKeyJoinColumns();
+
+ /**
+ * Returns the value of the '<em><b>Secondary Tables</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Secondary Tables</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>Secondary Tables</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEClass_SecondaryTables()
+ * @model containment="true"
+ * annotation="elver.jpa annotationName='SecondaryTables' annotationClass='javax.persistence.SecondaryTables'"
+ * @generated
+ */
+ EList<SecondaryTable> getSecondaryTables();
+
+ /**
+ * Returns the value of the '<em><b>Table</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Table</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>Table</em>' containment reference.
+ * @see #setTable(Table)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEClass_Table()
+ * @model containment="true"
+ * @generated
+ */
+ Table getTable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getTable <em>Table</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Table</em>' containment reference.
+ * @see #getTable()
+ * @generated
+ */
+ void setTable(Table value);
+
+ /**
+ * Returns the value of the '<em><b>Table Generator</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Table Generator</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>Table Generator</em>' containment reference.
+ * @see #setTableGenerator(TableGenerator)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEClass_TableGenerator()
+ * @model containment="true"
+ * @generated
+ */
+ TableGenerator getTableGenerator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getTableGenerator <em>Table Generator</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Table Generator</em>' containment reference.
+ * @see #getTableGenerator()
+ * @generated
+ */
+ void setTableGenerator(TableGenerator value);
+
+ /**
+ * Returns the value of the '<em><b>Association Overrides</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.AssociationOverride}.
+ * <!-- begin-user-doc
+ * -->
+ * <p>
+ * If the meaning of the '<em>Association Overrides</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>Association Overrides</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEClass_AssociationOverrides()
+ * @model containment="true"
+ * annotation="elver.jpa annotationName='AssociationOverrides' annotationClass='javax.persistence.AssociationOverrides'"
+ * @generated
+ */
+ EList<AssociationOverride> getAssociationOverrides();
+
+ /**
+ * Returns the value of the '<em><b>Eav Mapping</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Eav Mapping</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>Eav Mapping</em>' containment reference.
+ * @see #setEavMapping(EAVMapping)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEClass_EavMapping()
+ * @model containment="true"
+ * @generated
+ */
+ EAVMapping getEavMapping();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getEavMapping <em>Eav Mapping</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Eav Mapping</em>' containment reference.
+ * @see #getEavMapping()
+ * @generated
+ */
+ void setEavMapping(EAVMapping value);
+
+ /**
+ * Returns the value of the '<em><b>No EAV Mapping</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>No EAV Mapping</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>No EAV Mapping</em>' containment reference.
+ * @see #setNoEAVMapping(NoEAVMapping)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEClass_NoEAVMapping()
+ * @model containment="true"
+ * @generated
+ */
+ NoEAVMapping getNoEAVMapping();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getNoEAVMapping <em>No EAV Mapping</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>No EAV Mapping</em>' containment reference.
+ * @see #getNoEAVMapping()
+ * @generated
+ */
+ void setNoEAVMapping(NoEAVMapping value);
+
+ /**
+ * Returns the value of the '<em><b>Sequence Generators</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Sequence Generators</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>Sequence Generators</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEClass_SequenceGenerators()
+ * @model containment="true"
+ * @generated
+ */
+ EList<SequenceGenerator> getSequenceGenerators();
+
+ /**
+ * @return Returns the List of PAnnotatedEAttributes belonging to this PAnnotatedEClass for which an Id PAnnotation
+ * is present.
+ */
+ List<PAnnotatedEStructuralFeature> getPaIdFeatures();
+
+ /** Returns true if the eclass has an PAnnotatedEStructuralFeature with an id annotation */
+ boolean hasIdAnnotatedFeature();
+
+ /** Returns true if the eclass has an PAnnotatedEStructuralFeature with an version annotation */
+ boolean hasVersionAnnotatedFeature();
+
+ /**
+ * @return Returns the PAnnotatedEntity that is MappedSuperclass of this PAnnotatedEClass, <code>null</code> if it
+ * has none. TODO support multiple mapped superclasses.
+ */
+ List<PAnnotatedEClass> getPaMappedSupers();
+
+ /**
+ * @return Returns the PAnnotatedEntity that is a super entity of this PAnnotatedEClass, <code>null</code> if this
+ * is a root entity.
+ */
+ PAnnotatedEClass getPaSuperEntity();
+
+ /**
+ * @param paSuperEntity the paSuperEntity to set
+ */
+ void setPaSuperEntity(PAnnotatedEClass paSuperEntity);
+
+ /**
+ * @return Returns the inheritance strategy for this entity. If this element has an inheritance annotation, return
+ * the specified inheritance type; if this element has a superentity, returns the super entity inheritance
+ * type. In any other case returns SINGLE_TABLE.
+ */
+ InheritanceType getInheritanceStrategy();
+
+ /** returns true if this EClass should be mapped as an entity or as a concrete class */
+ boolean isOnlyMapAsEntity();
+
+ /** sets if this eclass should be mapped as an entity */
+ void setOnlyMapAsEntity(boolean mapAsEntity);
+} // PAnnotatedEClass
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEDataType.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEDataType.java
new file mode 100755
index 000000000..60413a8bb
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEDataType.java
@@ -0,0 +1,297 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedEDataType.java,v 1.5 2008/01/18 06:20:56 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel;
+
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.teneo.annotations.pannotation.Basic;
+import org.eclipse.emf.teneo.annotations.pannotation.Column;
+import org.eclipse.emf.teneo.annotations.pannotation.Enumerated;
+import org.eclipse.emf.teneo.annotations.pannotation.GeneratedValue;
+import org.eclipse.emf.teneo.annotations.pannotation.Id;
+import org.eclipse.emf.teneo.annotations.pannotation.Lob;
+import org.eclipse.emf.teneo.annotations.pannotation.Temporal;
+import org.eclipse.emf.teneo.annotations.pannotation.Version;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>PAnnotated EData Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getModelEDataType <em>Model EData Type</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getBasic <em>Basic</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getEnumerated <em>Enumerated</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getGeneratedValue <em>Generated Value</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getLob <em>Lob</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getTemporal <em>Temporal</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getVersion <em>Version</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getPaEPackage <em>Pa EPackage</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getColumn <em>Column</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEDataType()
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore constraints='NotAnnotatedAsBasic GeneratedOnId DefinedGenerator IdOnEntityOrMappedSuper'"
+ * @generated
+ */
+public interface PAnnotatedEDataType extends PAnnotatedEModelElement {
+ /**
+ * Returns the value of the '<em><b>Annotated EData Type</b></em>' reference. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Annotated EData Type</em>' reference isn't clear, there really
+ * should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Annotated EData Type</em>' reference.
+ * @see #setModelEDataType(EDataType)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEDataType_AnnotatedEDataType()
+ * @model required="true" annotation="teneo/internal/PersistenceMapping ignore='true'"
+ * @generated
+ */
+ EDataType getModelEDataType();
+
+ /**
+ * Returns the value of the '<em><b>Basic</b></em>' containment reference. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Basic</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>Basic</em>' containment reference.
+ * @see #setBasic(Basic)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEDataType_Basic()
+ * @model containment="true"
+ * @generated
+ */
+ Basic getBasic();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getBasic <em>Basic</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Basic</em>' containment reference.
+ * @see #getBasic()
+ * @generated
+ */
+ void setBasic(Basic value);
+
+ /**
+ * Returns the value of the '<em><b>Enumerated</b></em>' containment reference. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Enumerated</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>Enumerated</em>' containment reference.
+ * @see #setEnumerated(Enumerated)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEDataType_Enumerated()
+ * @model containment="true"
+ * @generated
+ */
+ Enumerated getEnumerated();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getEnumerated <em>Enumerated</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Enumerated</em>' containment reference.
+ * @see #getEnumerated()
+ * @generated
+ */
+ void setEnumerated(Enumerated value);
+
+ /**
+ * Returns the value of the '<em><b>Generated Value</b></em>' containment reference. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Generated Value</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>Generated Value</em>' containment reference.
+ * @see #setGeneratedValue(GeneratedValue)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEDataType_GeneratedValue()
+ * @model containment="true"
+ * @generated
+ */
+ GeneratedValue getGeneratedValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getGeneratedValue <em>Generated Value</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Generated Value</em>' containment reference.
+ * @see #getGeneratedValue()
+ * @generated
+ */
+ void setGeneratedValue(GeneratedValue value);
+
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' containment reference.
+ * <!-- begin-user-doc
+ * -->
+ * <p>
+ * If the meaning of the '<em>Id</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>Id</em>' containment reference.
+ * @see #setId(Id)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEDataType_Id()
+ * @model containment="true"
+ * @generated
+ */
+ Id getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getId <em>Id</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' containment reference.
+ * @see #getId()
+ * @generated
+ */
+ void setId(Id value);
+
+ /**
+ * Returns the value of the '<em><b>Lob</b></em>' containment reference. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Lob</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>Lob</em>' containment reference.
+ * @see #setLob(Lob)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEDataType_Lob()
+ * @model containment="true"
+ * @generated
+ */
+ Lob getLob();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getLob <em>Lob</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Lob</em>' containment reference.
+ * @see #getLob()
+ * @generated
+ */
+ void setLob(Lob value);
+
+ /**
+ * Returns the value of the '<em><b>Temporal</b></em>' containment reference. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Temporal</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>Temporal</em>' containment reference.
+ * @see #setTemporal(Temporal)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEDataType_Temporal()
+ * @model containment="true"
+ * @generated
+ */
+ Temporal getTemporal();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getTemporal <em>Temporal</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Temporal</em>' containment reference.
+ * @see #getTemporal()
+ * @generated
+ */
+ void setTemporal(Temporal value);
+
+ /**
+ * Returns the value of the '<em><b>Version</b></em>' containment reference. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Version</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>Version</em>' containment reference.
+ * @see #setVersion(Version)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEDataType_Version()
+ * @model containment="true"
+ * @generated
+ */
+ Version getVersion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getVersion <em>Version</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Version</em>' containment reference.
+ * @see #getVersion()
+ * @generated
+ */
+ void setVersion(Version value);
+
+ /**
+ * Returns the value of the '<em><b>Pa EPackage</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getPaEDataTypes <em>Pa EData Types</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pa EPackage</em>' container reference isn't clear, there
+ * really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Pa EPackage</em>' container reference.
+ * @see #setPaEPackage(PAnnotatedEPackage)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEDataType_PaEPackage()
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getPaEDataTypes
+ * @model opposite="paEDataTypes" transient="false"
+ * annotation="teneo/internal/PersistenceMapping ignore='true'"
+ * @generated
+ */
+ PAnnotatedEPackage getPaEPackage();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getPaEPackage <em>Pa EPackage</em>}' container reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Pa EPackage</em>' container reference.
+ * @see #getPaEPackage()
+ * @generated
+ */
+ void setPaEPackage(PAnnotatedEPackage value);
+
+ /**
+ * Returns the value of the '<em><b>Column</b></em>' containment reference. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Column</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>Column</em>' containment reference.
+ * @see #setColumn(Column)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEDataType_Column()
+ * @model containment="true"
+ * @generated
+ */
+ Column getColumn();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getColumn <em>Column</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Column</em>' containment reference.
+ * @see #getColumn()
+ * @generated
+ */
+ void setColumn(Column value);
+
+} // PAnnotatedEDataType
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEModelElement.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEModelElement.java
new file mode 100755
index 000000000..d72bf7d51
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEModelElement.java
@@ -0,0 +1,95 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedEModelElement.java,v 1.9 2010/02/06 18:25:56 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.ENamedElement;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.teneo.annotations.pannotation.PAnnotation;
+import org.eclipse.emf.teneo.annotations.pannotation.Transient;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>PAnnotated EModel Element</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEModelElement#getModelElement <em>Model Element</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEModelElement#getTransient <em>Transient</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEModelElement()
+ * @model abstract="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore constraints='PAnnotationElementCommutes'"
+ * @generated
+ */
+public interface PAnnotatedEModelElement extends EObject {
+ /**
+ * Returns the value of the '<em><b>Model Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Annotated Element</em>' reference isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Model Element</em>' reference.
+ * @see #setModelElement(ENamedElement)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEModelElement_ModelElement()
+ * @model derived="true"
+ * annotation="teneo/internal/PersistenceMapping ignore='true'"
+ * @generated
+ */
+ ENamedElement getModelElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEModelElement#getModelElement <em>Model Element</em>}' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Model Element</em>' reference.
+ * @see #getModelElement()
+ * @generated
+ */
+ void setModelElement(ENamedElement value);
+
+ /**
+ * Returns the value of the '<em><b>Transient</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Transient</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>Transient</em>' containment reference.
+ * @see #setTransient(Transient)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEModelElement_Transient()
+ * @model containment="true"
+ * @generated
+ */
+ Transient getTransient();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEModelElement#getTransient <em>Transient</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Transient</em>' containment reference.
+ * @see #getTransient()
+ * @generated
+ */
+ void setTransient(Transient value);
+
+ /**
+ * @return Returns the PAnnotatedModel containing this element.
+ */
+ PAnnotatedModel getPaModel();
+
+ /**
+ * @return Returns the list of annotations defined on this annotated element
+ */
+ List<PAnnotation> getAnnotations();
+
+} // PAnnotatedEModelElement
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEPackage.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEPackage.java
new file mode 100755
index 000000000..34ca2468b
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEPackage.java
@@ -0,0 +1,169 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedEPackage.java,v 1.14 2010/02/06 18:25:56 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator;
+import org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator;
+import org.eclipse.emf.teneo.annotations.pannotation.TableGenerator;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>PAnnotated EPackage</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getPaModel <em>Pa Model</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getModelEPackage <em>Model EPackage</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getPaEClasses <em>Pa EClasses</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getSequenceGenerators <em>Sequence Generators</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getTableGenerators <em>Table Generators</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getPaEDataTypes <em>Pa EData Types</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getSequenceStyleGenerators <em>Sequence Style Generators</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEPackage()
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore constraints='AtMostOneEClass'"
+ * @generated
+ */
+public interface PAnnotatedEPackage extends PAnnotatedEModelElement {
+ /**
+ * Returns the value of the '<em><b>Pa Model</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedModel#getPaEPackages <em>Pa EPackages</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pa Model</em>' reference isn't clear, there really should be
+ * more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Pa Model</em>' container reference.
+ * @see #setPaModel(PAnnotatedModel)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEPackage_PaModel()
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedModel#getPaEPackages
+ * @model opposite="paEPackages" transient="false"
+ * annotation="teneo/internal/PersistenceMapping ignore='true'"
+ * @generated
+ */
+ PAnnotatedModel getPaModel();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getPaModel <em>Pa Model</em>}' container reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Pa Model</em>' container reference.
+ * @see #getPaModel()
+ * @generated
+ */
+ void setPaModel(PAnnotatedModel value);
+
+ /**
+ * Returns the value of the '<em><b>Annotated EPackage</b></em>' reference. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Annotated EPackage</em>' reference isn't clear, there really
+ * should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Annotated EPackage</em>' reference.
+ * @see #setModelEPackage(EPackage)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEPackage_AnnotatedEPackage()
+ * @model required="true" annotation="teneo/internal/PersistenceMapping ignore='true'"
+ * @generated
+ */
+ EPackage getModelEPackage();
+
+ /**
+ * Returns the value of the '<em><b>Pa EClasses</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getPaEPackage <em>Pa EPackage</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pa EClasses</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>Pa EClasses</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEPackage_PaEClasses()
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getPaEPackage
+ * @model opposite="paEPackage" containment="true"
+ * annotation="teneo/internal/PersistenceMapping ignore='true'"
+ * @generated
+ */
+ EList<PAnnotatedEClass> getPaEClasses();
+
+ /**
+ * Returns the value of the '<em><b>Sequence Generators</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator}.
+ * <!-- begin-user-doc
+ * -->
+ * <p>
+ * If the meaning of the '<em>Sequence Generators</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>Sequence Generators</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEPackage_SequenceGenerators()
+ * @model containment="true"
+ * @generated
+ */
+ EList<SequenceGenerator> getSequenceGenerators();
+
+ /**
+ * Returns the value of the '<em><b>Table Generators</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator}.
+ * <!-- begin-user-doc
+ * -->
+ * <p>
+ * If the meaning of the '<em>Table Generators</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>Table Generators</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEPackage_TableGenerators()
+ * @model containment="true"
+ * @generated
+ */
+ EList<TableGenerator> getTableGenerators();
+
+ /**
+ * Returns the value of the '<em><b>Pa EData Types</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getPaEPackage <em>Pa EPackage</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pa EData Types</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>Pa EData Types</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEPackage_PaEDataTypes()
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getPaEPackage
+ * @model opposite="paEPackage" containment="true"
+ * annotation="teneo/internal/PersistenceMapping ignore='true'"
+ * @generated
+ */
+ EList<PAnnotatedEDataType> getPaEDataTypes();
+
+ /**
+ * Returns the value of the '<em><b>Sequence Style Generators</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Sequence Style Generators</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>Sequence Style Generators</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEPackage_SequenceStyleGenerators()
+ * @model containment="true"
+ * @generated
+ */
+ EList<SequenceStyleGenerator> getSequenceStyleGenerators();
+} // PAnnotatedEPackage
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEReference.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEReference.java
new file mode 100755
index 000000000..f31340fc7
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEReference.java
@@ -0,0 +1,322 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedEReference.java,v 1.15 2009/06/11 04:59:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.teneo.annotations.pannotation.AssociationOverride;
+import org.eclipse.emf.teneo.annotations.pannotation.Embedded;
+import org.eclipse.emf.teneo.annotations.pannotation.EmbeddedId;
+import org.eclipse.emf.teneo.annotations.pannotation.External;
+import org.eclipse.emf.teneo.annotations.pannotation.ManyToMany;
+import org.eclipse.emf.teneo.annotations.pannotation.ManyToOne;
+import org.eclipse.emf.teneo.annotations.pannotation.MapKey;
+import org.eclipse.emf.teneo.annotations.pannotation.OneToOne;
+import org.eclipse.emf.teneo.annotations.pannotation.OrderBy;
+import org.eclipse.emf.teneo.annotations.pannotation.PrimaryKeyJoinColumn;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>PAnnotated EReference</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getModelEReference <em>Model EReference</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getEmbedded <em>Embedded</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getEmbeddedId <em>Embedded Id</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getManyToMany <em>Many To Many</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getManyToOne <em>Many To One</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getMapKey <em>Map Key</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getOneToOne <em>One To One</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getOrderBy <em>Order By</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getPrimaryKeyJoinColumns <em>Primary Key Join Columns</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getAssociationOverrides <em>Association Overrides</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getExternal <em>External</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEReference()
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore constraints='NotAnnotatedAsEmbed AssociationAgreeWithReference AssociationWellFormed'"
+ * @generated
+ */
+public interface PAnnotatedEReference extends PAnnotatedEStructuralFeature {
+ /** Returns the eclass to which the reference is pointing */
+ EClass getEReferenceType();
+
+ /** Returns the annotated class to which the reference is pointing */
+ PAnnotatedEClass getAReferenceType();
+
+ /**
+ * Returns the value of the '<em><b>Model EReference</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Annotated EReference</em>' reference isn't
+ * clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Model EReference</em>' reference.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEReference_ModelEReference()
+ * @model transient="true" changeable="false" volatile="true"
+ * annotation="teneo/internal/PersistenceMapping ignore='true'"
+ * @generated
+ */
+ EReference getModelEReference();
+
+ /**
+ * Returns the value of the '<em><b>Embedded</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Embedded</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>Embedded</em>' containment reference.
+ * @see #setEmbedded(Embedded)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEReference_Embedded()
+ * @model containment="true"
+ * @generated
+ */
+ Embedded getEmbedded();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getEmbedded <em>Embedded</em>}' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @param value the new value of the '<em>Embedded</em>' containment reference.
+ * @see #getEmbedded()
+ * @generated
+ */
+ void setEmbedded(Embedded value);
+
+ /**
+ * Returns the value of the '<em><b>Embedded Id</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Embedded Id</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>Embedded Id</em>' containment reference.
+ * @see #setEmbeddedId(EmbeddedId)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEReference_EmbeddedId()
+ * @model containment="true"
+ * @generated
+ */
+ EmbeddedId getEmbeddedId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getEmbeddedId <em>Embedded Id</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Embedded Id</em>' containment reference.
+ * @see #getEmbeddedId()
+ * @generated
+ */
+ void setEmbeddedId(EmbeddedId value);
+
+ /**
+ * Returns the value of the '<em><b>Many To Many</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Many To Many</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>Many To Many</em>' containment reference.
+ * @see #setManyToMany(ManyToMany)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEReference_ManyToMany()
+ * @model containment="true"
+ * @generated
+ */
+ ManyToMany getManyToMany();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getManyToMany <em>Many To Many</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Many To Many</em>' containment reference.
+ * @see #getManyToMany()
+ * @generated
+ */
+ void setManyToMany(ManyToMany value);
+
+ /**
+ * Returns the value of the '<em><b>Many To One</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Many To One</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>Many To One</em>' containment reference.
+ * @see #setManyToOne(ManyToOne)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEReference_ManyToOne()
+ * @model containment="true"
+ * @generated
+ */
+ ManyToOne getManyToOne();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getManyToOne <em>Many To One</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Many To One</em>' containment reference.
+ * @see #getManyToOne()
+ * @generated
+ */
+ void setManyToOne(ManyToOne value);
+
+ /**
+ * Returns the value of the '<em><b>Map Key</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Map Key</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>Map Key</em>' containment reference.
+ * @see #setMapKey(MapKey)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEReference_MapKey()
+ * @model containment="true"
+ * @generated
+ */
+ MapKey getMapKey();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getMapKey <em>Map Key</em>}' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @param value the new value of the '<em>Map Key</em>' containment reference.
+ * @see #getMapKey()
+ * @generated
+ */
+ void setMapKey(MapKey value);
+
+ /**
+ * Returns the value of the '<em><b>One To One</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>One To One</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>One To One</em>' containment reference.
+ * @see #setOneToOne(OneToOne)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEReference_OneToOne()
+ * @model containment="true"
+ * @generated
+ */
+ OneToOne getOneToOne();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getOneToOne <em>One To One</em>}' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @param value the new value of the '<em>One To One</em>' containment reference.
+ * @see #getOneToOne()
+ * @generated
+ */
+ void setOneToOne(OneToOne value);
+
+ /**
+ * Returns the value of the '<em><b>Order By</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Order By</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>Order By</em>' containment reference.
+ * @see #setOrderBy(OrderBy)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEReference_OrderBy()
+ * @model containment="true"
+ * @generated
+ */
+ OrderBy getOrderBy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getOrderBy <em>Order By</em>}' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @param value the new value of the '<em>Order By</em>' containment reference.
+ * @see #getOrderBy()
+ * @generated
+ */
+ void setOrderBy(OrderBy value);
+
+ /**
+ * Returns the value of the '<em><b>Primary Key Join Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.PrimaryKeyJoinColumn}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Primary Key Join Columns</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>Primary Key Join Columns</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEReference_PrimaryKeyJoinColumns()
+ * @model containment="true"
+ * annotation="elver.jpa annotationName='PrimaryKeyJoinColumns' annotationClass='javax.persistence.PrimaryKeyJoinColumns'"
+ * @generated
+ */
+ EList<PrimaryKeyJoinColumn> getPrimaryKeyJoinColumns();
+
+ /**
+ * Returns the value of the '<em><b>Association Overrides</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.AssociationOverride}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Association Overrides</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>Association Overrides</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEReference_AssociationOverrides()
+ * @model containment="true"
+ * annotation="elver.jpa annotationName='AssociationOverrides' annotationClass='javax.persistence.AssociationOverrides'"
+ * @generated
+ */
+ EList<AssociationOverride> getAssociationOverrides();
+
+ /**
+ * Returns the value of the '<em><b>External</b></em>' reference. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>External</em>' reference isn't clear, there
+ * really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>External</em>' reference.
+ * @see #setExternal(External)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEReference_External()
+ * @model
+ * @generated
+ */
+ External getExternal();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getExternal
+ * <em>External</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>External</em>' reference.
+ * @see #getExternal()
+ * @generated
+ */
+ void setExternal(External value);
+
+ /** Refers to an entity or to a concrete class */
+ boolean isRefersToAnEntity();
+
+} // PAnnotatedEReference
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEStructuralFeature.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEStructuralFeature.java
new file mode 100755
index 000000000..54b3ccced
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedEStructuralFeature.java
@@ -0,0 +1,134 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedEStructuralFeature.java,v 1.17 2010/07/19 11:48:57 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.teneo.annotations.pannotation.Column;
+import org.eclipse.emf.teneo.annotations.pannotation.ForeignKey;
+import org.eclipse.emf.teneo.annotations.pannotation.ListIndexColumn;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>PAnnotated EStructural Feature</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature#getPaEClass <em>Pa EClass</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature#getModelEStructuralFeature <em>Model EStructural Feature</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature#getForeignKey <em>Foreign Key</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature#getListIndexColumn <em>List Index Column</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEStructuralFeature()
+ * @model abstract="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore constraints='EClassCommutes TransientNotAnnotated'"
+ * @generated
+ */
+public interface PAnnotatedEStructuralFeature extends PAnnotatedETypedElement {
+ /**
+ * Returns the value of the '<em><b>Pa EClass</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getPaEStructuralFeatures <em>Pa EStructural Features</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pa EClass</em>' container reference isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Pa EClass</em>' container reference.
+ * @see #setPaEClass(PAnnotatedEClass)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEStructuralFeature_PaEClass()
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getPaEStructuralFeatures
+ * @model opposite="paEStructuralFeatures" transient="false"
+ * annotation="teneo/internal/PersistenceMapping ignore='true'"
+ * @generated
+ */
+ PAnnotatedEClass getPaEClass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature#getPaEClass <em>Pa EClass</em>}' container reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Pa EClass</em>' container reference.
+ * @see #getPaEClass()
+ * @generated
+ */
+ void setPaEClass(PAnnotatedEClass value);
+
+ /**
+ * Returns the value of the '<em><b>Model EStructural Feature</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Annotated EStructural Feature</em>' reference isn't clear, there really should be more
+ * of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Model EStructural Feature</em>' reference.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEStructuralFeature_ModelEStructuralFeature()
+ * @model transient="true" changeable="false" volatile="true" derived="true"
+ * annotation="teneo/internal/PersistenceMapping ignore='true'"
+ * @generated
+ */
+ EStructuralFeature getModelEStructuralFeature();
+
+ /**
+ * Returns the value of the '<em><b>Foreign Key</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Foreign Key</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>Foreign Key</em>' containment reference.
+ * @see #setForeignKey(ForeignKey)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEStructuralFeature_ForeignKey()
+ * @model containment="true"
+ * @generated
+ */
+ ForeignKey getForeignKey();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature#getForeignKey <em>Foreign Key</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Foreign Key</em>' containment reference.
+ * @see #getForeignKey()
+ * @generated
+ */
+ void setForeignKey(ForeignKey value);
+
+ /**
+ * Returns the value of the '<em><b>List Index Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>List Index Column</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>List Index Column</em>' containment reference.
+ * @see #setListIndexColumn(ListIndexColumn)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedEStructuralFeature_ListIndexColumn()
+ * @model containment="true" ordered="false"
+ * annotation="elver.jpa annotationName='JoinColumns' annotationClass='javax.persistence.JoinColumns'"
+ * @generated
+ */
+ ListIndexColumn getListIndexColumn();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature#getListIndexColumn <em>List Index Column</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>List Index Column</em>' containment reference.
+ * @see #getListIndexColumn()
+ * @generated
+ */
+ void setListIndexColumn(ListIndexColumn value);
+
+ /**
+ * Convenience function for obtaining the first available Column annotation.
+ */
+ public Column getColumn();
+
+} // PAnnotatedEStructuralFeature
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedETypedElement.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedETypedElement.java
new file mode 100755
index 000000000..e7205ecda
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedETypedElement.java
@@ -0,0 +1,196 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedETypedElement.java,v 1.7 2007/11/14 16:37:54 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.teneo.annotations.pannotation.AttributeOverride;
+import org.eclipse.emf.teneo.annotations.pannotation.Column;
+import org.eclipse.emf.teneo.annotations.pannotation.JoinColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.JoinTable;
+import org.eclipse.emf.teneo.annotations.pannotation.OneToMany;
+import org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator;
+import org.eclipse.emf.teneo.annotations.pannotation.TableGenerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>PAnnotated ETyped Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement#getAttributeOverrides <em>Attribute Overrides</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement#getJoinTable <em>Join Table</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement#getOneToMany <em>One To Many</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement#getSequenceGenerator <em>Sequence Generator</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement#getTableGenerators <em>Table Generators</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement#getJoinColumns <em>Join Columns</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement#getColumn <em>Column</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedETypedElement()
+ * @model abstract="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore constraints='EClassCommutes TransientNotAnnotated'"
+ * @generated
+ */
+public interface PAnnotatedETypedElement extends PAnnotatedEModelElement {
+ /**
+ * Returns the value of the '<em><b>Attribute Overrides</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.AttributeOverride}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Attribute Overrides</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>Attribute Overrides</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedETypedElement_AttributeOverrides()
+ * @model containment="true"
+ * annotation="elver.jpa annotationName='AttributeOverrides' annotationClass='javax.persistence.AttributeOverrides'"
+ * @generated
+ */
+ EList<AttributeOverride> getAttributeOverrides();
+
+ /**
+ * Returns the value of the '<em><b>Join Table</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Join Table</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>Join Table</em>' containment reference.
+ * @see #setJoinTable(JoinTable)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedETypedElement_JoinTable()
+ * @model containment="true"
+ * @generated
+ */
+ JoinTable getJoinTable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement#getJoinTable <em>Join Table</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Join Table</em>' containment reference.
+ * @see #getJoinTable()
+ * @generated
+ */
+ void setJoinTable(JoinTable value);
+
+ /**
+ * Returns the value of the '<em><b>One To Many</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>One To Many</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>One To Many</em>' containment reference.
+ * @see #setOneToMany(OneToMany)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedETypedElement_OneToMany()
+ * @model containment="true"
+ * @generated
+ */
+ OneToMany getOneToMany();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement#getOneToMany <em>One To Many</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>One To Many</em>' containment reference.
+ * @see #getOneToMany()
+ * @generated
+ */
+ void setOneToMany(OneToMany value);
+
+ /**
+ * Returns the value of the '<em><b>Sequence Generator</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Sequence Generator</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>Sequence Generator</em>' containment reference.
+ * @see #setSequenceGenerator(SequenceGenerator)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedETypedElement_SequenceGenerator()
+ * @model containment="true"
+ * @generated
+ */
+ SequenceGenerator getSequenceGenerator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement#getSequenceGenerator <em>Sequence Generator</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Sequence Generator</em>' containment reference.
+ * @see #getSequenceGenerator()
+ * @generated
+ */
+ void setSequenceGenerator(SequenceGenerator value);
+
+ /**
+ * Returns the value of the '<em><b>Table Generators</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Table Generators</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>Table Generators</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedETypedElement_TableGenerators()
+ * @model containment="true"
+ * @generated
+ */
+ EList<TableGenerator> getTableGenerators();
+
+ /**
+ * Returns the value of the '<em><b>Join Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Join Columns</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>Join Columns</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedETypedElement_JoinColumns()
+ * @model containment="true"
+ * annotation="elver.jpa annotationName='JoinColumns' annotationClass='javax.persistence.JoinColumns'"
+ * @generated
+ */
+ EList<JoinColumn> getJoinColumns();
+
+ /**
+ * Returns the value of the '<em><b>Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Column</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>Column</em>' containment reference.
+ * @see #setColumn(Column)
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedETypedElement_Column()
+ * @model containment="true"
+ * @generated
+ */
+ Column getColumn();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement#getColumn <em>Column</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Column</em>' containment reference.
+ * @see #getColumn()
+ * @generated
+ */
+ void setColumn(Column value);
+
+} // PAnnotatedETypedElement \ No newline at end of file
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedModel.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedModel.java
new file mode 100755
index 000000000..d8e98c4c7
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PAnnotatedModel.java
@@ -0,0 +1,153 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedModel.java,v 1.16 2010/02/06 18:25:56 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EModelElement;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator;
+import org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator;
+import org.eclipse.emf.teneo.annotations.pannotation.TableGenerator;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>PAnnotated Model</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedModel#getPaEPackages <em>Pa EPackages</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedModel()
+ * @model annotation="http://www.eclipse.org/emf/2002/Ecore constraints='AtMostOnePackage DistinctGenerators'"
+ * @generated
+ */
+public interface PAnnotatedModel extends EObject {
+ /**
+ * Returns the value of the '<em><b>Pa EPackages</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getPaModel <em>Pa Model</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pa EPackages</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>Pa EPackages</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage#getPAnnotatedModel_PaEPackages()
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getPaModel
+ * @model opposite="paModel" containment="true"
+ * @generated
+ */
+ EList<PAnnotatedEPackage> getPaEPackages();
+
+ /**
+ * @return Returns the unique <code>PAnnotatedEDataType</code> associated (via the
+ * <code>annotatedElement</code> feature) to the given <code>EDataType</code>.
+ */
+ public PAnnotatedEDataType getPAnnotated(EDataType e);
+
+ /**
+ * @return Returns the unique <code>PAnnotatedEModelElement</code> associated (via the
+ * <code>annotatedElement</code> feature) to the given <code>EModelElement</code>.
+ */
+ PAnnotatedEModelElement getPAnnotated(EModelElement e);
+
+ /**
+ * @return Returns the unique <code>PAnnotatedEPackage</code> associated (via the
+ * <code>annotatedElement</code> feature) to the given <code>EPackage</code>.
+ */
+ PAnnotatedEPackage getPAnnotated(EPackage p);
+
+ /**
+ * @return Returns the unique <code>PAnnotatedEClass</code> associated (via the
+ * <code>annotatedElement</code> feature) to the given <code>EClass</code>.
+ */
+ PAnnotatedEClass getPAnnotated(EClass c);
+
+ /**
+ * @return Returns the unique <code>PAnnotatedEStructuralFeature</code> associated (via the
+ * <code>annotatedElement</code> feature) to the given <code>EStructuralFeature</code>.
+ */
+ PAnnotatedEStructuralFeature getPAnnotated(EStructuralFeature f);
+
+ /**
+ * @return Returns the unique <code>PAnnotatedEAttribute</code> associated (via the
+ * <code>annotatedElement</code> feature) to the given <code>EAttribute</code>.
+ */
+ PAnnotatedEAttribute getPAnnotated(EAttribute f);
+
+ /**
+ * @return Returns the unique <code>PAnnotatedEReference</code> associated (via the
+ * <code>annotatedElement</code> feature) to the given <code>EReference</code>.
+ */
+ PAnnotatedEReference getPAnnotated(EReference r);
+
+ /**
+ * Returns a sequence generator on the basis of its name, if not found then an exception is
+ * thrown. efeature is passed for debugging purposes.
+ */
+ public SequenceGenerator getSequenceGenerator(EStructuralFeature efeature, String name);
+
+ public SequenceStyleGenerator getSequenceStyleGenerator(EStructuralFeature efeature, String name);
+
+ /**
+ * Returns a table generator on the basis of its name, if not found then an exception is thrown.
+ * efeature is passed for debugging purposes.
+ */
+ public TableGenerator getTableGenerator(EStructuralFeature efeature, String name);
+
+ /**
+ * @return the initialized
+ */
+ public boolean isInitialized();
+
+ /**
+ * @param initialized
+ * the initialized to set
+ */
+ public void setInitialized(boolean initialized);
+
+ /** Dump this model to xml */
+ public String toXML();
+
+ /** Return the eclass annotated with this entity name. If not found then an exception is thrown */
+ public EClass getEClass(String entityName);
+
+ /** @return true if there is annotated eclass with the passed entityname */
+ public boolean hasEClass(String entityName);
+
+ /**
+ * @return the EClassifier for a certain name. First the eclasses are searched using the name as
+ * the entityname then the edatatypes are searched.
+ */
+ public EClassifier getEClassifier(String name);
+
+ /**
+ * @return true if there is an EClass with the name as entityname or an EDataType with the name
+ * passed as a parameter.
+ */
+ public boolean hasEClassifier(String name);
+
+ /** Return the mapping from epackage elements to annotated package elements */
+ public Map<EModelElement, PAnnotatedEModelElement> getModelElementMapping();
+
+ /** Merge the passed annotated model in the one present */
+ public void merge(PAnnotatedModel pModel);
+
+} // PAnnotatedModel
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PamodelFactory.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PamodelFactory.java
new file mode 100755
index 000000000..a9fc18a61
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PamodelFactory.java
@@ -0,0 +1,82 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PamodelFactory.java,v 1.6 2007/07/04 19:28:00 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel;
+
+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.annotations.pamodel.PamodelPackage
+ * @generated
+ */
+public interface PamodelFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ PamodelFactory eINSTANCE = org.eclipse.emf.teneo.annotations.pamodel.impl.PamodelFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>PAnnotated Model</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>PAnnotated Model</em>'.
+ * @generated
+ */
+ PAnnotatedModel createPAnnotatedModel();
+
+ /**
+ * Returns a new object of class '<em>PAnnotated EPackage</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>PAnnotated EPackage</em>'.
+ * @generated
+ */
+ PAnnotatedEPackage createPAnnotatedEPackage();
+
+ /**
+ * Returns a new object of class '<em>PAnnotated EClass</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>PAnnotated EClass</em>'.
+ * @generated
+ */
+ PAnnotatedEClass createPAnnotatedEClass();
+
+ /**
+ * Returns a new object of class '<em>PAnnotated EAttribute</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>PAnnotated EAttribute</em>'.
+ * @generated
+ */
+ PAnnotatedEAttribute createPAnnotatedEAttribute();
+
+ /**
+ * Returns a new object of class '<em>PAnnotated EData Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>PAnnotated EData Type</em>'.
+ * @generated
+ */
+ PAnnotatedEDataType createPAnnotatedEDataType();
+
+ /**
+ * Returns a new object of class '<em>PAnnotated EReference</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>PAnnotated EReference</em>'.
+ * @generated
+ */
+ PAnnotatedEReference createPAnnotatedEReference();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ PamodelPackage getPamodelPackage();
+
+} // PamodelFactory
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PamodelPackage.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PamodelPackage.java
new file mode 100755
index 000000000..beebd4848
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/PamodelPackage.java
@@ -0,0 +1,2716 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PamodelPackage.java,v 1.23 2010/07/19 11:48:57 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel;
+
+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.annotations.pamodel.PamodelFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface PamodelPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "pamodel";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/emf/teneo/elver/2005/pamodel";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "org.elver.pamodel";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ PamodelPackage eINSTANCE = org.eclipse.emf.teneo.annotations.pamodel.impl.PamodelPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEModelElementImpl <em>PAnnotated EModel Element</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEModelElementImpl
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PamodelPackageImpl#getPAnnotatedEModelElement()
+ * @generated
+ */
+ int PANNOTATED_EMODEL_ELEMENT = 0;
+
+ /**
+ * The feature id for the '<em><b>Model Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EMODEL_ELEMENT__MODEL_ELEMENT = 0;
+
+ /**
+ * The feature id for the '<em><b>Transient</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EMODEL_ELEMENT__TRANSIENT = 1;
+
+ /**
+ * The number of structural features of the '<em>PAnnotated EModel Element</em>' class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedModelImpl <em>PAnnotated Model</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedModelImpl
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PamodelPackageImpl#getPAnnotatedModel()
+ * @generated
+ */
+ int PANNOTATED_MODEL = 1;
+
+ /**
+ * The feature id for the '<em><b>Pa EPackages</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_MODEL__PA_EPACKAGES = 0;
+
+ /**
+ * The number of structural features of the '<em>PAnnotated Model</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_MODEL_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEPackageImpl <em>PAnnotated EPackage</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEPackageImpl
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PamodelPackageImpl#getPAnnotatedEPackage()
+ * @generated
+ */
+ int PANNOTATED_EPACKAGE = 2;
+
+ /**
+ * The feature id for the '<em><b>Model Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EPACKAGE__MODEL_ELEMENT = PANNOTATED_EMODEL_ELEMENT__MODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Transient</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EPACKAGE__TRANSIENT = PANNOTATED_EMODEL_ELEMENT__TRANSIENT;
+
+ /**
+ * The feature id for the '<em><b>Pa Model</b></em>' container reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EPACKAGE__PA_MODEL = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Model EPackage</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EPACKAGE__MODEL_EPACKAGE = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Pa EClasses</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EPACKAGE__PA_ECLASSES = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Sequence Generators</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EPACKAGE__SEQUENCE_GENERATORS = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Table Generators</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EPACKAGE__TABLE_GENERATORS = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Pa EData Types</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EPACKAGE__PA_EDATA_TYPES = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Sequence Style Generators</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EPACKAGE__SEQUENCE_STYLE_GENERATORS = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The number of structural features of the '<em>PAnnotated EPackage</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EPACKAGE_FEATURE_COUNT = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEClassImpl <em>PAnnotated EClass</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEClassImpl
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PamodelPackageImpl#getPAnnotatedEClass()
+ * @generated
+ */
+ int PANNOTATED_ECLASS = 3;
+
+ /**
+ * The feature id for the '<em><b>Model Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ECLASS__MODEL_ELEMENT = PANNOTATED_EMODEL_ELEMENT__MODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Transient</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ECLASS__TRANSIENT = PANNOTATED_EMODEL_ELEMENT__TRANSIENT;
+
+ /**
+ * The feature id for the '<em><b>Pa EPackage</b></em>' container reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ECLASS__PA_EPACKAGE = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Model EClass</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ECLASS__MODEL_ECLASS = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Pa EStructural Features</b></em>' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ECLASS__PA_ESTRUCTURAL_FEATURES = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Attribute Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ECLASS__ATTRIBUTE_OVERRIDES = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Discriminator Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ECLASS__DISCRIMINATOR_COLUMN = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Discriminator Value</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ECLASS__DISCRIMINATOR_VALUE = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Embeddable</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ECLASS__EMBEDDABLE = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Mapped Superclass</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ECLASS__MAPPED_SUPERCLASS = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Entity</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ECLASS__ENTITY = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Id Class</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ECLASS__ID_CLASS = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Inheritance</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ECLASS__INHERITANCE = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Primary Key Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ECLASS__PRIMARY_KEY_JOIN_COLUMNS = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the '<em><b>Secondary Tables</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ECLASS__SECONDARY_TABLES = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 12;
+
+ /**
+ * The feature id for the '<em><b>Table</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ECLASS__TABLE = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 13;
+
+ /**
+ * The feature id for the '<em><b>Table Generator</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ECLASS__TABLE_GENERATOR = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 14;
+
+ /**
+ * The feature id for the '<em><b>Association Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ECLASS__ASSOCIATION_OVERRIDES = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 15;
+
+ /**
+ * The feature id for the '<em><b>Eav Mapping</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ECLASS__EAV_MAPPING = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 16;
+
+ /**
+ * The feature id for the '<em><b>No EAV Mapping</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ECLASS__NO_EAV_MAPPING = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 17;
+
+ /**
+ * The feature id for the '<em><b>Sequence Generators</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ECLASS__SEQUENCE_GENERATORS = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 18;
+
+ /**
+ * The number of structural features of the '<em>PAnnotated EClass</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ECLASS_FEATURE_COUNT = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 19;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedETypedElementImpl <em>PAnnotated ETyped Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedETypedElementImpl
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PamodelPackageImpl#getPAnnotatedETypedElement()
+ * @generated
+ */
+ int PANNOTATED_ETYPED_ELEMENT = 7;
+
+ /**
+ * The feature id for the '<em><b>Model Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ETYPED_ELEMENT__MODEL_ELEMENT = PANNOTATED_EMODEL_ELEMENT__MODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Transient</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ETYPED_ELEMENT__TRANSIENT = PANNOTATED_EMODEL_ELEMENT__TRANSIENT;
+
+ /**
+ * The feature id for the '<em><b>Attribute Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ETYPED_ELEMENT__ATTRIBUTE_OVERRIDES = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Join Table</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ETYPED_ELEMENT__JOIN_TABLE = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>One To Many</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ETYPED_ELEMENT__ONE_TO_MANY = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Sequence Generator</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ETYPED_ELEMENT__SEQUENCE_GENERATOR = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Table Generators</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ETYPED_ELEMENT__TABLE_GENERATORS = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ETYPED_ELEMENT__JOIN_COLUMNS = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ETYPED_ELEMENT__COLUMN = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The number of structural features of the '<em>PAnnotated ETyped Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ETYPED_ELEMENT_FEATURE_COUNT = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEStructuralFeatureImpl <em>PAnnotated EStructural Feature</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEStructuralFeatureImpl
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PamodelPackageImpl#getPAnnotatedEStructuralFeature()
+ * @generated
+ */
+ int PANNOTATED_ESTRUCTURAL_FEATURE = 4;
+
+ /**
+ * The feature id for the '<em><b>Model Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ESTRUCTURAL_FEATURE__MODEL_ELEMENT = PANNOTATED_ETYPED_ELEMENT__MODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Transient</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ESTRUCTURAL_FEATURE__TRANSIENT = PANNOTATED_ETYPED_ELEMENT__TRANSIENT;
+
+ /**
+ * The feature id for the '<em><b>Attribute Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ESTRUCTURAL_FEATURE__ATTRIBUTE_OVERRIDES = PANNOTATED_ETYPED_ELEMENT__ATTRIBUTE_OVERRIDES;
+
+ /**
+ * The feature id for the '<em><b>Join Table</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ESTRUCTURAL_FEATURE__JOIN_TABLE = PANNOTATED_ETYPED_ELEMENT__JOIN_TABLE;
+
+ /**
+ * The feature id for the '<em><b>One To Many</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ESTRUCTURAL_FEATURE__ONE_TO_MANY = PANNOTATED_ETYPED_ELEMENT__ONE_TO_MANY;
+
+ /**
+ * The feature id for the '<em><b>Sequence Generator</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ESTRUCTURAL_FEATURE__SEQUENCE_GENERATOR = PANNOTATED_ETYPED_ELEMENT__SEQUENCE_GENERATOR;
+
+ /**
+ * The feature id for the '<em><b>Table Generators</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ESTRUCTURAL_FEATURE__TABLE_GENERATORS = PANNOTATED_ETYPED_ELEMENT__TABLE_GENERATORS;
+
+ /**
+ * The feature id for the '<em><b>Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ESTRUCTURAL_FEATURE__JOIN_COLUMNS = PANNOTATED_ETYPED_ELEMENT__JOIN_COLUMNS;
+
+ /**
+ * The feature id for the '<em><b>Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ESTRUCTURAL_FEATURE__COLUMN = PANNOTATED_ETYPED_ELEMENT__COLUMN;
+
+ /**
+ * The feature id for the '<em><b>Pa EClass</b></em>' container reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ESTRUCTURAL_FEATURE__PA_ECLASS = PANNOTATED_ETYPED_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Model EStructural Feature</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ESTRUCTURAL_FEATURE__MODEL_ESTRUCTURAL_FEATURE = PANNOTATED_ETYPED_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Foreign Key</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ESTRUCTURAL_FEATURE__FOREIGN_KEY = PANNOTATED_ETYPED_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>List Index Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ESTRUCTURAL_FEATURE__LIST_INDEX_COLUMN = PANNOTATED_ETYPED_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the the '<em>PAnnotated EStructural Feature</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT = PANNOTATED_ETYPED_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEAttributeImpl <em>PAnnotated EAttribute</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEAttributeImpl
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PamodelPackageImpl#getPAnnotatedEAttribute()
+ * @generated
+ */
+ int PANNOTATED_EATTRIBUTE = 5;
+
+ /**
+ * The feature id for the '<em><b>Model Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EATTRIBUTE__MODEL_ELEMENT = PANNOTATED_ESTRUCTURAL_FEATURE__MODEL_ELEMENT;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEDataTypeImpl <em>PAnnotated EData Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEDataTypeImpl
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PamodelPackageImpl#getPAnnotatedEDataType()
+ * @generated
+ */
+ int PANNOTATED_EDATA_TYPE = 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEReferenceImpl <em>PAnnotated EReference</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEReferenceImpl
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PamodelPackageImpl#getPAnnotatedEReference()
+ * @generated
+ */
+ int PANNOTATED_EREFERENCE = 6;
+
+ /**
+ * The feature id for the '<em><b>Transient</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EATTRIBUTE__TRANSIENT = PANNOTATED_ESTRUCTURAL_FEATURE__TRANSIENT;
+
+ /**
+ * The feature id for the '<em><b>Attribute Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EATTRIBUTE__ATTRIBUTE_OVERRIDES = PANNOTATED_ESTRUCTURAL_FEATURE__ATTRIBUTE_OVERRIDES;
+
+ /**
+ * The feature id for the '<em><b>Join Table</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EATTRIBUTE__JOIN_TABLE = PANNOTATED_ESTRUCTURAL_FEATURE__JOIN_TABLE;
+
+ /**
+ * The feature id for the '<em><b>One To Many</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EATTRIBUTE__ONE_TO_MANY = PANNOTATED_ESTRUCTURAL_FEATURE__ONE_TO_MANY;
+
+ /**
+ * The feature id for the '<em><b>Sequence Generator</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EATTRIBUTE__SEQUENCE_GENERATOR = PANNOTATED_ESTRUCTURAL_FEATURE__SEQUENCE_GENERATOR;
+
+ /**
+ * The feature id for the '<em><b>Table Generators</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EATTRIBUTE__TABLE_GENERATORS = PANNOTATED_ESTRUCTURAL_FEATURE__TABLE_GENERATORS;
+
+ /**
+ * The feature id for the '<em><b>Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EATTRIBUTE__JOIN_COLUMNS = PANNOTATED_ESTRUCTURAL_FEATURE__JOIN_COLUMNS;
+
+ /**
+ * The feature id for the '<em><b>Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EATTRIBUTE__COLUMN = PANNOTATED_ESTRUCTURAL_FEATURE__COLUMN;
+
+ /**
+ * The feature id for the '<em><b>Pa EClass</b></em>' container reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EATTRIBUTE__PA_ECLASS = PANNOTATED_ESTRUCTURAL_FEATURE__PA_ECLASS;
+
+ /**
+ * The feature id for the '<em><b>Model EStructural Feature</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EATTRIBUTE__MODEL_ESTRUCTURAL_FEATURE = PANNOTATED_ESTRUCTURAL_FEATURE__MODEL_ESTRUCTURAL_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Foreign Key</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EATTRIBUTE__FOREIGN_KEY = PANNOTATED_ESTRUCTURAL_FEATURE__FOREIGN_KEY;
+
+ /**
+ * The feature id for the '<em><b>List Index Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EATTRIBUTE__LIST_INDEX_COLUMN = PANNOTATED_ESTRUCTURAL_FEATURE__LIST_INDEX_COLUMN;
+
+ /**
+ * The feature id for the '<em><b>Model EAttribute</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EATTRIBUTE__MODEL_EATTRIBUTE = PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Basic</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EATTRIBUTE__BASIC = PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Enumerated</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EATTRIBUTE__ENUMERATED = PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Generated Value</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EATTRIBUTE__GENERATED_VALUE = PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' containment reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EATTRIBUTE__ID = PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Lob</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EATTRIBUTE__LOB = PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Temporal</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EATTRIBUTE__TEMPORAL = PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EATTRIBUTE__VERSION = PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 7;
+
+ /**
+ * The number of structural features of the '<em>PAnnotated EAttribute</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EATTRIBUTE_FEATURE_COUNT = PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Model Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EREFERENCE__MODEL_ELEMENT = PANNOTATED_ESTRUCTURAL_FEATURE__MODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Transient</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EREFERENCE__TRANSIENT = PANNOTATED_ESTRUCTURAL_FEATURE__TRANSIENT;
+
+ /**
+ * The feature id for the '<em><b>Attribute Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EREFERENCE__ATTRIBUTE_OVERRIDES = PANNOTATED_ESTRUCTURAL_FEATURE__ATTRIBUTE_OVERRIDES;
+
+ /**
+ * The feature id for the '<em><b>Join Table</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EREFERENCE__JOIN_TABLE = PANNOTATED_ESTRUCTURAL_FEATURE__JOIN_TABLE;
+
+ /**
+ * The feature id for the '<em><b>One To Many</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EREFERENCE__ONE_TO_MANY = PANNOTATED_ESTRUCTURAL_FEATURE__ONE_TO_MANY;
+
+ /**
+ * The feature id for the '<em><b>Sequence Generator</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EREFERENCE__SEQUENCE_GENERATOR = PANNOTATED_ESTRUCTURAL_FEATURE__SEQUENCE_GENERATOR;
+
+ /**
+ * The feature id for the '<em><b>Table Generators</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EREFERENCE__TABLE_GENERATORS = PANNOTATED_ESTRUCTURAL_FEATURE__TABLE_GENERATORS;
+
+ /**
+ * The feature id for the '<em><b>Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EREFERENCE__JOIN_COLUMNS = PANNOTATED_ESTRUCTURAL_FEATURE__JOIN_COLUMNS;
+
+ /**
+ * The feature id for the '<em><b>Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EREFERENCE__COLUMN = PANNOTATED_ESTRUCTURAL_FEATURE__COLUMN;
+
+ /**
+ * The feature id for the '<em><b>Pa EClass</b></em>' container reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EREFERENCE__PA_ECLASS = PANNOTATED_ESTRUCTURAL_FEATURE__PA_ECLASS;
+
+ /**
+ * The feature id for the '<em><b>Model EStructural Feature</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EREFERENCE__MODEL_ESTRUCTURAL_FEATURE = PANNOTATED_ESTRUCTURAL_FEATURE__MODEL_ESTRUCTURAL_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Foreign Key</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EREFERENCE__FOREIGN_KEY = PANNOTATED_ESTRUCTURAL_FEATURE__FOREIGN_KEY;
+
+ /**
+ * The feature id for the '<em><b>List Index Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EREFERENCE__LIST_INDEX_COLUMN = PANNOTATED_ESTRUCTURAL_FEATURE__LIST_INDEX_COLUMN;
+
+ /**
+ * The feature id for the '<em><b>Model EReference</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EREFERENCE__MODEL_EREFERENCE = PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Embedded</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EREFERENCE__EMBEDDED = PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Embedded Id</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EREFERENCE__EMBEDDED_ID = PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Many To Many</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EREFERENCE__MANY_TO_MANY = PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Many To One</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EREFERENCE__MANY_TO_ONE = PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Map Key</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EREFERENCE__MAP_KEY = PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>One To One</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EREFERENCE__ONE_TO_ONE = PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Order By</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EREFERENCE__ORDER_BY = PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Primary Key Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EREFERENCE__PRIMARY_KEY_JOIN_COLUMNS = PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Association Overrides</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EREFERENCE__ASSOCIATION_OVERRIDES = PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>External</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EREFERENCE__EXTERNAL = PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 10;
+
+ /**
+ * The number of structural features of the '<em>PAnnotated EReference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EREFERENCE_FEATURE_COUNT = PANNOTATED_ESTRUCTURAL_FEATURE_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the '<em><b>Model Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EDATA_TYPE__MODEL_ELEMENT = PANNOTATED_EMODEL_ELEMENT__MODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Transient</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EDATA_TYPE__TRANSIENT = PANNOTATED_EMODEL_ELEMENT__TRANSIENT;
+
+ /**
+ * The feature id for the '<em><b>Model EData Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EDATA_TYPE__MODEL_EDATA_TYPE = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Basic</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EDATA_TYPE__BASIC = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Enumerated</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EDATA_TYPE__ENUMERATED = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Generated Value</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EDATA_TYPE__GENERATED_VALUE = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EDATA_TYPE__ID = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Lob</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EDATA_TYPE__LOB = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Temporal</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EDATA_TYPE__TEMPORAL = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EDATA_TYPE__VERSION = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Pa EPackage</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EDATA_TYPE__PA_EPACKAGE = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EDATA_TYPE__COLUMN = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 9;
+
+ /**
+ * The number of structural features of the '<em>PAnnotated EData Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATED_EDATA_TYPE_FEATURE_COUNT = PANNOTATED_EMODEL_ELEMENT_FEATURE_COUNT + 10;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEModelElement <em>PAnnotated EModel Element</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>PAnnotated EModel Element</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEModelElement
+ * @generated
+ */
+ EClass getPAnnotatedEModelElement();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEModelElement#getModelElement <em>Model Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Model Element</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEModelElement#getModelElement()
+ * @see #getPAnnotatedEModelElement()
+ * @generated
+ */
+ EReference getPAnnotatedEModelElement_ModelElement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEModelElement#getTransient <em>Transient</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Transient</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEModelElement#getTransient()
+ * @see #getPAnnotatedEModelElement()
+ * @generated
+ */
+ EReference getPAnnotatedEModelElement_Transient();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedModel <em>PAnnotated Model</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>PAnnotated Model</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedModel
+ * @generated
+ */
+ EClass getPAnnotatedModel();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedModel#getPaEPackages <em>Pa EPackages</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Pa EPackages</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedModel#getPaEPackages()
+ * @see #getPAnnotatedModel()
+ * @generated
+ */
+ EReference getPAnnotatedModel_PaEPackages();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage <em>PAnnotated EPackage</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>PAnnotated EPackage</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage
+ * @generated
+ */
+ EClass getPAnnotatedEPackage();
+
+ /**
+ * Returns the meta object for the container reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getPaModel <em>Pa Model</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the container reference '<em>Pa Model</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getPaModel()
+ * @see #getPAnnotatedEPackage()
+ * @generated
+ */
+ EReference getPAnnotatedEPackage_PaModel();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getModelEPackage <em>Model EPackage</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Model EPackage</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getModelEPackage()
+ * @see #getPAnnotatedEPackage()
+ * @generated
+ */
+ EReference getPAnnotatedEPackage_ModelEPackage();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getPaEClasses <em>Pa EClasses</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Pa EClasses</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getPaEClasses()
+ * @see #getPAnnotatedEPackage()
+ * @generated
+ */
+ EReference getPAnnotatedEPackage_PaEClasses();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getSequenceGenerators <em>Sequence Generators</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Sequence Generators</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getSequenceGenerators()
+ * @see #getPAnnotatedEPackage()
+ * @generated
+ */
+ EReference getPAnnotatedEPackage_SequenceGenerators();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getTableGenerators <em>Table Generators</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Table Generators</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getTableGenerators()
+ * @see #getPAnnotatedEPackage()
+ * @generated
+ */
+ EReference getPAnnotatedEPackage_TableGenerators();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getPaEDataTypes <em>Pa EData Types</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Pa EData Types</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getPaEDataTypes()
+ * @see #getPAnnotatedEPackage()
+ * @generated
+ */
+ EReference getPAnnotatedEPackage_PaEDataTypes();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getSequenceStyleGenerators <em>Sequence Style Generators</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Sequence Style Generators</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage#getSequenceStyleGenerators()
+ * @see #getPAnnotatedEPackage()
+ * @generated
+ */
+ EReference getPAnnotatedEPackage_SequenceStyleGenerators();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass <em>PAnnotated EClass</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>PAnnotated EClass</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass
+ * @generated
+ */
+ EClass getPAnnotatedEClass();
+
+ /**
+ * Returns the meta object for the container reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getPaEPackage <em>Pa EPackage</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the container reference '<em>Pa EPackage</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getPaEPackage()
+ * @see #getPAnnotatedEClass()
+ * @generated
+ */
+ EReference getPAnnotatedEClass_PaEPackage();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getModelEClass <em>Model EClass</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Model EClass</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getModelEClass()
+ * @see #getPAnnotatedEClass()
+ * @generated
+ */
+ EReference getPAnnotatedEClass_ModelEClass();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getPaEStructuralFeatures <em>Pa EStructural Features</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Pa EStructural Features</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getPaEStructuralFeatures()
+ * @see #getPAnnotatedEClass()
+ * @generated
+ */
+ EReference getPAnnotatedEClass_PaEStructuralFeatures();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getAttributeOverrides <em>Attribute Overrides</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Attribute Overrides</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getAttributeOverrides()
+ * @see #getPAnnotatedEClass()
+ * @generated
+ */
+ EReference getPAnnotatedEClass_AttributeOverrides();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getDiscriminatorColumn <em>Discriminator Column</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Discriminator Column</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getDiscriminatorColumn()
+ * @see #getPAnnotatedEClass()
+ * @generated
+ */
+ EReference getPAnnotatedEClass_DiscriminatorColumn();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getDiscriminatorValue <em>Discriminator Value</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Discriminator Value</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getDiscriminatorValue()
+ * @see #getPAnnotatedEClass()
+ * @generated
+ */
+ EReference getPAnnotatedEClass_DiscriminatorValue();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getEmbeddable <em>Embeddable</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Embeddable</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getEmbeddable()
+ * @see #getPAnnotatedEClass()
+ * @generated
+ */
+ EReference getPAnnotatedEClass_Embeddable();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getMappedSuperclass <em>Mapped Superclass</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Mapped Superclass</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getMappedSuperclass()
+ * @see #getPAnnotatedEClass()
+ * @generated
+ */
+ EReference getPAnnotatedEClass_MappedSuperclass();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getEntity <em>Entity</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Entity</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getEntity()
+ * @see #getPAnnotatedEClass()
+ * @generated
+ */
+ EReference getPAnnotatedEClass_Entity();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getIdClass <em>Id Class</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Id Class</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getIdClass()
+ * @see #getPAnnotatedEClass()
+ * @generated
+ */
+ EReference getPAnnotatedEClass_IdClass();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getInheritance <em>Inheritance</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Inheritance</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getInheritance()
+ * @see #getPAnnotatedEClass()
+ * @generated
+ */
+ EReference getPAnnotatedEClass_Inheritance();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getPrimaryKeyJoinColumns <em>Primary Key Join Columns</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Primary Key Join Columns</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getPrimaryKeyJoinColumns()
+ * @see #getPAnnotatedEClass()
+ * @generated
+ */
+ EReference getPAnnotatedEClass_PrimaryKeyJoinColumns();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getSecondaryTables <em>Secondary Tables</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Secondary Tables</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getSecondaryTables()
+ * @see #getPAnnotatedEClass()
+ * @generated
+ */
+ EReference getPAnnotatedEClass_SecondaryTables();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getTable <em>Table</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Table</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getTable()
+ * @see #getPAnnotatedEClass()
+ * @generated
+ */
+ EReference getPAnnotatedEClass_Table();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getTableGenerator <em>Table Generator</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Table Generator</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getTableGenerator()
+ * @see #getPAnnotatedEClass()
+ * @generated
+ */
+ EReference getPAnnotatedEClass_TableGenerator();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getAssociationOverrides <em>Association Overrides</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Association Overrides</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getAssociationOverrides()
+ * @see #getPAnnotatedEClass()
+ * @generated
+ */
+ EReference getPAnnotatedEClass_AssociationOverrides();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getEavMapping <em>Eav Mapping</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Eav Mapping</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getEavMapping()
+ * @see #getPAnnotatedEClass()
+ * @generated
+ */
+ EReference getPAnnotatedEClass_EavMapping();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getNoEAVMapping <em>No EAV Mapping</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>No EAV Mapping</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getNoEAVMapping()
+ * @see #getPAnnotatedEClass()
+ * @generated
+ */
+ EReference getPAnnotatedEClass_NoEAVMapping();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getSequenceGenerators <em>Sequence Generators</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Sequence Generators</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass#getSequenceGenerators()
+ * @see #getPAnnotatedEClass()
+ * @generated
+ */
+ EReference getPAnnotatedEClass_SequenceGenerators();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature <em>PAnnotated EStructural Feature</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>PAnnotated EStructural Feature</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature
+ * @generated
+ */
+ EClass getPAnnotatedEStructuralFeature();
+
+ /**
+ * Returns the meta object for the container reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature#getPaEClass <em>Pa EClass</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the container reference '<em>Pa EClass</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature#getPaEClass()
+ * @see #getPAnnotatedEStructuralFeature()
+ * @generated
+ */
+ EReference getPAnnotatedEStructuralFeature_PaEClass();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature#getModelEStructuralFeature <em>Model EStructural Feature</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Model EStructural Feature</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature#getModelEStructuralFeature()
+ * @see #getPAnnotatedEStructuralFeature()
+ * @generated
+ */
+ EReference getPAnnotatedEStructuralFeature_ModelEStructuralFeature();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature#getForeignKey <em>Foreign Key</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Foreign Key</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature#getForeignKey()
+ * @see #getPAnnotatedEStructuralFeature()
+ * @generated
+ */
+ EReference getPAnnotatedEStructuralFeature_ForeignKey();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature#getListIndexColumn <em>List Index Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>List Index Column</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature#getListIndexColumn()
+ * @see #getPAnnotatedEStructuralFeature()
+ * @generated
+ */
+ EReference getPAnnotatedEStructuralFeature_ListIndexColumn();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute <em>PAnnotated EAttribute</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>PAnnotated EAttribute</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute
+ * @generated
+ */
+ EClass getPAnnotatedEAttribute();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getModelEAttribute <em>Model EAttribute</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Model EAttribute</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getModelEAttribute()
+ * @see #getPAnnotatedEAttribute()
+ * @generated
+ */
+ EReference getPAnnotatedEAttribute_ModelEAttribute();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getBasic <em>Basic</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Basic</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getBasic()
+ * @see #getPAnnotatedEAttribute()
+ * @generated
+ */
+ EReference getPAnnotatedEAttribute_Basic();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getEnumerated <em>Enumerated</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Enumerated</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getEnumerated()
+ * @see #getPAnnotatedEAttribute()
+ * @generated
+ */
+ EReference getPAnnotatedEAttribute_Enumerated();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getGeneratedValue <em>Generated Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Generated Value</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getGeneratedValue()
+ * @see #getPAnnotatedEAttribute()
+ * @generated
+ */
+ EReference getPAnnotatedEAttribute_GeneratedValue();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Id</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getId()
+ * @see #getPAnnotatedEAttribute()
+ * @generated
+ */
+ EReference getPAnnotatedEAttribute_Id();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getLob <em>Lob</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Lob</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getLob()
+ * @see #getPAnnotatedEAttribute()
+ * @generated
+ */
+ EReference getPAnnotatedEAttribute_Lob();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getTemporal <em>Temporal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Temporal</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getTemporal()
+ * @see #getPAnnotatedEAttribute()
+ * @generated
+ */
+ EReference getPAnnotatedEAttribute_Temporal();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getVersion <em>Version</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Version</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute#getVersion()
+ * @see #getPAnnotatedEAttribute()
+ * @generated
+ */
+ EReference getPAnnotatedEAttribute_Version();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType <em>PAnnotated EData Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>PAnnotated EData Type</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType
+ * @generated
+ */
+ EClass getPAnnotatedEDataType();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getModelEDataType <em>Model EData Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Model EData Type</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getModelEDataType()
+ * @see #getPAnnotatedEDataType()
+ * @generated
+ */
+ EReference getPAnnotatedEDataType_ModelEDataType();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getBasic <em>Basic</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Basic</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getBasic()
+ * @see #getPAnnotatedEDataType()
+ * @generated
+ */
+ EReference getPAnnotatedEDataType_Basic();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getEnumerated <em>Enumerated</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Enumerated</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getEnumerated()
+ * @see #getPAnnotatedEDataType()
+ * @generated
+ */
+ EReference getPAnnotatedEDataType_Enumerated();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getGeneratedValue <em>Generated Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Generated Value</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getGeneratedValue()
+ * @see #getPAnnotatedEDataType()
+ * @generated
+ */
+ EReference getPAnnotatedEDataType_GeneratedValue();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Id</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getId()
+ * @see #getPAnnotatedEDataType()
+ * @generated
+ */
+ EReference getPAnnotatedEDataType_Id();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getLob <em>Lob</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Lob</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getLob()
+ * @see #getPAnnotatedEDataType()
+ * @generated
+ */
+ EReference getPAnnotatedEDataType_Lob();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getTemporal <em>Temporal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Temporal</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getTemporal()
+ * @see #getPAnnotatedEDataType()
+ * @generated
+ */
+ EReference getPAnnotatedEDataType_Temporal();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getVersion <em>Version</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Version</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getVersion()
+ * @see #getPAnnotatedEDataType()
+ * @generated
+ */
+ EReference getPAnnotatedEDataType_Version();
+
+ /**
+ * Returns the meta object for the container reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getPaEPackage <em>Pa EPackage</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the container reference '<em>Pa EPackage</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getPaEPackage()
+ * @see #getPAnnotatedEDataType()
+ * @generated
+ */
+ EReference getPAnnotatedEDataType_PaEPackage();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getColumn <em>Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Column</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType#getColumn()
+ * @see #getPAnnotatedEDataType()
+ * @generated
+ */
+ EReference getPAnnotatedEDataType_Column();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference <em>PAnnotated EReference</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>PAnnotated EReference</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference
+ * @generated
+ */
+ EClass getPAnnotatedEReference();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getModelEReference <em>Model EReference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Model EReference</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getModelEReference()
+ * @see #getPAnnotatedEReference()
+ * @generated
+ */
+ EReference getPAnnotatedEReference_ModelEReference();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getEmbedded <em>Embedded</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Embedded</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getEmbedded()
+ * @see #getPAnnotatedEReference()
+ * @generated
+ */
+ EReference getPAnnotatedEReference_Embedded();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getEmbeddedId <em>Embedded Id</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Embedded Id</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getEmbeddedId()
+ * @see #getPAnnotatedEReference()
+ * @generated
+ */
+ EReference getPAnnotatedEReference_EmbeddedId();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getManyToMany <em>Many To Many</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Many To Many</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getManyToMany()
+ * @see #getPAnnotatedEReference()
+ * @generated
+ */
+ EReference getPAnnotatedEReference_ManyToMany();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getManyToOne <em>Many To One</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Many To One</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getManyToOne()
+ * @see #getPAnnotatedEReference()
+ * @generated
+ */
+ EReference getPAnnotatedEReference_ManyToOne();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getMapKey <em>Map Key</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Map Key</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getMapKey()
+ * @see #getPAnnotatedEReference()
+ * @generated
+ */
+ EReference getPAnnotatedEReference_MapKey();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getOneToOne <em>One To One</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>One To One</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getOneToOne()
+ * @see #getPAnnotatedEReference()
+ * @generated
+ */
+ EReference getPAnnotatedEReference_OneToOne();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getOrderBy <em>Order By</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Order By</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getOrderBy()
+ * @see #getPAnnotatedEReference()
+ * @generated
+ */
+ EReference getPAnnotatedEReference_OrderBy();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getPrimaryKeyJoinColumns <em>Primary Key Join Columns</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Primary Key Join Columns</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getPrimaryKeyJoinColumns()
+ * @see #getPAnnotatedEReference()
+ * @generated
+ */
+ EReference getPAnnotatedEReference_PrimaryKeyJoinColumns();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getAssociationOverrides <em>Association Overrides</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Association Overrides</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getAssociationOverrides()
+ * @see #getPAnnotatedEReference()
+ * @generated
+ */
+ EReference getPAnnotatedEReference_AssociationOverrides();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getExternal <em>External</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>External</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference#getExternal()
+ * @see #getPAnnotatedEReference()
+ * @generated
+ */
+ EReference getPAnnotatedEReference_External();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement <em>PAnnotated ETyped Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>PAnnotated ETyped Element</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement
+ * @generated
+ */
+ EClass getPAnnotatedETypedElement();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement#getAttributeOverrides <em>Attribute Overrides</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Attribute Overrides</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement#getAttributeOverrides()
+ * @see #getPAnnotatedETypedElement()
+ * @generated
+ */
+ EReference getPAnnotatedETypedElement_AttributeOverrides();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement#getJoinTable <em>Join Table</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Join Table</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement#getJoinTable()
+ * @see #getPAnnotatedETypedElement()
+ * @generated
+ */
+ EReference getPAnnotatedETypedElement_JoinTable();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement#getOneToMany <em>One To Many</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>One To Many</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement#getOneToMany()
+ * @see #getPAnnotatedETypedElement()
+ * @generated
+ */
+ EReference getPAnnotatedETypedElement_OneToMany();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement#getSequenceGenerator <em>Sequence Generator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Sequence Generator</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement#getSequenceGenerator()
+ * @see #getPAnnotatedETypedElement()
+ * @generated
+ */
+ EReference getPAnnotatedETypedElement_SequenceGenerator();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement#getTableGenerators <em>Table Generators</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Table Generators</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement#getTableGenerators()
+ * @see #getPAnnotatedETypedElement()
+ * @generated
+ */
+ EReference getPAnnotatedETypedElement_TableGenerators();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement#getJoinColumns <em>Join Columns</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Join Columns</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement#getJoinColumns()
+ * @see #getPAnnotatedETypedElement()
+ * @generated
+ */
+ EReference getPAnnotatedETypedElement_JoinColumns();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement#getColumn <em>Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Column</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement#getColumn()
+ * @see #getPAnnotatedETypedElement()
+ * @generated
+ */
+ EReference getPAnnotatedETypedElement_Column();
+
+ /**
+ * 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
+ */
+ PamodelFactory getPamodelFactory();
+
+ /**
+ * <!-- 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.annotations.pamodel.impl.PAnnotatedEModelElementImpl <em>PAnnotated EModel Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEModelElementImpl
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PamodelPackageImpl#getPAnnotatedEModelElement()
+ * @generated
+ */
+ EClass PANNOTATED_EMODEL_ELEMENT = eINSTANCE.getPAnnotatedEModelElement();
+
+ /**
+ * The meta object literal for the '<em><b>Model Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EMODEL_ELEMENT__MODEL_ELEMENT = eINSTANCE.getPAnnotatedEModelElement_ModelElement();
+
+ /**
+ * The meta object literal for the '<em><b>Transient</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EMODEL_ELEMENT__TRANSIENT = eINSTANCE.getPAnnotatedEModelElement_Transient();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedModelImpl <em>PAnnotated Model</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedModelImpl
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PamodelPackageImpl#getPAnnotatedModel()
+ * @generated
+ */
+ EClass PANNOTATED_MODEL = eINSTANCE.getPAnnotatedModel();
+
+ /**
+ * The meta object literal for the '<em><b>Pa EPackages</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_MODEL__PA_EPACKAGES = eINSTANCE.getPAnnotatedModel_PaEPackages();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEPackageImpl <em>PAnnotated EPackage</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEPackageImpl
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PamodelPackageImpl#getPAnnotatedEPackage()
+ * @generated
+ */
+ EClass PANNOTATED_EPACKAGE = eINSTANCE.getPAnnotatedEPackage();
+
+ /**
+ * The meta object literal for the '<em><b>Pa Model</b></em>' container reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EPACKAGE__PA_MODEL = eINSTANCE.getPAnnotatedEPackage_PaModel();
+
+ /**
+ * The meta object literal for the '<em><b>Model EPackage</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EPACKAGE__MODEL_EPACKAGE = eINSTANCE.getPAnnotatedEPackage_ModelEPackage();
+
+ /**
+ * The meta object literal for the '<em><b>Pa EClasses</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EPACKAGE__PA_ECLASSES = eINSTANCE.getPAnnotatedEPackage_PaEClasses();
+
+ /**
+ * The meta object literal for the '<em><b>Sequence Generators</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EPACKAGE__SEQUENCE_GENERATORS = eINSTANCE.getPAnnotatedEPackage_SequenceGenerators();
+
+ /**
+ * The meta object literal for the '<em><b>Table Generators</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EPACKAGE__TABLE_GENERATORS = eINSTANCE.getPAnnotatedEPackage_TableGenerators();
+
+ /**
+ * The meta object literal for the '<em><b>Pa EData Types</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EPACKAGE__PA_EDATA_TYPES = eINSTANCE.getPAnnotatedEPackage_PaEDataTypes();
+
+ /**
+ * The meta object literal for the '<em><b>Sequence Style Generators</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EPACKAGE__SEQUENCE_STYLE_GENERATORS = eINSTANCE.getPAnnotatedEPackage_SequenceStyleGenerators();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEClassImpl <em>PAnnotated EClass</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEClassImpl
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PamodelPackageImpl#getPAnnotatedEClass()
+ * @generated
+ */
+ EClass PANNOTATED_ECLASS = eINSTANCE.getPAnnotatedEClass();
+
+ /**
+ * The meta object literal for the '<em><b>Pa EPackage</b></em>' container reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ECLASS__PA_EPACKAGE = eINSTANCE.getPAnnotatedEClass_PaEPackage();
+
+ /**
+ * The meta object literal for the '<em><b>Model EClass</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ECLASS__MODEL_ECLASS = eINSTANCE.getPAnnotatedEClass_ModelEClass();
+
+ /**
+ * The meta object literal for the '<em><b>Pa EStructural Features</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ECLASS__PA_ESTRUCTURAL_FEATURES = eINSTANCE.getPAnnotatedEClass_PaEStructuralFeatures();
+
+ /**
+ * The meta object literal for the '<em><b>Attribute Overrides</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ECLASS__ATTRIBUTE_OVERRIDES = eINSTANCE.getPAnnotatedEClass_AttributeOverrides();
+
+ /**
+ * The meta object literal for the '<em><b>Discriminator Column</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ECLASS__DISCRIMINATOR_COLUMN = eINSTANCE.getPAnnotatedEClass_DiscriminatorColumn();
+
+ /**
+ * The meta object literal for the '<em><b>Discriminator Value</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ECLASS__DISCRIMINATOR_VALUE = eINSTANCE.getPAnnotatedEClass_DiscriminatorValue();
+
+ /**
+ * The meta object literal for the '<em><b>Embeddable</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ECLASS__EMBEDDABLE = eINSTANCE.getPAnnotatedEClass_Embeddable();
+
+ /**
+ * The meta object literal for the '<em><b>Mapped Superclass</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ECLASS__MAPPED_SUPERCLASS = eINSTANCE.getPAnnotatedEClass_MappedSuperclass();
+
+ /**
+ * The meta object literal for the '<em><b>Entity</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ECLASS__ENTITY = eINSTANCE.getPAnnotatedEClass_Entity();
+
+ /**
+ * The meta object literal for the '<em><b>Id Class</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ECLASS__ID_CLASS = eINSTANCE.getPAnnotatedEClass_IdClass();
+
+ /**
+ * The meta object literal for the '<em><b>Inheritance</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ECLASS__INHERITANCE = eINSTANCE.getPAnnotatedEClass_Inheritance();
+
+ /**
+ * The meta object literal for the '<em><b>Primary Key Join Columns</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ECLASS__PRIMARY_KEY_JOIN_COLUMNS = eINSTANCE.getPAnnotatedEClass_PrimaryKeyJoinColumns();
+
+ /**
+ * The meta object literal for the '<em><b>Secondary Tables</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ECLASS__SECONDARY_TABLES = eINSTANCE.getPAnnotatedEClass_SecondaryTables();
+
+ /**
+ * The meta object literal for the '<em><b>Table</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ECLASS__TABLE = eINSTANCE.getPAnnotatedEClass_Table();
+
+ /**
+ * The meta object literal for the '<em><b>Table Generator</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ECLASS__TABLE_GENERATOR = eINSTANCE.getPAnnotatedEClass_TableGenerator();
+
+ /**
+ * The meta object literal for the '<em><b>Association Overrides</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ECLASS__ASSOCIATION_OVERRIDES = eINSTANCE.getPAnnotatedEClass_AssociationOverrides();
+
+ /**
+ * The meta object literal for the '<em><b>Eav Mapping</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ECLASS__EAV_MAPPING = eINSTANCE.getPAnnotatedEClass_EavMapping();
+
+ /**
+ * The meta object literal for the '<em><b>No EAV Mapping</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ECLASS__NO_EAV_MAPPING = eINSTANCE.getPAnnotatedEClass_NoEAVMapping();
+
+ /**
+ * The meta object literal for the '<em><b>Sequence Generators</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ECLASS__SEQUENCE_GENERATORS = eINSTANCE.getPAnnotatedEClass_SequenceGenerators();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEStructuralFeatureImpl <em>PAnnotated EStructural Feature</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEStructuralFeatureImpl
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PamodelPackageImpl#getPAnnotatedEStructuralFeature()
+ * @generated
+ */
+ EClass PANNOTATED_ESTRUCTURAL_FEATURE = eINSTANCE.getPAnnotatedEStructuralFeature();
+
+ /**
+ * The meta object literal for the '<em><b>Pa EClass</b></em>' container reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ESTRUCTURAL_FEATURE__PA_ECLASS = eINSTANCE.getPAnnotatedEStructuralFeature_PaEClass();
+
+ /**
+ * The meta object literal for the '<em><b>Model EStructural Feature</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ESTRUCTURAL_FEATURE__MODEL_ESTRUCTURAL_FEATURE = eINSTANCE.getPAnnotatedEStructuralFeature_ModelEStructuralFeature();
+
+ /**
+ * The meta object literal for the '<em><b>Foreign Key</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ESTRUCTURAL_FEATURE__FOREIGN_KEY = eINSTANCE.getPAnnotatedEStructuralFeature_ForeignKey();
+
+ /**
+ * The meta object literal for the '<em><b>List Index Column</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ESTRUCTURAL_FEATURE__LIST_INDEX_COLUMN = eINSTANCE.getPAnnotatedEStructuralFeature_ListIndexColumn();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEAttributeImpl <em>PAnnotated EAttribute</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEAttributeImpl
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PamodelPackageImpl#getPAnnotatedEAttribute()
+ * @generated
+ */
+ EClass PANNOTATED_EATTRIBUTE = eINSTANCE.getPAnnotatedEAttribute();
+
+ /**
+ * The meta object literal for the '<em><b>Model EAttribute</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EATTRIBUTE__MODEL_EATTRIBUTE = eINSTANCE.getPAnnotatedEAttribute_ModelEAttribute();
+
+ /**
+ * The meta object literal for the '<em><b>Basic</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EATTRIBUTE__BASIC = eINSTANCE.getPAnnotatedEAttribute_Basic();
+
+ /**
+ * The meta object literal for the '<em><b>Enumerated</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EATTRIBUTE__ENUMERATED = eINSTANCE.getPAnnotatedEAttribute_Enumerated();
+
+ /**
+ * The meta object literal for the '<em><b>Generated Value</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EATTRIBUTE__GENERATED_VALUE = eINSTANCE.getPAnnotatedEAttribute_GeneratedValue();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EATTRIBUTE__ID = eINSTANCE.getPAnnotatedEAttribute_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Lob</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EATTRIBUTE__LOB = eINSTANCE.getPAnnotatedEAttribute_Lob();
+
+ /**
+ * The meta object literal for the '<em><b>Temporal</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EATTRIBUTE__TEMPORAL = eINSTANCE.getPAnnotatedEAttribute_Temporal();
+
+ /**
+ * The meta object literal for the '<em><b>Version</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EATTRIBUTE__VERSION = eINSTANCE.getPAnnotatedEAttribute_Version();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEDataTypeImpl <em>PAnnotated EData Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEDataTypeImpl
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PamodelPackageImpl#getPAnnotatedEDataType()
+ * @generated
+ */
+ EClass PANNOTATED_EDATA_TYPE = eINSTANCE.getPAnnotatedEDataType();
+
+ /**
+ * The meta object literal for the '<em><b>Model EData Type</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EDATA_TYPE__MODEL_EDATA_TYPE = eINSTANCE.getPAnnotatedEDataType_ModelEDataType();
+
+ /**
+ * The meta object literal for the '<em><b>Basic</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EDATA_TYPE__BASIC = eINSTANCE.getPAnnotatedEDataType_Basic();
+
+ /**
+ * The meta object literal for the '<em><b>Enumerated</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EDATA_TYPE__ENUMERATED = eINSTANCE.getPAnnotatedEDataType_Enumerated();
+
+ /**
+ * The meta object literal for the '<em><b>Generated Value</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EDATA_TYPE__GENERATED_VALUE = eINSTANCE.getPAnnotatedEDataType_GeneratedValue();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EDATA_TYPE__ID = eINSTANCE.getPAnnotatedEDataType_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Lob</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EDATA_TYPE__LOB = eINSTANCE.getPAnnotatedEDataType_Lob();
+
+ /**
+ * The meta object literal for the '<em><b>Temporal</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EDATA_TYPE__TEMPORAL = eINSTANCE.getPAnnotatedEDataType_Temporal();
+
+ /**
+ * The meta object literal for the '<em><b>Version</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EDATA_TYPE__VERSION = eINSTANCE.getPAnnotatedEDataType_Version();
+
+ /**
+ * The meta object literal for the '<em><b>Pa EPackage</b></em>' container reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EDATA_TYPE__PA_EPACKAGE = eINSTANCE.getPAnnotatedEDataType_PaEPackage();
+
+ /**
+ * The meta object literal for the '<em><b>Column</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EDATA_TYPE__COLUMN = eINSTANCE.getPAnnotatedEDataType_Column();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEReferenceImpl <em>PAnnotated EReference</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEReferenceImpl
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PamodelPackageImpl#getPAnnotatedEReference()
+ * @generated
+ */
+ EClass PANNOTATED_EREFERENCE = eINSTANCE.getPAnnotatedEReference();
+
+ /**
+ * The meta object literal for the '<em><b>Model EReference</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EREFERENCE__MODEL_EREFERENCE = eINSTANCE.getPAnnotatedEReference_ModelEReference();
+
+ /**
+ * The meta object literal for the '<em><b>Embedded</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EREFERENCE__EMBEDDED = eINSTANCE.getPAnnotatedEReference_Embedded();
+
+ /**
+ * The meta object literal for the '<em><b>Embedded Id</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EREFERENCE__EMBEDDED_ID = eINSTANCE.getPAnnotatedEReference_EmbeddedId();
+
+ /**
+ * The meta object literal for the '<em><b>Many To Many</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EREFERENCE__MANY_TO_MANY = eINSTANCE.getPAnnotatedEReference_ManyToMany();
+
+ /**
+ * The meta object literal for the '<em><b>Many To One</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EREFERENCE__MANY_TO_ONE = eINSTANCE.getPAnnotatedEReference_ManyToOne();
+
+ /**
+ * The meta object literal for the '<em><b>Map Key</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EREFERENCE__MAP_KEY = eINSTANCE.getPAnnotatedEReference_MapKey();
+
+ /**
+ * The meta object literal for the '<em><b>One To One</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EREFERENCE__ONE_TO_ONE = eINSTANCE.getPAnnotatedEReference_OneToOne();
+
+ /**
+ * The meta object literal for the '<em><b>Order By</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EREFERENCE__ORDER_BY = eINSTANCE.getPAnnotatedEReference_OrderBy();
+
+ /**
+ * The meta object literal for the '<em><b>Primary Key Join Columns</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EREFERENCE__PRIMARY_KEY_JOIN_COLUMNS = eINSTANCE.getPAnnotatedEReference_PrimaryKeyJoinColumns();
+
+ /**
+ * The meta object literal for the '<em><b>Association Overrides</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EREFERENCE__ASSOCIATION_OVERRIDES = eINSTANCE.getPAnnotatedEReference_AssociationOverrides();
+
+ /**
+ * The meta object literal for the '<em><b>External</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_EREFERENCE__EXTERNAL = eINSTANCE.getPAnnotatedEReference_External();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedETypedElementImpl <em>PAnnotated ETyped Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedETypedElementImpl
+ * @see org.eclipse.emf.teneo.annotations.pamodel.impl.PamodelPackageImpl#getPAnnotatedETypedElement()
+ * @generated
+ */
+ EClass PANNOTATED_ETYPED_ELEMENT = eINSTANCE.getPAnnotatedETypedElement();
+
+ /**
+ * The meta object literal for the '<em><b>Attribute Overrides</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ETYPED_ELEMENT__ATTRIBUTE_OVERRIDES = eINSTANCE.getPAnnotatedETypedElement_AttributeOverrides();
+
+ /**
+ * The meta object literal for the '<em><b>Join Table</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ETYPED_ELEMENT__JOIN_TABLE = eINSTANCE.getPAnnotatedETypedElement_JoinTable();
+
+ /**
+ * The meta object literal for the '<em><b>One To Many</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ETYPED_ELEMENT__ONE_TO_MANY = eINSTANCE.getPAnnotatedETypedElement_OneToMany();
+
+ /**
+ * The meta object literal for the '<em><b>Sequence Generator</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ETYPED_ELEMENT__SEQUENCE_GENERATOR = eINSTANCE.getPAnnotatedETypedElement_SequenceGenerator();
+
+ /**
+ * The meta object literal for the '<em><b>Table Generators</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ETYPED_ELEMENT__TABLE_GENERATORS = eINSTANCE.getPAnnotatedETypedElement_TableGenerators();
+
+ /**
+ * The meta object literal for the '<em><b>Join Columns</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ETYPED_ELEMENT__JOIN_COLUMNS = eINSTANCE.getPAnnotatedETypedElement_JoinColumns();
+
+ /**
+ * The meta object literal for the '<em><b>Column</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATED_ETYPED_ELEMENT__COLUMN = eINSTANCE.getPAnnotatedETypedElement_Column();
+
+}
+
+ /**
+ * @return Returns the EReference in paElementEClass that has pAnnotationEClass as reference type.
+ * <p>
+ * Returns null if either paElementEClass is not the EClass of a PAnnotatedElement, or pAnnotationEClass is
+ * not the EClass of a PAnnotation, or such a feature does not exist in paElementEClass.
+ */
+ public EReference pAnnotationReference(EClass paElementEClass, EClass pAnnotationEClass);
+
+} // PamodelPackage
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEAttributeImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEAttributeImpl.java
new file mode 100755
index 000000000..cdc39914e
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEAttributeImpl.java
@@ -0,0 +1,579 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedEAttributeImpl.java,v 1.11 2008/12/07 13:51:11 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute;
+import org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage;
+import org.eclipse.emf.teneo.annotations.pannotation.Basic;
+import org.eclipse.emf.teneo.annotations.pannotation.Enumerated;
+import org.eclipse.emf.teneo.annotations.pannotation.GeneratedValue;
+import org.eclipse.emf.teneo.annotations.pannotation.Id;
+import org.eclipse.emf.teneo.annotations.pannotation.Lob;
+import org.eclipse.emf.teneo.annotations.pannotation.Temporal;
+import org.eclipse.emf.teneo.annotations.pannotation.Version;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>PAnnotated EAttribute</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEAttributeImpl#getModelEAttribute <em>Model EAttribute</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEAttributeImpl#getBasic <em>Basic</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEAttributeImpl#getEnumerated <em>Enumerated</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEAttributeImpl#getGeneratedValue <em>Generated Value</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEAttributeImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEAttributeImpl#getLob <em>Lob</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEAttributeImpl#getTemporal <em>Temporal</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEAttributeImpl#getVersion <em>Version</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PAnnotatedEAttributeImpl extends PAnnotatedEStructuralFeatureImpl implements PAnnotatedEAttribute {
+ /**
+ * The cached value of the '{@link #getBasic() <em>Basic</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getBasic()
+ * @generated
+ * @ordered
+ */
+ protected Basic basic;
+
+ /**
+ * The cached value of the '{@link #getEnumerated() <em>Enumerated</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getEnumerated()
+ * @generated
+ * @ordered
+ */
+ protected Enumerated enumerated;
+
+ /**
+ * The cached value of the '{@link #getGeneratedValue() <em>Generated Value</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getGeneratedValue()
+ * @generated
+ * @ordered
+ */
+ protected GeneratedValue generatedValue;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected Id id;
+
+ /**
+ * The cached value of the '{@link #getLob() <em>Lob</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getLob()
+ * @generated
+ * @ordered
+ */
+ protected Lob lob;
+
+ /**
+ * The cached value of the '{@link #getTemporal() <em>Temporal</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getTemporal()
+ * @generated
+ * @ordered
+ */
+ protected Temporal temporal;
+
+ /**
+ * The cached value of the '{@link #getVersion() <em>Version</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected Version version;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected PAnnotatedEAttributeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PamodelPackage.Literals.PANNOTATED_EATTRIBUTE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getModelEAttribute() {
+ EAttribute modelEAttribute = basicGetModelEAttribute();
+ return modelEAttribute != null && modelEAttribute.eIsProxy() ? (EAttribute)eResolveProxy((InternalEObject)modelEAttribute) : modelEAttribute;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EAttribute basicGetModelEAttribute() {
+ return (EAttribute) getModelElement();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Basic getBasic() {
+ return basic;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetBasic(Basic newBasic, NotificationChain msgs) {
+ Basic oldBasic = basic;
+ basic = newBasic;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EATTRIBUTE__BASIC, oldBasic, newBasic);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBasic(Basic newBasic) {
+ if (newBasic != basic) {
+ NotificationChain msgs = null;
+ if (basic != null)
+ msgs = ((InternalEObject)basic).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EATTRIBUTE__BASIC, null, msgs);
+ if (newBasic != null)
+ msgs = ((InternalEObject)newBasic).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EATTRIBUTE__BASIC, null, msgs);
+ msgs = basicSetBasic(newBasic, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EATTRIBUTE__BASIC, newBasic, newBasic));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Enumerated getEnumerated() {
+ return enumerated;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetEnumerated(Enumerated newEnumerated, NotificationChain msgs) {
+ Enumerated oldEnumerated = enumerated;
+ enumerated = newEnumerated;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EATTRIBUTE__ENUMERATED, oldEnumerated, newEnumerated);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEnumerated(Enumerated newEnumerated) {
+ if (newEnumerated != enumerated) {
+ NotificationChain msgs = null;
+ if (enumerated != null)
+ msgs = ((InternalEObject)enumerated).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EATTRIBUTE__ENUMERATED, null, msgs);
+ if (newEnumerated != null)
+ msgs = ((InternalEObject)newEnumerated).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EATTRIBUTE__ENUMERATED, null, msgs);
+ msgs = basicSetEnumerated(newEnumerated, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EATTRIBUTE__ENUMERATED, newEnumerated, newEnumerated));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public GeneratedValue getGeneratedValue() {
+ return generatedValue;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetGeneratedValue(GeneratedValue newGeneratedValue, NotificationChain msgs) {
+ GeneratedValue oldGeneratedValue = generatedValue;
+ generatedValue = newGeneratedValue;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EATTRIBUTE__GENERATED_VALUE, oldGeneratedValue, newGeneratedValue);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setGeneratedValue(GeneratedValue newGeneratedValue) {
+ if (newGeneratedValue != generatedValue) {
+ NotificationChain msgs = null;
+ if (generatedValue != null)
+ msgs = ((InternalEObject)generatedValue).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EATTRIBUTE__GENERATED_VALUE, null, msgs);
+ if (newGeneratedValue != null)
+ msgs = ((InternalEObject)newGeneratedValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EATTRIBUTE__GENERATED_VALUE, null, msgs);
+ msgs = basicSetGeneratedValue(newGeneratedValue, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EATTRIBUTE__GENERATED_VALUE, newGeneratedValue, newGeneratedValue));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Id getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetId(Id newId, NotificationChain msgs) {
+ Id oldId = id;
+ id = newId;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EATTRIBUTE__ID, oldId, newId);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(Id newId) {
+ if (newId != id) {
+ NotificationChain msgs = null;
+ if (id != null)
+ msgs = ((InternalEObject)id).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EATTRIBUTE__ID, null, msgs);
+ if (newId != null)
+ msgs = ((InternalEObject)newId).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EATTRIBUTE__ID, null, msgs);
+ msgs = basicSetId(newId, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EATTRIBUTE__ID, newId, newId));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Lob getLob() {
+ return lob;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLob(Lob newLob, NotificationChain msgs) {
+ Lob oldLob = lob;
+ lob = newLob;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EATTRIBUTE__LOB, oldLob, newLob);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLob(Lob newLob) {
+ if (newLob != lob) {
+ NotificationChain msgs = null;
+ if (lob != null)
+ msgs = ((InternalEObject)lob).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EATTRIBUTE__LOB, null, msgs);
+ if (newLob != null)
+ msgs = ((InternalEObject)newLob).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EATTRIBUTE__LOB, null, msgs);
+ msgs = basicSetLob(newLob, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EATTRIBUTE__LOB, newLob, newLob));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Temporal getTemporal() {
+ return temporal;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTemporal(Temporal newTemporal, NotificationChain msgs) {
+ Temporal oldTemporal = temporal;
+ temporal = newTemporal;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EATTRIBUTE__TEMPORAL, oldTemporal, newTemporal);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTemporal(Temporal newTemporal) {
+ if (newTemporal != temporal) {
+ NotificationChain msgs = null;
+ if (temporal != null)
+ msgs = ((InternalEObject)temporal).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EATTRIBUTE__TEMPORAL, null, msgs);
+ if (newTemporal != null)
+ msgs = ((InternalEObject)newTemporal).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EATTRIBUTE__TEMPORAL, null, msgs);
+ msgs = basicSetTemporal(newTemporal, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EATTRIBUTE__TEMPORAL, newTemporal, newTemporal));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Version getVersion() {
+ return version;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetVersion(Version newVersion, NotificationChain msgs) {
+ Version oldVersion = version;
+ version = newVersion;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EATTRIBUTE__VERSION, oldVersion, newVersion);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVersion(Version newVersion) {
+ if (newVersion != version) {
+ NotificationChain msgs = null;
+ if (version != null)
+ msgs = ((InternalEObject)version).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EATTRIBUTE__VERSION, null, msgs);
+ if (newVersion != null)
+ msgs = ((InternalEObject)newVersion).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EATTRIBUTE__VERSION, null, msgs);
+ msgs = basicSetVersion(newVersion, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EATTRIBUTE__VERSION, newVersion, newVersion));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__BASIC:
+ return basicSetBasic(null, msgs);
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__ENUMERATED:
+ return basicSetEnumerated(null, msgs);
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__GENERATED_VALUE:
+ return basicSetGeneratedValue(null, msgs);
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__ID:
+ return basicSetId(null, msgs);
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__LOB:
+ return basicSetLob(null, msgs);
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__TEMPORAL:
+ return basicSetTemporal(null, msgs);
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__VERSION:
+ return basicSetVersion(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 PamodelPackage.PANNOTATED_EATTRIBUTE__MODEL_EATTRIBUTE:
+ if (resolve) return getModelEAttribute();
+ return basicGetModelEAttribute();
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__BASIC:
+ return getBasic();
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__ENUMERATED:
+ return getEnumerated();
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__GENERATED_VALUE:
+ return getGeneratedValue();
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__ID:
+ return getId();
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__LOB:
+ return getLob();
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__TEMPORAL:
+ return getTemporal();
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__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 PamodelPackage.PANNOTATED_EATTRIBUTE__BASIC:
+ setBasic((Basic)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__ENUMERATED:
+ setEnumerated((Enumerated)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__GENERATED_VALUE:
+ setGeneratedValue((GeneratedValue)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__ID:
+ setId((Id)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__LOB:
+ setLob((Lob)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__TEMPORAL:
+ setTemporal((Temporal)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__VERSION:
+ setVersion((Version)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__BASIC:
+ setBasic((Basic)null);
+ return;
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__ENUMERATED:
+ setEnumerated((Enumerated)null);
+ return;
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__GENERATED_VALUE:
+ setGeneratedValue((GeneratedValue)null);
+ return;
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__ID:
+ setId((Id)null);
+ return;
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__LOB:
+ setLob((Lob)null);
+ return;
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__TEMPORAL:
+ setTemporal((Temporal)null);
+ return;
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__VERSION:
+ setVersion((Version)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__MODEL_EATTRIBUTE:
+ return basicGetModelEAttribute() != null;
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__BASIC:
+ return basic != null;
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__ENUMERATED:
+ return enumerated != null;
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__GENERATED_VALUE:
+ return generatedValue != null;
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__ID:
+ return id != null;
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__LOB:
+ return lob != null;
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__TEMPORAL:
+ return temporal != null;
+ case PamodelPackage.PANNOTATED_EATTRIBUTE__VERSION:
+ return version != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * Returns true if the eattribute requires an additional mapping for the isset member which is
+ * generated by emf.
+ */
+ public boolean requiresIsSetMapping() {
+ return getModelEStructuralFeature().isUnsettable();
+ }
+
+} // PAnnotatedEAttributeImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEClassImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEClassImpl.java
new file mode 100755
index 000000000..fe50e4fc1
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEClassImpl.java
@@ -0,0 +1,1273 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedEClassImpl.java,v 1.28 2010/07/19 11:48:58 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel.impl;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+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.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedModel;
+import org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage;
+import org.eclipse.emf.teneo.annotations.pannotation.AssociationOverride;
+import org.eclipse.emf.teneo.annotations.pannotation.AttributeOverride;
+import org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorValue;
+import org.eclipse.emf.teneo.annotations.pannotation.EAVMapping;
+import org.eclipse.emf.teneo.annotations.pannotation.Embeddable;
+import org.eclipse.emf.teneo.annotations.pannotation.Entity;
+import org.eclipse.emf.teneo.annotations.pannotation.IdClass;
+import org.eclipse.emf.teneo.annotations.pannotation.Inheritance;
+import org.eclipse.emf.teneo.annotations.pannotation.InheritanceType;
+import org.eclipse.emf.teneo.annotations.pannotation.MappedSuperclass;
+import org.eclipse.emf.teneo.annotations.pannotation.NoEAVMapping;
+import org.eclipse.emf.teneo.annotations.pannotation.PrimaryKeyJoinColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable;
+import org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator;
+import org.eclipse.emf.teneo.annotations.pannotation.Table;
+import org.eclipse.emf.teneo.annotations.pannotation.TableGenerator;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>PAnnotated EClass</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEClassImpl#getPaEPackage <em>Pa EPackage</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEClassImpl#getModelEClass <em>Model EClass</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEClassImpl#getPaEStructuralFeatures <em>Pa EStructural Features</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEClassImpl#getAttributeOverrides <em>Attribute Overrides</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEClassImpl#getDiscriminatorColumn <em>Discriminator Column</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEClassImpl#getDiscriminatorValue <em>Discriminator Value</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEClassImpl#getEmbeddable <em>Embeddable</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEClassImpl#getMappedSuperclass <em>Mapped Superclass</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEClassImpl#getEntity <em>Entity</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEClassImpl#getIdClass <em>Id Class</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEClassImpl#getInheritance <em>Inheritance</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEClassImpl#getPrimaryKeyJoinColumns <em>Primary Key Join Columns</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEClassImpl#getSecondaryTables <em>Secondary Tables</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEClassImpl#getTable <em>Table</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEClassImpl#getTableGenerator <em>Table Generator</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEClassImpl#getAssociationOverrides <em>Association Overrides</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEClassImpl#getEavMapping <em>Eav Mapping</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEClassImpl#getNoEAVMapping <em>No EAV Mapping</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEClassImpl#getSequenceGenerators <em>Sequence Generators</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PAnnotatedEClassImpl extends PAnnotatedEModelElementImpl implements PAnnotatedEClass {
+ /**
+ * The cached value of the '{@link #getPaEStructuralFeatures() <em>Pa EStructural Features</em>}' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getPaEStructuralFeatures()
+ * @generated
+ * @ordered
+ */
+ protected EList<PAnnotatedEStructuralFeature> paEStructuralFeatures;
+
+ /**
+ * The cached value of the '{@link #getAttributeOverrides() <em>Attribute Overrides</em>}' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getAttributeOverrides()
+ * @generated
+ * @ordered
+ */
+ protected EList<AttributeOverride> attributeOverrides;
+
+ /**
+ * The cached value of the '{@link #getDiscriminatorColumn() <em>Discriminator Column</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getDiscriminatorColumn()
+ * @generated
+ * @ordered
+ */
+ protected DiscriminatorColumn discriminatorColumn;
+
+ /**
+ * The cached value of the '{@link #getDiscriminatorValue() <em>Discriminator Value</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getDiscriminatorValue()
+ * @generated
+ * @ordered
+ */
+ protected DiscriminatorValue discriminatorValue;
+
+ /**
+ * The cached value of the '{@link #getEmbeddable() <em>Embeddable</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getEmbeddable()
+ * @generated
+ * @ordered
+ */
+ protected Embeddable embeddable;
+
+ /**
+ * The cached value of the '{@link #getMappedSuperclass() <em>Mapped Superclass</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getMappedSuperclass()
+ * @generated
+ * @ordered
+ */
+ protected MappedSuperclass mappedSuperclass;
+
+ /**
+ * The cached value of the '{@link #getEntity() <em>Entity</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getEntity()
+ * @generated
+ * @ordered
+ */
+ protected Entity entity;
+
+ /**
+ * The cached value of the '{@link #getIdClass() <em>Id Class</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getIdClass()
+ * @generated
+ * @ordered
+ */
+ protected IdClass idClass;
+
+ /**
+ * The cached value of the '{@link #getInheritance() <em>Inheritance</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getInheritance()
+ * @generated
+ * @ordered
+ */
+ protected Inheritance inheritance;
+
+ /**
+ * The cached value of the '{@link #getPrimaryKeyJoinColumns() <em>Primary Key Join Columns</em>}' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getPrimaryKeyJoinColumns()
+ * @generated
+ * @ordered
+ */
+ protected EList<PrimaryKeyJoinColumn> primaryKeyJoinColumns;
+
+ /**
+ * The cached value of the '{@link #getSecondaryTables() <em>Secondary Tables</em>}' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getSecondaryTables()
+ * @generated
+ * @ordered
+ */
+ protected EList<SecondaryTable> secondaryTables;
+
+ /**
+ * The cached value of the '{@link #getTable() <em>Table</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTable()
+ * @generated
+ * @ordered
+ */
+ protected Table table;
+
+ /**
+ * The cached value of the '{@link #getTableGenerator() <em>Table Generator</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getTableGenerator()
+ * @generated
+ * @ordered
+ */
+ protected TableGenerator tableGenerator;
+
+ /**
+ * The cached value of the '{@link #getAssociationOverrides() <em>Association Overrides</em>}' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getAssociationOverrides()
+ * @generated
+ * @ordered
+ */
+ protected EList<AssociationOverride> associationOverrides;
+
+ /**
+ * The cached value of the '{@link #getEavMapping() <em>Eav Mapping</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEavMapping()
+ * @generated
+ * @ordered
+ */
+ protected EAVMapping eavMapping;
+
+ /**
+ * The cached value of the '{@link #getNoEAVMapping() <em>No EAV Mapping</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNoEAVMapping()
+ * @generated
+ * @ordered
+ */
+ protected NoEAVMapping noEAVMapping;
+
+ /**
+ * The cached value of the '{@link #getSequenceGenerators() <em>Sequence Generators</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSequenceGenerators()
+ * @generated
+ * @ordered
+ */
+ protected EList<SequenceGenerator> sequenceGenerators;
+
+ /** The computed super pa entity */
+ private PAnnotatedEClass paSuperEntity = null;
+
+ /** Map this type as an entity or as a concrete class */
+ private boolean mapAsEntity = true;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected PAnnotatedEClassImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PamodelPackage.Literals.PANNOTATED_ECLASS;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public PAnnotatedEPackage getPaEPackage() {
+ if (eContainerFeatureID() != PamodelPackage.PANNOTATED_ECLASS__PA_EPACKAGE) return null;
+ return (PAnnotatedEPackage)eContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPaEPackage(PAnnotatedEPackage newPaEPackage, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newPaEPackage, PamodelPackage.PANNOTATED_ECLASS__PA_EPACKAGE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPaEPackage(PAnnotatedEPackage newPaEPackage) {
+ if (newPaEPackage != eInternalContainer() || (eContainerFeatureID() != PamodelPackage.PANNOTATED_ECLASS__PA_EPACKAGE && newPaEPackage != null)) {
+ if (EcoreUtil.isAncestor(this, newPaEPackage))
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newPaEPackage != null)
+ msgs = ((InternalEObject)newPaEPackage).eInverseAdd(this, PamodelPackage.PANNOTATED_EPACKAGE__PA_ECLASSES, PAnnotatedEPackage.class, msgs);
+ msgs = basicSetPaEPackage(newPaEPackage, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ECLASS__PA_EPACKAGE, newPaEPackage, newPaEPackage));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getModelEClass() {
+ EClass modelEClass = basicGetModelEClass();
+ return modelEClass != null && modelEClass.eIsProxy() ? (EClass)eResolveProxy((InternalEObject)modelEClass) : modelEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EClass basicGetModelEClass() {
+ return (EClass) getModelElement();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PAnnotatedEStructuralFeature> getPaEStructuralFeatures() {
+ if (paEStructuralFeatures == null) {
+ paEStructuralFeatures = new EObjectContainmentWithInverseEList<PAnnotatedEStructuralFeature>(PAnnotatedEStructuralFeature.class, this, PamodelPackage.PANNOTATED_ECLASS__PA_ESTRUCTURAL_FEATURES, PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__PA_ECLASS);
+ }
+ return paEStructuralFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<AttributeOverride> getAttributeOverrides() {
+ if (attributeOverrides == null) {
+ attributeOverrides = new EObjectContainmentEList<AttributeOverride>(AttributeOverride.class, this, PamodelPackage.PANNOTATED_ECLASS__ATTRIBUTE_OVERRIDES);
+ }
+ return attributeOverrides;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public DiscriminatorColumn getDiscriminatorColumn() {
+ return discriminatorColumn;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetDiscriminatorColumn(DiscriminatorColumn newDiscriminatorColumn,
+ NotificationChain msgs) {
+ DiscriminatorColumn oldDiscriminatorColumn = discriminatorColumn;
+ discriminatorColumn = newDiscriminatorColumn;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ECLASS__DISCRIMINATOR_COLUMN, oldDiscriminatorColumn, newDiscriminatorColumn);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDiscriminatorColumn(DiscriminatorColumn newDiscriminatorColumn) {
+ if (newDiscriminatorColumn != discriminatorColumn) {
+ NotificationChain msgs = null;
+ if (discriminatorColumn != null)
+ msgs = ((InternalEObject)discriminatorColumn).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ECLASS__DISCRIMINATOR_COLUMN, null, msgs);
+ if (newDiscriminatorColumn != null)
+ msgs = ((InternalEObject)newDiscriminatorColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ECLASS__DISCRIMINATOR_COLUMN, null, msgs);
+ msgs = basicSetDiscriminatorColumn(newDiscriminatorColumn, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ECLASS__DISCRIMINATOR_COLUMN, newDiscriminatorColumn, newDiscriminatorColumn));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public DiscriminatorValue getDiscriminatorValue() {
+ return discriminatorValue;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetDiscriminatorValue(DiscriminatorValue newDiscriminatorValue, NotificationChain msgs) {
+ DiscriminatorValue oldDiscriminatorValue = discriminatorValue;
+ discriminatorValue = newDiscriminatorValue;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ECLASS__DISCRIMINATOR_VALUE, oldDiscriminatorValue, newDiscriminatorValue);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDiscriminatorValue(DiscriminatorValue newDiscriminatorValue) {
+ if (newDiscriminatorValue != discriminatorValue) {
+ NotificationChain msgs = null;
+ if (discriminatorValue != null)
+ msgs = ((InternalEObject)discriminatorValue).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ECLASS__DISCRIMINATOR_VALUE, null, msgs);
+ if (newDiscriminatorValue != null)
+ msgs = ((InternalEObject)newDiscriminatorValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ECLASS__DISCRIMINATOR_VALUE, null, msgs);
+ msgs = basicSetDiscriminatorValue(newDiscriminatorValue, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ECLASS__DISCRIMINATOR_VALUE, newDiscriminatorValue, newDiscriminatorValue));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Embeddable getEmbeddable() {
+ return embeddable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetEmbeddable(Embeddable newEmbeddable, NotificationChain msgs) {
+ Embeddable oldEmbeddable = embeddable;
+ embeddable = newEmbeddable;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ECLASS__EMBEDDABLE, oldEmbeddable, newEmbeddable);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEmbeddable(Embeddable newEmbeddable) {
+ if (newEmbeddable != embeddable) {
+ NotificationChain msgs = null;
+ if (embeddable != null)
+ msgs = ((InternalEObject)embeddable).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ECLASS__EMBEDDABLE, null, msgs);
+ if (newEmbeddable != null)
+ msgs = ((InternalEObject)newEmbeddable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ECLASS__EMBEDDABLE, null, msgs);
+ msgs = basicSetEmbeddable(newEmbeddable, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ECLASS__EMBEDDABLE, newEmbeddable, newEmbeddable));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public MappedSuperclass getMappedSuperclass() {
+ return mappedSuperclass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetMappedSuperclass(MappedSuperclass newMappedSuperclass, NotificationChain msgs) {
+ MappedSuperclass oldMappedSuperclass = mappedSuperclass;
+ mappedSuperclass = newMappedSuperclass;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ECLASS__MAPPED_SUPERCLASS, oldMappedSuperclass, newMappedSuperclass);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMappedSuperclass(MappedSuperclass newMappedSuperclass) {
+ if (newMappedSuperclass != mappedSuperclass) {
+ NotificationChain msgs = null;
+ if (mappedSuperclass != null)
+ msgs = ((InternalEObject)mappedSuperclass).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ECLASS__MAPPED_SUPERCLASS, null, msgs);
+ if (newMappedSuperclass != null)
+ msgs = ((InternalEObject)newMappedSuperclass).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ECLASS__MAPPED_SUPERCLASS, null, msgs);
+ msgs = basicSetMappedSuperclass(newMappedSuperclass, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ECLASS__MAPPED_SUPERCLASS, newMappedSuperclass, newMappedSuperclass));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Entity getEntity() {
+ return entity;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetEntity(Entity newEntity, NotificationChain msgs) {
+ Entity oldEntity = entity;
+ entity = newEntity;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ECLASS__ENTITY, oldEntity, newEntity);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEntity(Entity newEntity) {
+ if (newEntity != entity) {
+ NotificationChain msgs = null;
+ if (entity != null)
+ msgs = ((InternalEObject)entity).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ECLASS__ENTITY, null, msgs);
+ if (newEntity != null)
+ msgs = ((InternalEObject)newEntity).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ECLASS__ENTITY, null, msgs);
+ msgs = basicSetEntity(newEntity, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ECLASS__ENTITY, newEntity, newEntity));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public IdClass getIdClass() {
+ return idClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetIdClass(IdClass newIdClass, NotificationChain msgs) {
+ IdClass oldIdClass = idClass;
+ idClass = newIdClass;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ECLASS__ID_CLASS, oldIdClass, newIdClass);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIdClass(IdClass newIdClass) {
+ if (newIdClass != idClass) {
+ NotificationChain msgs = null;
+ if (idClass != null)
+ msgs = ((InternalEObject)idClass).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ECLASS__ID_CLASS, null, msgs);
+ if (newIdClass != null)
+ msgs = ((InternalEObject)newIdClass).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ECLASS__ID_CLASS, null, msgs);
+ msgs = basicSetIdClass(newIdClass, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ECLASS__ID_CLASS, newIdClass, newIdClass));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Inheritance getInheritance() {
+ return inheritance;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetInheritance(Inheritance newInheritance, NotificationChain msgs) {
+ Inheritance oldInheritance = inheritance;
+ inheritance = newInheritance;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ECLASS__INHERITANCE, oldInheritance, newInheritance);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInheritance(Inheritance newInheritance) {
+ if (newInheritance != inheritance) {
+ NotificationChain msgs = null;
+ if (inheritance != null)
+ msgs = ((InternalEObject)inheritance).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ECLASS__INHERITANCE, null, msgs);
+ if (newInheritance != null)
+ msgs = ((InternalEObject)newInheritance).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ECLASS__INHERITANCE, null, msgs);
+ msgs = basicSetInheritance(newInheritance, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ECLASS__INHERITANCE, newInheritance, newInheritance));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PrimaryKeyJoinColumn> getPrimaryKeyJoinColumns() {
+ if (primaryKeyJoinColumns == null) {
+ primaryKeyJoinColumns = new EObjectContainmentEList<PrimaryKeyJoinColumn>(PrimaryKeyJoinColumn.class, this, PamodelPackage.PANNOTATED_ECLASS__PRIMARY_KEY_JOIN_COLUMNS);
+ }
+ return primaryKeyJoinColumns;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<SecondaryTable> getSecondaryTables() {
+ if (secondaryTables == null) {
+ secondaryTables = new EObjectContainmentEList<SecondaryTable>(SecondaryTable.class, this, PamodelPackage.PANNOTATED_ECLASS__SECONDARY_TABLES);
+ }
+ return secondaryTables;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Table getTable() {
+ return table;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTable(Table newTable, NotificationChain msgs) {
+ Table oldTable = table;
+ table = newTable;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ECLASS__TABLE, oldTable, newTable);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTable(Table newTable) {
+ if (newTable != table) {
+ NotificationChain msgs = null;
+ if (table != null)
+ msgs = ((InternalEObject)table).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ECLASS__TABLE, null, msgs);
+ if (newTable != null)
+ msgs = ((InternalEObject)newTable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ECLASS__TABLE, null, msgs);
+ msgs = basicSetTable(newTable, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ECLASS__TABLE, newTable, newTable));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public TableGenerator getTableGenerator() {
+ return tableGenerator;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTableGenerator(TableGenerator newTableGenerator, NotificationChain msgs) {
+ TableGenerator oldTableGenerator = tableGenerator;
+ tableGenerator = newTableGenerator;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ECLASS__TABLE_GENERATOR, oldTableGenerator, newTableGenerator);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTableGenerator(TableGenerator newTableGenerator) {
+ if (newTableGenerator != tableGenerator) {
+ NotificationChain msgs = null;
+ if (tableGenerator != null)
+ msgs = ((InternalEObject)tableGenerator).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ECLASS__TABLE_GENERATOR, null, msgs);
+ if (newTableGenerator != null)
+ msgs = ((InternalEObject)newTableGenerator).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ECLASS__TABLE_GENERATOR, null, msgs);
+ msgs = basicSetTableGenerator(newTableGenerator, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ECLASS__TABLE_GENERATOR, newTableGenerator, newTableGenerator));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<AssociationOverride> getAssociationOverrides() {
+ if (associationOverrides == null) {
+ associationOverrides = new EObjectContainmentEList<AssociationOverride>(AssociationOverride.class, this, PamodelPackage.PANNOTATED_ECLASS__ASSOCIATION_OVERRIDES);
+ }
+ return associationOverrides;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAVMapping getEavMapping() {
+ return eavMapping;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetEavMapping(EAVMapping newEavMapping, NotificationChain msgs) {
+ EAVMapping oldEavMapping = eavMapping;
+ eavMapping = newEavMapping;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ECLASS__EAV_MAPPING, oldEavMapping, newEavMapping);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEavMapping(EAVMapping newEavMapping) {
+ if (newEavMapping != eavMapping) {
+ NotificationChain msgs = null;
+ if (eavMapping != null)
+ msgs = ((InternalEObject)eavMapping).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ECLASS__EAV_MAPPING, null, msgs);
+ if (newEavMapping != null)
+ msgs = ((InternalEObject)newEavMapping).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ECLASS__EAV_MAPPING, null, msgs);
+ msgs = basicSetEavMapping(newEavMapping, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ECLASS__EAV_MAPPING, newEavMapping, newEavMapping));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NoEAVMapping getNoEAVMapping() {
+ return noEAVMapping;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetNoEAVMapping(NoEAVMapping newNoEAVMapping, NotificationChain msgs) {
+ NoEAVMapping oldNoEAVMapping = noEAVMapping;
+ noEAVMapping = newNoEAVMapping;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ECLASS__NO_EAV_MAPPING, oldNoEAVMapping, newNoEAVMapping);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNoEAVMapping(NoEAVMapping newNoEAVMapping) {
+ if (newNoEAVMapping != noEAVMapping) {
+ NotificationChain msgs = null;
+ if (noEAVMapping != null)
+ msgs = ((InternalEObject)noEAVMapping).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ECLASS__NO_EAV_MAPPING, null, msgs);
+ if (newNoEAVMapping != null)
+ msgs = ((InternalEObject)newNoEAVMapping).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ECLASS__NO_EAV_MAPPING, null, msgs);
+ msgs = basicSetNoEAVMapping(newNoEAVMapping, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ECLASS__NO_EAV_MAPPING, newNoEAVMapping, newNoEAVMapping));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<SequenceGenerator> getSequenceGenerators() {
+ if (sequenceGenerators == null) {
+ sequenceGenerators = new EObjectContainmentEList<SequenceGenerator>(SequenceGenerator.class, this, PamodelPackage.PANNOTATED_ECLASS__SEQUENCE_GENERATORS);
+ }
+ return sequenceGenerators;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_ECLASS__PA_EPACKAGE:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetPaEPackage((PAnnotatedEPackage)otherEnd, msgs);
+ case PamodelPackage.PANNOTATED_ECLASS__PA_ESTRUCTURAL_FEATURES:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getPaEStructuralFeatures()).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 PamodelPackage.PANNOTATED_ECLASS__PA_EPACKAGE:
+ return basicSetPaEPackage(null, msgs);
+ case PamodelPackage.PANNOTATED_ECLASS__PA_ESTRUCTURAL_FEATURES:
+ return ((InternalEList<?>)getPaEStructuralFeatures()).basicRemove(otherEnd, msgs);
+ case PamodelPackage.PANNOTATED_ECLASS__ATTRIBUTE_OVERRIDES:
+ return ((InternalEList<?>)getAttributeOverrides()).basicRemove(otherEnd, msgs);
+ case PamodelPackage.PANNOTATED_ECLASS__DISCRIMINATOR_COLUMN:
+ return basicSetDiscriminatorColumn(null, msgs);
+ case PamodelPackage.PANNOTATED_ECLASS__DISCRIMINATOR_VALUE:
+ return basicSetDiscriminatorValue(null, msgs);
+ case PamodelPackage.PANNOTATED_ECLASS__EMBEDDABLE:
+ return basicSetEmbeddable(null, msgs);
+ case PamodelPackage.PANNOTATED_ECLASS__MAPPED_SUPERCLASS:
+ return basicSetMappedSuperclass(null, msgs);
+ case PamodelPackage.PANNOTATED_ECLASS__ENTITY:
+ return basicSetEntity(null, msgs);
+ case PamodelPackage.PANNOTATED_ECLASS__ID_CLASS:
+ return basicSetIdClass(null, msgs);
+ case PamodelPackage.PANNOTATED_ECLASS__INHERITANCE:
+ return basicSetInheritance(null, msgs);
+ case PamodelPackage.PANNOTATED_ECLASS__PRIMARY_KEY_JOIN_COLUMNS:
+ return ((InternalEList<?>)getPrimaryKeyJoinColumns()).basicRemove(otherEnd, msgs);
+ case PamodelPackage.PANNOTATED_ECLASS__SECONDARY_TABLES:
+ return ((InternalEList<?>)getSecondaryTables()).basicRemove(otherEnd, msgs);
+ case PamodelPackage.PANNOTATED_ECLASS__TABLE:
+ return basicSetTable(null, msgs);
+ case PamodelPackage.PANNOTATED_ECLASS__TABLE_GENERATOR:
+ return basicSetTableGenerator(null, msgs);
+ case PamodelPackage.PANNOTATED_ECLASS__ASSOCIATION_OVERRIDES:
+ return ((InternalEList<?>)getAssociationOverrides()).basicRemove(otherEnd, msgs);
+ case PamodelPackage.PANNOTATED_ECLASS__EAV_MAPPING:
+ return basicSetEavMapping(null, msgs);
+ case PamodelPackage.PANNOTATED_ECLASS__NO_EAV_MAPPING:
+ return basicSetNoEAVMapping(null, msgs);
+ case PamodelPackage.PANNOTATED_ECLASS__SEQUENCE_GENERATORS:
+ return ((InternalEList<?>)getSequenceGenerators()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case PamodelPackage.PANNOTATED_ECLASS__PA_EPACKAGE:
+ return eInternalContainer().eInverseRemove(this, PamodelPackage.PANNOTATED_EPACKAGE__PA_ECLASSES, PAnnotatedEPackage.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_ECLASS__PA_EPACKAGE:
+ return getPaEPackage();
+ case PamodelPackage.PANNOTATED_ECLASS__MODEL_ECLASS:
+ if (resolve) return getModelEClass();
+ return basicGetModelEClass();
+ case PamodelPackage.PANNOTATED_ECLASS__PA_ESTRUCTURAL_FEATURES:
+ return getPaEStructuralFeatures();
+ case PamodelPackage.PANNOTATED_ECLASS__ATTRIBUTE_OVERRIDES:
+ return getAttributeOverrides();
+ case PamodelPackage.PANNOTATED_ECLASS__DISCRIMINATOR_COLUMN:
+ return getDiscriminatorColumn();
+ case PamodelPackage.PANNOTATED_ECLASS__DISCRIMINATOR_VALUE:
+ return getDiscriminatorValue();
+ case PamodelPackage.PANNOTATED_ECLASS__EMBEDDABLE:
+ return getEmbeddable();
+ case PamodelPackage.PANNOTATED_ECLASS__MAPPED_SUPERCLASS:
+ return getMappedSuperclass();
+ case PamodelPackage.PANNOTATED_ECLASS__ENTITY:
+ return getEntity();
+ case PamodelPackage.PANNOTATED_ECLASS__ID_CLASS:
+ return getIdClass();
+ case PamodelPackage.PANNOTATED_ECLASS__INHERITANCE:
+ return getInheritance();
+ case PamodelPackage.PANNOTATED_ECLASS__PRIMARY_KEY_JOIN_COLUMNS:
+ return getPrimaryKeyJoinColumns();
+ case PamodelPackage.PANNOTATED_ECLASS__SECONDARY_TABLES:
+ return getSecondaryTables();
+ case PamodelPackage.PANNOTATED_ECLASS__TABLE:
+ return getTable();
+ case PamodelPackage.PANNOTATED_ECLASS__TABLE_GENERATOR:
+ return getTableGenerator();
+ case PamodelPackage.PANNOTATED_ECLASS__ASSOCIATION_OVERRIDES:
+ return getAssociationOverrides();
+ case PamodelPackage.PANNOTATED_ECLASS__EAV_MAPPING:
+ return getEavMapping();
+ case PamodelPackage.PANNOTATED_ECLASS__NO_EAV_MAPPING:
+ return getNoEAVMapping();
+ case PamodelPackage.PANNOTATED_ECLASS__SEQUENCE_GENERATORS:
+ return getSequenceGenerators();
+ }
+ 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 PamodelPackage.PANNOTATED_ECLASS__PA_EPACKAGE:
+ setPaEPackage((PAnnotatedEPackage)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__PA_ESTRUCTURAL_FEATURES:
+ getPaEStructuralFeatures().clear();
+ getPaEStructuralFeatures().addAll((Collection<? extends PAnnotatedEStructuralFeature>)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__ATTRIBUTE_OVERRIDES:
+ getAttributeOverrides().clear();
+ getAttributeOverrides().addAll((Collection<? extends AttributeOverride>)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__DISCRIMINATOR_COLUMN:
+ setDiscriminatorColumn((DiscriminatorColumn)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__DISCRIMINATOR_VALUE:
+ setDiscriminatorValue((DiscriminatorValue)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__EMBEDDABLE:
+ setEmbeddable((Embeddable)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__MAPPED_SUPERCLASS:
+ setMappedSuperclass((MappedSuperclass)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__ENTITY:
+ setEntity((Entity)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__ID_CLASS:
+ setIdClass((IdClass)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__INHERITANCE:
+ setInheritance((Inheritance)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__PRIMARY_KEY_JOIN_COLUMNS:
+ getPrimaryKeyJoinColumns().clear();
+ getPrimaryKeyJoinColumns().addAll((Collection<? extends PrimaryKeyJoinColumn>)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__SECONDARY_TABLES:
+ getSecondaryTables().clear();
+ getSecondaryTables().addAll((Collection<? extends SecondaryTable>)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__TABLE:
+ setTable((Table)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__TABLE_GENERATOR:
+ setTableGenerator((TableGenerator)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__ASSOCIATION_OVERRIDES:
+ getAssociationOverrides().clear();
+ getAssociationOverrides().addAll((Collection<? extends AssociationOverride>)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__EAV_MAPPING:
+ setEavMapping((EAVMapping)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__NO_EAV_MAPPING:
+ setNoEAVMapping((NoEAVMapping)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__SEQUENCE_GENERATORS:
+ getSequenceGenerators().clear();
+ getSequenceGenerators().addAll((Collection<? extends SequenceGenerator>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_ECLASS__PA_EPACKAGE:
+ setPaEPackage((PAnnotatedEPackage)null);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__PA_ESTRUCTURAL_FEATURES:
+ getPaEStructuralFeatures().clear();
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__ATTRIBUTE_OVERRIDES:
+ getAttributeOverrides().clear();
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__DISCRIMINATOR_COLUMN:
+ setDiscriminatorColumn((DiscriminatorColumn)null);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__DISCRIMINATOR_VALUE:
+ setDiscriminatorValue((DiscriminatorValue)null);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__EMBEDDABLE:
+ setEmbeddable((Embeddable)null);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__MAPPED_SUPERCLASS:
+ setMappedSuperclass((MappedSuperclass)null);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__ENTITY:
+ setEntity((Entity)null);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__ID_CLASS:
+ setIdClass((IdClass)null);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__INHERITANCE:
+ setInheritance((Inheritance)null);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__PRIMARY_KEY_JOIN_COLUMNS:
+ getPrimaryKeyJoinColumns().clear();
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__SECONDARY_TABLES:
+ getSecondaryTables().clear();
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__TABLE:
+ setTable((Table)null);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__TABLE_GENERATOR:
+ setTableGenerator((TableGenerator)null);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__ASSOCIATION_OVERRIDES:
+ getAssociationOverrides().clear();
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__EAV_MAPPING:
+ setEavMapping((EAVMapping)null);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__NO_EAV_MAPPING:
+ setNoEAVMapping((NoEAVMapping)null);
+ return;
+ case PamodelPackage.PANNOTATED_ECLASS__SEQUENCE_GENERATORS:
+ getSequenceGenerators().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_ECLASS__PA_EPACKAGE:
+ return getPaEPackage() != null;
+ case PamodelPackage.PANNOTATED_ECLASS__MODEL_ECLASS:
+ return basicGetModelEClass() != null;
+ case PamodelPackage.PANNOTATED_ECLASS__PA_ESTRUCTURAL_FEATURES:
+ return paEStructuralFeatures != null && !paEStructuralFeatures.isEmpty();
+ case PamodelPackage.PANNOTATED_ECLASS__ATTRIBUTE_OVERRIDES:
+ return attributeOverrides != null && !attributeOverrides.isEmpty();
+ case PamodelPackage.PANNOTATED_ECLASS__DISCRIMINATOR_COLUMN:
+ return discriminatorColumn != null;
+ case PamodelPackage.PANNOTATED_ECLASS__DISCRIMINATOR_VALUE:
+ return discriminatorValue != null;
+ case PamodelPackage.PANNOTATED_ECLASS__EMBEDDABLE:
+ return embeddable != null;
+ case PamodelPackage.PANNOTATED_ECLASS__MAPPED_SUPERCLASS:
+ return mappedSuperclass != null;
+ case PamodelPackage.PANNOTATED_ECLASS__ENTITY:
+ return entity != null;
+ case PamodelPackage.PANNOTATED_ECLASS__ID_CLASS:
+ return idClass != null;
+ case PamodelPackage.PANNOTATED_ECLASS__INHERITANCE:
+ return inheritance != null;
+ case PamodelPackage.PANNOTATED_ECLASS__PRIMARY_KEY_JOIN_COLUMNS:
+ return primaryKeyJoinColumns != null && !primaryKeyJoinColumns.isEmpty();
+ case PamodelPackage.PANNOTATED_ECLASS__SECONDARY_TABLES:
+ return secondaryTables != null && !secondaryTables.isEmpty();
+ case PamodelPackage.PANNOTATED_ECLASS__TABLE:
+ return table != null;
+ case PamodelPackage.PANNOTATED_ECLASS__TABLE_GENERATOR:
+ return tableGenerator != null;
+ case PamodelPackage.PANNOTATED_ECLASS__ASSOCIATION_OVERRIDES:
+ return associationOverrides != null && !associationOverrides.isEmpty();
+ case PamodelPackage.PANNOTATED_ECLASS__EAV_MAPPING:
+ return eavMapping != null;
+ case PamodelPackage.PANNOTATED_ECLASS__NO_EAV_MAPPING:
+ return noEAVMapping != null;
+ case PamodelPackage.PANNOTATED_ECLASS__SEQUENCE_GENERATORS:
+ return sequenceGenerators != null && !sequenceGenerators.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * @return true if the eclass or its ancestor has an PAnnotatedEStructuralFeature with an id
+ * annotation.
+ */
+ public boolean hasIdAnnotatedFeature() {
+ if (!getPaIdFeatures().isEmpty()) {
+ return true;
+ }
+ if (getPaSuperEntity() != null && getPaSuperEntity().hasIdAnnotatedFeature()) {
+ return true;
+ }
+
+ // test if the id is got from a mapped superclass
+ final Iterator<EClass> i = getModelEClass().getESuperTypes().iterator();
+ while (i.hasNext()) {
+ PAnnotatedEClass x = getPaModel().getPAnnotated(i.next());
+ if (x.hasIdAnnotatedFeature() && x.getMappedSuperclass() != null) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ /** Returns true if the eclass has an PAnnotatedEStructuralFeature with an version annotation */
+ public boolean hasVersionAnnotatedFeature() {
+ for (PAnnotatedEStructuralFeature aFeature : getPaEStructuralFeatures()) {
+ if (aFeature instanceof PAnnotatedEAttribute) {
+ if (((PAnnotatedEAttribute) aFeature).getVersion() != null) {
+ return true;
+ }
+ }
+ }
+ if (getPaSuperEntity() != null) {
+ return getPaSuperEntity().hasVersionAnnotatedFeature();
+ }
+ return false;
+ }
+
+ /**
+ * {@inheritDoc }
+ */
+ public PAnnotatedModel getPaModel() {
+ PAnnotatedEPackage ePackage = getPaEPackage();
+ return ePackage != null ? ePackage.getPaModel() : null;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public List<PAnnotatedEStructuralFeature> getPaIdFeatures() {
+ if (getPaSuperEntity() != null) {
+ return getPaSuperEntity().getPaIdFeatures();
+ }
+ // TODO cache this list
+ final List<PAnnotatedEStructuralFeature> attrs = new ArrayList<PAnnotatedEStructuralFeature>();
+ for (PAnnotatedEStructuralFeature aFeature : getPaEStructuralFeatures()) {
+ if (aFeature instanceof PAnnotatedEAttribute) {
+ if (((PAnnotatedEAttribute) aFeature).getId() != null &&
+ ((PAnnotatedEAttribute) aFeature).getTransient() == null) {
+ attrs.add(aFeature);
+ }
+ }
+ if (aFeature instanceof PAnnotatedEReference) {
+ if (((PAnnotatedEReference) aFeature).getEmbeddedId() != null &&
+ ((PAnnotatedEReference) aFeature).getTransient() == null) {
+ attrs.add(aFeature);
+ }
+ }
+ }
+ return attrs;
+ }
+
+ /**
+ * {@inheritDoc }
+ */
+ public List<PAnnotatedEClass> getPaMappedSupers() {
+ // TODO cache its MappedSuperClass
+ PAnnotatedModel model = getPaModel();
+ List<PAnnotatedEClass> mappedSupers = new ArrayList<PAnnotatedEClass>();
+ if (model != null && getModelEClass() != null) {
+ Iterator<EClass> i = getModelEClass().getESuperTypes().iterator();
+ while (i.hasNext()) {
+ PAnnotatedEClass x = model.getPAnnotated(i.next());
+ if (x.getMappedSuperclass() != null) {
+ mappedSupers.add(x);
+ }
+ }
+ }
+ return mappedSupers;
+ }
+
+ /**
+ * {@inheritDoc }
+ */
+ public PAnnotatedEClass getPaSuperEntity() {
+ return paSuperEntity;
+ }
+
+ /**
+ * @param paSuperEntity
+ * the paSuperEntity to set
+ */
+ public void setPaSuperEntity(PAnnotatedEClass paSuperEntity) {
+ this.paSuperEntity = paSuperEntity;
+ }
+
+ /**
+ * {@inheritDoc }
+ */
+ public InheritanceType getInheritanceStrategy() {
+ // TODO cache it
+ if (getInheritance() != null) {
+ return getInheritance().getStrategy();
+ }
+ PAnnotatedEClass paSuperEntity = getPaSuperEntity();
+ return paSuperEntity != null ? paSuperEntity.getInheritanceStrategy() : InheritanceType.SINGLE_TABLE;
+ }
+
+ /** returns true if this EClass should be mapped as an entity or as a concrete class */
+ public boolean isOnlyMapAsEntity() {
+ return mapAsEntity;
+ }
+
+ /** sets if this eclass should be mapped as an entity */
+ public void setOnlyMapAsEntity(boolean mapAsEntity) {
+ this.mapAsEntity = mapAsEntity;
+ }
+} // PAnnotatedEClassImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEDataTypeImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEDataTypeImpl.java
new file mode 100755
index 000000000..6bac2b661
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEDataTypeImpl.java
@@ -0,0 +1,724 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedEDataTypeImpl.java,v 1.8 2009/06/11 04:59:35 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel.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.EDataType;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedModel;
+import org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage;
+import org.eclipse.emf.teneo.annotations.pannotation.Basic;
+import org.eclipse.emf.teneo.annotations.pannotation.Column;
+import org.eclipse.emf.teneo.annotations.pannotation.Enumerated;
+import org.eclipse.emf.teneo.annotations.pannotation.GeneratedValue;
+import org.eclipse.emf.teneo.annotations.pannotation.Id;
+import org.eclipse.emf.teneo.annotations.pannotation.Lob;
+import org.eclipse.emf.teneo.annotations.pannotation.Temporal;
+import org.eclipse.emf.teneo.annotations.pannotation.Version;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>PAnnotated EData Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEDataTypeImpl#getModelEDataType <em>Model EData Type</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEDataTypeImpl#getBasic <em>Basic</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEDataTypeImpl#getEnumerated <em>Enumerated</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEDataTypeImpl#getGeneratedValue <em>Generated Value</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEDataTypeImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEDataTypeImpl#getLob <em>Lob</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEDataTypeImpl#getTemporal <em>Temporal</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEDataTypeImpl#getVersion <em>Version</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEDataTypeImpl#getPaEPackage <em>Pa EPackage</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEDataTypeImpl#getColumn <em>Column</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PAnnotatedEDataTypeImpl extends PAnnotatedEModelElementImpl implements PAnnotatedEDataType {
+ /**
+ * The cached value of the '{@link #getBasic() <em>Basic</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getBasic()
+ * @generated
+ * @ordered
+ */
+ protected Basic basic;
+
+ /**
+ * The cached value of the '{@link #getEnumerated() <em>Enumerated</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getEnumerated()
+ * @generated
+ * @ordered
+ */
+ protected Enumerated enumerated;
+
+ /**
+ * The cached value of the '{@link #getGeneratedValue() <em>Generated Value</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getGeneratedValue()
+ * @generated
+ * @ordered
+ */
+ protected GeneratedValue generatedValue;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected Id id;
+
+ /**
+ * The cached value of the '{@link #getLob() <em>Lob</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getLob()
+ * @generated
+ * @ordered
+ */
+ protected Lob lob;
+
+ /**
+ * The cached value of the '{@link #getTemporal() <em>Temporal</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getTemporal()
+ * @generated
+ * @ordered
+ */
+ protected Temporal temporal;
+
+ /**
+ * The cached value of the '{@link #getVersion() <em>Version</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected Version version;
+
+ /**
+ * The cached value of the '{@link #getColumn() <em>Column</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getColumn()
+ * @generated
+ * @ordered
+ */
+ protected Column column;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected PAnnotatedEDataTypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PamodelPackage.Literals.PANNOTATED_EDATA_TYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getModelEDataType() {
+ EDataType modelEDataType = basicGetModelEDataType();
+ return modelEDataType != null && modelEDataType.eIsProxy() ? (EDataType)eResolveProxy((InternalEObject)modelEDataType) : modelEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EDataType basicGetModelEDataType() {
+ return (EDataType) getModelElement();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Basic getBasic() {
+ return basic;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetBasic(Basic newBasic, NotificationChain msgs) {
+ Basic oldBasic = basic;
+ basic = newBasic;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EDATA_TYPE__BASIC, oldBasic, newBasic);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBasic(Basic newBasic) {
+ if (newBasic != basic) {
+ NotificationChain msgs = null;
+ if (basic != null)
+ msgs = ((InternalEObject)basic).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EDATA_TYPE__BASIC, null, msgs);
+ if (newBasic != null)
+ msgs = ((InternalEObject)newBasic).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EDATA_TYPE__BASIC, null, msgs);
+ msgs = basicSetBasic(newBasic, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EDATA_TYPE__BASIC, newBasic, newBasic));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Enumerated getEnumerated() {
+ return enumerated;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetEnumerated(Enumerated newEnumerated, NotificationChain msgs) {
+ Enumerated oldEnumerated = enumerated;
+ enumerated = newEnumerated;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EDATA_TYPE__ENUMERATED, oldEnumerated, newEnumerated);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEnumerated(Enumerated newEnumerated) {
+ if (newEnumerated != enumerated) {
+ NotificationChain msgs = null;
+ if (enumerated != null)
+ msgs = ((InternalEObject)enumerated).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EDATA_TYPE__ENUMERATED, null, msgs);
+ if (newEnumerated != null)
+ msgs = ((InternalEObject)newEnumerated).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EDATA_TYPE__ENUMERATED, null, msgs);
+ msgs = basicSetEnumerated(newEnumerated, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EDATA_TYPE__ENUMERATED, newEnumerated, newEnumerated));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public GeneratedValue getGeneratedValue() {
+ return generatedValue;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetGeneratedValue(GeneratedValue newGeneratedValue, NotificationChain msgs) {
+ GeneratedValue oldGeneratedValue = generatedValue;
+ generatedValue = newGeneratedValue;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EDATA_TYPE__GENERATED_VALUE, oldGeneratedValue, newGeneratedValue);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setGeneratedValue(GeneratedValue newGeneratedValue) {
+ if (newGeneratedValue != generatedValue) {
+ NotificationChain msgs = null;
+ if (generatedValue != null)
+ msgs = ((InternalEObject)generatedValue).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EDATA_TYPE__GENERATED_VALUE, null, msgs);
+ if (newGeneratedValue != null)
+ msgs = ((InternalEObject)newGeneratedValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EDATA_TYPE__GENERATED_VALUE, null, msgs);
+ msgs = basicSetGeneratedValue(newGeneratedValue, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EDATA_TYPE__GENERATED_VALUE, newGeneratedValue, newGeneratedValue));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Id getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetId(Id newId, NotificationChain msgs) {
+ Id oldId = id;
+ id = newId;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EDATA_TYPE__ID, oldId, newId);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(Id newId) {
+ if (newId != id) {
+ NotificationChain msgs = null;
+ if (id != null)
+ msgs = ((InternalEObject)id).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EDATA_TYPE__ID, null, msgs);
+ if (newId != null)
+ msgs = ((InternalEObject)newId).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EDATA_TYPE__ID, null, msgs);
+ msgs = basicSetId(newId, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EDATA_TYPE__ID, newId, newId));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Lob getLob() {
+ return lob;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLob(Lob newLob, NotificationChain msgs) {
+ Lob oldLob = lob;
+ lob = newLob;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EDATA_TYPE__LOB, oldLob, newLob);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLob(Lob newLob) {
+ if (newLob != lob) {
+ NotificationChain msgs = null;
+ if (lob != null)
+ msgs = ((InternalEObject)lob).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EDATA_TYPE__LOB, null, msgs);
+ if (newLob != null)
+ msgs = ((InternalEObject)newLob).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EDATA_TYPE__LOB, null, msgs);
+ msgs = basicSetLob(newLob, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EDATA_TYPE__LOB, newLob, newLob));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Temporal getTemporal() {
+ return temporal;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTemporal(Temporal newTemporal, NotificationChain msgs) {
+ Temporal oldTemporal = temporal;
+ temporal = newTemporal;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EDATA_TYPE__TEMPORAL, oldTemporal, newTemporal);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTemporal(Temporal newTemporal) {
+ if (newTemporal != temporal) {
+ NotificationChain msgs = null;
+ if (temporal != null)
+ msgs = ((InternalEObject)temporal).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EDATA_TYPE__TEMPORAL, null, msgs);
+ if (newTemporal != null)
+ msgs = ((InternalEObject)newTemporal).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EDATA_TYPE__TEMPORAL, null, msgs);
+ msgs = basicSetTemporal(newTemporal, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EDATA_TYPE__TEMPORAL, newTemporal, newTemporal));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Version getVersion() {
+ return version;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetVersion(Version newVersion, NotificationChain msgs) {
+ Version oldVersion = version;
+ version = newVersion;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EDATA_TYPE__VERSION, oldVersion, newVersion);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVersion(Version newVersion) {
+ if (newVersion != version) {
+ NotificationChain msgs = null;
+ if (version != null)
+ msgs = ((InternalEObject)version).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EDATA_TYPE__VERSION, null, msgs);
+ if (newVersion != null)
+ msgs = ((InternalEObject)newVersion).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EDATA_TYPE__VERSION, null, msgs);
+ msgs = basicSetVersion(newVersion, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EDATA_TYPE__VERSION, newVersion, newVersion));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public PAnnotatedEPackage getPaEPackage() {
+ if (eContainerFeatureID() != PamodelPackage.PANNOTATED_EDATA_TYPE__PA_EPACKAGE) return null;
+ return (PAnnotatedEPackage)eContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPaEPackage(PAnnotatedEPackage newPaEPackage, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newPaEPackage, PamodelPackage.PANNOTATED_EDATA_TYPE__PA_EPACKAGE, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPaEPackage(PAnnotatedEPackage newPaEPackage) {
+ if (newPaEPackage != eInternalContainer() || (eContainerFeatureID() != PamodelPackage.PANNOTATED_EDATA_TYPE__PA_EPACKAGE && newPaEPackage != null)) {
+ if (EcoreUtil.isAncestor(this, newPaEPackage))
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newPaEPackage != null)
+ msgs = ((InternalEObject)newPaEPackage).eInverseAdd(this, PamodelPackage.PANNOTATED_EPACKAGE__PA_EDATA_TYPES, PAnnotatedEPackage.class, msgs);
+ msgs = basicSetPaEPackage(newPaEPackage, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EDATA_TYPE__PA_EPACKAGE, newPaEPackage, newPaEPackage));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Column getColumn() {
+ return column;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetColumn(Column newColumn, NotificationChain msgs) {
+ Column oldColumn = column;
+ column = newColumn;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EDATA_TYPE__COLUMN, oldColumn, newColumn);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setColumn(Column newColumn) {
+ if (newColumn != column) {
+ NotificationChain msgs = null;
+ if (column != null)
+ msgs = ((InternalEObject)column).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EDATA_TYPE__COLUMN, null, msgs);
+ if (newColumn != null)
+ msgs = ((InternalEObject)newColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EDATA_TYPE__COLUMN, null, msgs);
+ msgs = basicSetColumn(newColumn, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EDATA_TYPE__COLUMN, newColumn, newColumn));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__PA_EPACKAGE:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetPaEPackage((PAnnotatedEPackage)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 PamodelPackage.PANNOTATED_EDATA_TYPE__BASIC:
+ return basicSetBasic(null, msgs);
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__ENUMERATED:
+ return basicSetEnumerated(null, msgs);
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__GENERATED_VALUE:
+ return basicSetGeneratedValue(null, msgs);
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__ID:
+ return basicSetId(null, msgs);
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__LOB:
+ return basicSetLob(null, msgs);
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__TEMPORAL:
+ return basicSetTemporal(null, msgs);
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__VERSION:
+ return basicSetVersion(null, msgs);
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__PA_EPACKAGE:
+ return basicSetPaEPackage(null, msgs);
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__COLUMN:
+ return basicSetColumn(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__PA_EPACKAGE:
+ return eInternalContainer().eInverseRemove(this, PamodelPackage.PANNOTATED_EPACKAGE__PA_EDATA_TYPES, PAnnotatedEPackage.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__MODEL_EDATA_TYPE:
+ if (resolve) return getModelEDataType();
+ return basicGetModelEDataType();
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__BASIC:
+ return getBasic();
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__ENUMERATED:
+ return getEnumerated();
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__GENERATED_VALUE:
+ return getGeneratedValue();
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__ID:
+ return getId();
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__LOB:
+ return getLob();
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__TEMPORAL:
+ return getTemporal();
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__VERSION:
+ return getVersion();
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__PA_EPACKAGE:
+ return getPaEPackage();
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__COLUMN:
+ return getColumn();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__BASIC:
+ setBasic((Basic)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__ENUMERATED:
+ setEnumerated((Enumerated)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__GENERATED_VALUE:
+ setGeneratedValue((GeneratedValue)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__ID:
+ setId((Id)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__LOB:
+ setLob((Lob)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__TEMPORAL:
+ setTemporal((Temporal)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__VERSION:
+ setVersion((Version)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__PA_EPACKAGE:
+ setPaEPackage((PAnnotatedEPackage)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__COLUMN:
+ setColumn((Column)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__BASIC:
+ setBasic((Basic)null);
+ return;
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__ENUMERATED:
+ setEnumerated((Enumerated)null);
+ return;
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__GENERATED_VALUE:
+ setGeneratedValue((GeneratedValue)null);
+ return;
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__ID:
+ setId((Id)null);
+ return;
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__LOB:
+ setLob((Lob)null);
+ return;
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__TEMPORAL:
+ setTemporal((Temporal)null);
+ return;
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__VERSION:
+ setVersion((Version)null);
+ return;
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__PA_EPACKAGE:
+ setPaEPackage((PAnnotatedEPackage)null);
+ return;
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__COLUMN:
+ setColumn((Column)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__MODEL_EDATA_TYPE:
+ return basicGetModelEDataType() != null;
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__BASIC:
+ return basic != null;
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__ENUMERATED:
+ return enumerated != null;
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__GENERATED_VALUE:
+ return generatedValue != null;
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__ID:
+ return id != null;
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__LOB:
+ return lob != null;
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__TEMPORAL:
+ return temporal != null;
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__VERSION:
+ return version != null;
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__PA_EPACKAGE:
+ return getPaEPackage() != null;
+ case PamodelPackage.PANNOTATED_EDATA_TYPE__COLUMN:
+ return column != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEModelElement#getPaModel()
+ */
+ public PAnnotatedModel getPaModel() {
+ return getPaEPackage().getPaModel();
+ }
+} // PAnnotatedEDataTypeImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEModelElementImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEModelElementImpl.java
new file mode 100755
index 000000000..4787cf4f8
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEModelElementImpl.java
@@ -0,0 +1,252 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedEModelElementImpl.java,v 1.8 2008/01/29 12:58:06 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+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.ENamedElement;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEModelElement;
+import org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage;
+import org.eclipse.emf.teneo.annotations.pannotation.PAnnotation;
+import org.eclipse.emf.teneo.annotations.pannotation.Transient;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>PAnnotated EModel Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEModelElementImpl#getModelElement <em>Model Element</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEModelElementImpl#getTransient <em>Transient</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class PAnnotatedEModelElementImpl extends EObjectImpl implements PAnnotatedEModelElement {
+ /**
+ * The cached value of the '{@link #getModelElement() <em>Model Element</em>}' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getModelElement()
+ * @generated
+ * @ordered
+ */
+ protected ENamedElement modelElement;
+
+ /**
+ * The cached value of the '{@link #getTransient() <em>Transient</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getTransient()
+ * @generated
+ * @ordered
+ */
+ protected Transient transient_;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected PAnnotatedEModelElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PamodelPackage.Literals.PANNOTATED_EMODEL_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ENamedElement getModelElement() {
+ if (modelElement != null && modelElement.eIsProxy()) {
+ InternalEObject oldModelElement = (InternalEObject)modelElement;
+ modelElement = (ENamedElement)eResolveProxy(oldModelElement);
+ if (modelElement != oldModelElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, PamodelPackage.PANNOTATED_EMODEL_ELEMENT__MODEL_ELEMENT, oldModelElement, modelElement));
+ }
+ }
+ return modelElement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ENamedElement basicGetModelElement() {
+ return modelElement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setModelElement(ENamedElement newModelElement) {
+ ENamedElement oldModelElement = modelElement;
+ modelElement = newModelElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EMODEL_ELEMENT__MODEL_ELEMENT, oldModelElement, modelElement));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Transient getTransient() {
+ return transient_;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTransient(Transient newTransient, NotificationChain msgs) {
+ Transient oldTransient = transient_;
+ transient_ = newTransient;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EMODEL_ELEMENT__TRANSIENT, oldTransient, newTransient);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTransient(Transient newTransient) {
+ if (newTransient != transient_) {
+ NotificationChain msgs = null;
+ if (transient_ != null)
+ msgs = ((InternalEObject)transient_).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EMODEL_ELEMENT__TRANSIENT, null, msgs);
+ if (newTransient != null)
+ msgs = ((InternalEObject)newTransient).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EMODEL_ELEMENT__TRANSIENT, null, msgs);
+ msgs = basicSetTransient(newTransient, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EMODEL_ELEMENT__TRANSIENT, newTransient, newTransient));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_EMODEL_ELEMENT__TRANSIENT:
+ return basicSetTransient(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 PamodelPackage.PANNOTATED_EMODEL_ELEMENT__MODEL_ELEMENT:
+ if (resolve) return getModelElement();
+ return basicGetModelElement();
+ case PamodelPackage.PANNOTATED_EMODEL_ELEMENT__TRANSIENT:
+ return getTransient();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_EMODEL_ELEMENT__MODEL_ELEMENT:
+ setModelElement((ENamedElement)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EMODEL_ELEMENT__TRANSIENT:
+ setTransient((Transient)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_EMODEL_ELEMENT__MODEL_ELEMENT:
+ setModelElement((ENamedElement)null);
+ return;
+ case PamodelPackage.PANNOTATED_EMODEL_ELEMENT__TRANSIENT:
+ setTransient((Transient)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_EMODEL_ELEMENT__MODEL_ELEMENT:
+ return modelElement != null;
+ case PamodelPackage.PANNOTATED_EMODEL_ELEMENT__TRANSIENT:
+ return transient_ != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * {@inheritDoc }
+ */
+ public List<PAnnotation> getAnnotations() {
+ // TODO implement as wrapper on eContents?
+ List<PAnnotation> annotations = new ArrayList<PAnnotation>();
+ for (Object x : eContents()) {
+ if (x instanceof PAnnotation) {
+ annotations.add((PAnnotation) x);
+ }
+ }
+ return annotations;
+ }
+
+ /**
+ * Overridden to provide type info
+ *
+ * @see org.eclipse.emf.ecore.impl.BasicEObjectImpl#toString()
+ */
+ @Override
+ public String toString() {
+ ENamedElement em = getModelElement();
+ return em.eClass().getName() + "/" + em.getName();
+ }
+
+} // PAnnotatedEModelElementImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEPackageImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEPackageImpl.java
new file mode 100755
index 000000000..fa56adfd2
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEPackageImpl.java
@@ -0,0 +1,395 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedEPackageImpl.java,v 1.16 2009/06/11 04:59:35 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel.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.EPackage;
+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.EObjectContainmentWithInverseEList;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedModel;
+import org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage;
+import org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator;
+import org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator;
+import org.eclipse.emf.teneo.annotations.pannotation.TableGenerator;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>PAnnotated EPackage</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEPackageImpl#getPaModel <em>Pa Model</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEPackageImpl#getModelEPackage <em>Model EPackage</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEPackageImpl#getPaEClasses <em>Pa EClasses</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEPackageImpl#getSequenceGenerators <em>Sequence Generators</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEPackageImpl#getTableGenerators <em>Table Generators</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEPackageImpl#getPaEDataTypes <em>Pa EData Types</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEPackageImpl#getSequenceStyleGenerators <em>Sequence Style Generators</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PAnnotatedEPackageImpl extends PAnnotatedEModelElementImpl implements PAnnotatedEPackage {
+ /**
+ * The cached value of the '{@link #getPaEClasses() <em>Pa EClasses</em>}' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getPaEClasses()
+ * @generated
+ * @ordered
+ */
+ protected EList<PAnnotatedEClass> paEClasses;
+
+ /**
+ * The cached value of the '{@link #getSequenceGenerators() <em>Sequence Generators</em>}' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getSequenceGenerators()
+ * @generated
+ * @ordered
+ */
+ protected EList<SequenceGenerator> sequenceGenerators;
+
+ /**
+ * The cached value of the '{@link #getTableGenerators() <em>Table Generators</em>}' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getTableGenerators()
+ * @generated
+ * @ordered
+ */
+ protected EList<TableGenerator> tableGenerators;
+
+ /**
+ * The cached value of the '{@link #getPaEDataTypes() <em>Pa EData Types</em>}' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getPaEDataTypes()
+ * @generated
+ * @ordered
+ */
+ protected EList<PAnnotatedEDataType> paEDataTypes;
+
+ /**
+ * The cached value of the '{@link #getSequenceStyleGenerators() <em>Sequence Style Generators</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSequenceStyleGenerators()
+ * @generated
+ * @ordered
+ */
+ protected EList<SequenceStyleGenerator> sequenceStyleGenerators;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected PAnnotatedEPackageImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PamodelPackage.Literals.PANNOTATED_EPACKAGE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public PAnnotatedModel getPaModel() {
+ if (eContainerFeatureID() != PamodelPackage.PANNOTATED_EPACKAGE__PA_MODEL) return null;
+ return (PAnnotatedModel)eContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPaModel(PAnnotatedModel newPaModel, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newPaModel, PamodelPackage.PANNOTATED_EPACKAGE__PA_MODEL, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPaModel(PAnnotatedModel newPaModel) {
+ if (newPaModel != eInternalContainer() || (eContainerFeatureID() != PamodelPackage.PANNOTATED_EPACKAGE__PA_MODEL && newPaModel != null)) {
+ if (EcoreUtil.isAncestor(this, newPaModel))
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newPaModel != null)
+ msgs = ((InternalEObject)newPaModel).eInverseAdd(this, PamodelPackage.PANNOTATED_MODEL__PA_EPACKAGES, PAnnotatedModel.class, msgs);
+ msgs = basicSetPaModel(newPaModel, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EPACKAGE__PA_MODEL, newPaModel, newPaModel));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EPackage getModelEPackage() {
+ EPackage modelEPackage = basicGetModelEPackage();
+ return modelEPackage != null && modelEPackage.eIsProxy() ? (EPackage)eResolveProxy((InternalEObject)modelEPackage) : modelEPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EPackage basicGetModelEPackage() {
+ return (EPackage) getModelElement();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PAnnotatedEClass> getPaEClasses() {
+ if (paEClasses == null) {
+ paEClasses = new EObjectContainmentWithInverseEList<PAnnotatedEClass>(PAnnotatedEClass.class, this, PamodelPackage.PANNOTATED_EPACKAGE__PA_ECLASSES, PamodelPackage.PANNOTATED_ECLASS__PA_EPACKAGE);
+ }
+ return paEClasses;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<SequenceGenerator> getSequenceGenerators() {
+ if (sequenceGenerators == null) {
+ sequenceGenerators = new EObjectContainmentEList<SequenceGenerator>(SequenceGenerator.class, this, PamodelPackage.PANNOTATED_EPACKAGE__SEQUENCE_GENERATORS);
+ }
+ return sequenceGenerators;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TableGenerator> getTableGenerators() {
+ if (tableGenerators == null) {
+ tableGenerators = new EObjectContainmentEList<TableGenerator>(TableGenerator.class, this, PamodelPackage.PANNOTATED_EPACKAGE__TABLE_GENERATORS);
+ }
+ return tableGenerators;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PAnnotatedEDataType> getPaEDataTypes() {
+ if (paEDataTypes == null) {
+ paEDataTypes = new EObjectContainmentWithInverseEList<PAnnotatedEDataType>(PAnnotatedEDataType.class, this, PamodelPackage.PANNOTATED_EPACKAGE__PA_EDATA_TYPES, PamodelPackage.PANNOTATED_EDATA_TYPE__PA_EPACKAGE);
+ }
+ return paEDataTypes;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<SequenceStyleGenerator> getSequenceStyleGenerators() {
+ if (sequenceStyleGenerators == null) {
+ sequenceStyleGenerators = new EObjectContainmentEList<SequenceStyleGenerator>(SequenceStyleGenerator.class, this, PamodelPackage.PANNOTATED_EPACKAGE__SEQUENCE_STYLE_GENERATORS);
+ }
+ return sequenceStyleGenerators;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_EPACKAGE__PA_MODEL:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetPaModel((PAnnotatedModel)otherEnd, msgs);
+ case PamodelPackage.PANNOTATED_EPACKAGE__PA_ECLASSES:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getPaEClasses()).basicAdd(otherEnd, msgs);
+ case PamodelPackage.PANNOTATED_EPACKAGE__PA_EDATA_TYPES:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getPaEDataTypes()).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 PamodelPackage.PANNOTATED_EPACKAGE__PA_MODEL:
+ return basicSetPaModel(null, msgs);
+ case PamodelPackage.PANNOTATED_EPACKAGE__PA_ECLASSES:
+ return ((InternalEList<?>)getPaEClasses()).basicRemove(otherEnd, msgs);
+ case PamodelPackage.PANNOTATED_EPACKAGE__SEQUENCE_GENERATORS:
+ return ((InternalEList<?>)getSequenceGenerators()).basicRemove(otherEnd, msgs);
+ case PamodelPackage.PANNOTATED_EPACKAGE__TABLE_GENERATORS:
+ return ((InternalEList<?>)getTableGenerators()).basicRemove(otherEnd, msgs);
+ case PamodelPackage.PANNOTATED_EPACKAGE__PA_EDATA_TYPES:
+ return ((InternalEList<?>)getPaEDataTypes()).basicRemove(otherEnd, msgs);
+ case PamodelPackage.PANNOTATED_EPACKAGE__SEQUENCE_STYLE_GENERATORS:
+ return ((InternalEList<?>)getSequenceStyleGenerators()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case PamodelPackage.PANNOTATED_EPACKAGE__PA_MODEL:
+ return eInternalContainer().eInverseRemove(this, PamodelPackage.PANNOTATED_MODEL__PA_EPACKAGES, PAnnotatedModel.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_EPACKAGE__PA_MODEL:
+ return getPaModel();
+ case PamodelPackage.PANNOTATED_EPACKAGE__MODEL_EPACKAGE:
+ if (resolve) return getModelEPackage();
+ return basicGetModelEPackage();
+ case PamodelPackage.PANNOTATED_EPACKAGE__PA_ECLASSES:
+ return getPaEClasses();
+ case PamodelPackage.PANNOTATED_EPACKAGE__SEQUENCE_GENERATORS:
+ return getSequenceGenerators();
+ case PamodelPackage.PANNOTATED_EPACKAGE__TABLE_GENERATORS:
+ return getTableGenerators();
+ case PamodelPackage.PANNOTATED_EPACKAGE__PA_EDATA_TYPES:
+ return getPaEDataTypes();
+ case PamodelPackage.PANNOTATED_EPACKAGE__SEQUENCE_STYLE_GENERATORS:
+ return getSequenceStyleGenerators();
+ }
+ 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 PamodelPackage.PANNOTATED_EPACKAGE__PA_MODEL:
+ setPaModel((PAnnotatedModel)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EPACKAGE__PA_ECLASSES:
+ getPaEClasses().clear();
+ getPaEClasses().addAll((Collection<? extends PAnnotatedEClass>)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EPACKAGE__SEQUENCE_GENERATORS:
+ getSequenceGenerators().clear();
+ getSequenceGenerators().addAll((Collection<? extends SequenceGenerator>)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EPACKAGE__TABLE_GENERATORS:
+ getTableGenerators().clear();
+ getTableGenerators().addAll((Collection<? extends TableGenerator>)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EPACKAGE__PA_EDATA_TYPES:
+ getPaEDataTypes().clear();
+ getPaEDataTypes().addAll((Collection<? extends PAnnotatedEDataType>)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EPACKAGE__SEQUENCE_STYLE_GENERATORS:
+ getSequenceStyleGenerators().clear();
+ getSequenceStyleGenerators().addAll((Collection<? extends SequenceStyleGenerator>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_EPACKAGE__PA_MODEL:
+ setPaModel((PAnnotatedModel)null);
+ return;
+ case PamodelPackage.PANNOTATED_EPACKAGE__PA_ECLASSES:
+ getPaEClasses().clear();
+ return;
+ case PamodelPackage.PANNOTATED_EPACKAGE__SEQUENCE_GENERATORS:
+ getSequenceGenerators().clear();
+ return;
+ case PamodelPackage.PANNOTATED_EPACKAGE__TABLE_GENERATORS:
+ getTableGenerators().clear();
+ return;
+ case PamodelPackage.PANNOTATED_EPACKAGE__PA_EDATA_TYPES:
+ getPaEDataTypes().clear();
+ return;
+ case PamodelPackage.PANNOTATED_EPACKAGE__SEQUENCE_STYLE_GENERATORS:
+ getSequenceStyleGenerators().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_EPACKAGE__PA_MODEL:
+ return getPaModel() != null;
+ case PamodelPackage.PANNOTATED_EPACKAGE__MODEL_EPACKAGE:
+ return basicGetModelEPackage() != null;
+ case PamodelPackage.PANNOTATED_EPACKAGE__PA_ECLASSES:
+ return paEClasses != null && !paEClasses.isEmpty();
+ case PamodelPackage.PANNOTATED_EPACKAGE__SEQUENCE_GENERATORS:
+ return sequenceGenerators != null && !sequenceGenerators.isEmpty();
+ case PamodelPackage.PANNOTATED_EPACKAGE__TABLE_GENERATORS:
+ return tableGenerators != null && !tableGenerators.isEmpty();
+ case PamodelPackage.PANNOTATED_EPACKAGE__PA_EDATA_TYPES:
+ return paEDataTypes != null && !paEDataTypes.isEmpty();
+ case PamodelPackage.PANNOTATED_EPACKAGE__SEQUENCE_STYLE_GENERATORS:
+ return sequenceStyleGenerators != null && !sequenceStyleGenerators.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+} // PAnnotatedEPackageImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEReferenceImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEReferenceImpl.java
new file mode 100755
index 000000000..b3c3c02b8
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEReferenceImpl.java
@@ -0,0 +1,758 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedEReferenceImpl.java,v 1.17 2009/06/11 04:59:35 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel.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.EReference;
+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.InternalEList;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference;
+import org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage;
+import org.eclipse.emf.teneo.annotations.pannotation.AssociationOverride;
+import org.eclipse.emf.teneo.annotations.pannotation.Embedded;
+import org.eclipse.emf.teneo.annotations.pannotation.EmbeddedId;
+import org.eclipse.emf.teneo.annotations.pannotation.External;
+import org.eclipse.emf.teneo.annotations.pannotation.ManyToMany;
+import org.eclipse.emf.teneo.annotations.pannotation.ManyToOne;
+import org.eclipse.emf.teneo.annotations.pannotation.MapKey;
+import org.eclipse.emf.teneo.annotations.pannotation.OneToOne;
+import org.eclipse.emf.teneo.annotations.pannotation.OrderBy;
+import org.eclipse.emf.teneo.annotations.pannotation.PrimaryKeyJoinColumn;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>PAnnotated EReference</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEReferenceImpl#getModelEReference <em>Model EReference</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEReferenceImpl#getEmbedded <em>Embedded</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEReferenceImpl#getEmbeddedId <em>Embedded Id</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEReferenceImpl#getManyToMany <em>Many To Many</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEReferenceImpl#getManyToOne <em>Many To One</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEReferenceImpl#getMapKey <em>Map Key</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEReferenceImpl#getOneToOne <em>One To One</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEReferenceImpl#getOrderBy <em>Order By</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEReferenceImpl#getPrimaryKeyJoinColumns <em>Primary Key Join Columns</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEReferenceImpl#getAssociationOverrides <em>Association Overrides</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEReferenceImpl#getExternal <em>External</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PAnnotatedEReferenceImpl extends PAnnotatedEStructuralFeatureImpl
+ implements PAnnotatedEReference {
+
+ /**
+ * The cached value of the '{@link #getEmbedded() <em>Embedded</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getEmbedded()
+ * @generated
+ * @ordered
+ */
+ protected Embedded embedded;
+
+ /**
+ * The cached value of the '{@link #getEmbeddedId() <em>Embedded Id</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getEmbeddedId()
+ * @generated
+ * @ordered
+ */
+ protected EmbeddedId embeddedId;
+
+ /**
+ * The cached value of the '{@link #getManyToMany() <em>Many To Many</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getManyToMany()
+ * @generated
+ * @ordered
+ */
+ protected ManyToMany manyToMany;
+
+ /**
+ * The cached value of the '{@link #getManyToOne() <em>Many To One</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getManyToOne()
+ * @generated
+ * @ordered
+ */
+ protected ManyToOne manyToOne;
+
+ /**
+ * The cached value of the '{@link #getMapKey() <em>Map Key</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getMapKey()
+ * @generated
+ * @ordered
+ */
+ protected MapKey mapKey;
+
+ /**
+ * The cached value of the '{@link #getOneToOne() <em>One To One</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getOneToOne()
+ * @generated
+ * @ordered
+ */
+ protected OneToOne oneToOne;
+
+ /**
+ * The cached value of the '{@link #getOrderBy() <em>Order By</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getOrderBy()
+ * @generated
+ * @ordered
+ */
+ protected OrderBy orderBy;
+
+ /**
+ * The cached value of the '{@link #getPrimaryKeyJoinColumns()
+ * <em>Primary Key Join Columns</em>}' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPrimaryKeyJoinColumns()
+ * @generated
+ * @ordered
+ */
+ protected EList<PrimaryKeyJoinColumn> primaryKeyJoinColumns;
+
+ /**
+ * The cached value of the '{@link #getAssociationOverrides()
+ * <em>Association Overrides</em>}' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getAssociationOverrides()
+ * @generated
+ * @ordered
+ */
+ protected EList<AssociationOverride> associationOverrides;
+
+ /**
+ * The cached value of the '{@link #getExternal() <em>External</em>}' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getExternal()
+ * @generated
+ * @ordered
+ */
+ protected External external;
+
+ /** The pannotated eclass to which the reference is pointing */
+ private PAnnotatedEClass areferenceType = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected PAnnotatedEReferenceImpl() {
+ super();
+ }
+
+ /** Returns the eclass to which the reference is pointing */
+ public EClass getEReferenceType() {
+ return getModelEReference().getEReferenceType();
+ }
+
+ /** Returns the annotated class to which the reference is pointing */
+ public PAnnotatedEClass getAReferenceType() {
+ if (areferenceType == null) {
+ areferenceType = getPaModel().getPAnnotated(getEReferenceType());
+ }
+ return areferenceType;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PamodelPackage.Literals.PANNOTATED_EREFERENCE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModelEReference() {
+ EReference modelEReference = basicGetModelEReference();
+ return modelEReference != null && modelEReference.eIsProxy() ? (EReference)eResolveProxy((InternalEObject)modelEReference) : modelEReference;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EReference basicGetModelEReference() {
+ return (EReference) getModelElement();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public Embedded getEmbedded() {
+ return embedded;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetEmbedded(Embedded newEmbedded,
+ NotificationChain msgs) {
+ Embedded oldEmbedded = embedded;
+ embedded = newEmbedded;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EREFERENCE__EMBEDDED, oldEmbedded, newEmbedded);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEmbedded(Embedded newEmbedded) {
+ if (newEmbedded != embedded) {
+ NotificationChain msgs = null;
+ if (embedded != null)
+ msgs = ((InternalEObject)embedded).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EREFERENCE__EMBEDDED, null, msgs);
+ if (newEmbedded != null)
+ msgs = ((InternalEObject)newEmbedded).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EREFERENCE__EMBEDDED, null, msgs);
+ msgs = basicSetEmbedded(newEmbedded, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EREFERENCE__EMBEDDED, newEmbedded, newEmbedded));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EmbeddedId getEmbeddedId() {
+ return embeddedId;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetEmbeddedId(EmbeddedId newEmbeddedId,
+ NotificationChain msgs) {
+ EmbeddedId oldEmbeddedId = embeddedId;
+ embeddedId = newEmbeddedId;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EREFERENCE__EMBEDDED_ID, oldEmbeddedId, newEmbeddedId);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEmbeddedId(EmbeddedId newEmbeddedId) {
+ if (newEmbeddedId != embeddedId) {
+ NotificationChain msgs = null;
+ if (embeddedId != null)
+ msgs = ((InternalEObject)embeddedId).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EREFERENCE__EMBEDDED_ID, null, msgs);
+ if (newEmbeddedId != null)
+ msgs = ((InternalEObject)newEmbeddedId).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EREFERENCE__EMBEDDED_ID, null, msgs);
+ msgs = basicSetEmbeddedId(newEmbeddedId, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EREFERENCE__EMBEDDED_ID, newEmbeddedId, newEmbeddedId));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ManyToMany getManyToMany() {
+ return manyToMany;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetManyToMany(ManyToMany newManyToMany,
+ NotificationChain msgs) {
+ ManyToMany oldManyToMany = manyToMany;
+ manyToMany = newManyToMany;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EREFERENCE__MANY_TO_MANY, oldManyToMany, newManyToMany);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setManyToMany(ManyToMany newManyToMany) {
+ if (newManyToMany != manyToMany) {
+ NotificationChain msgs = null;
+ if (manyToMany != null)
+ msgs = ((InternalEObject)manyToMany).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EREFERENCE__MANY_TO_MANY, null, msgs);
+ if (newManyToMany != null)
+ msgs = ((InternalEObject)newManyToMany).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EREFERENCE__MANY_TO_MANY, null, msgs);
+ msgs = basicSetManyToMany(newManyToMany, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EREFERENCE__MANY_TO_MANY, newManyToMany, newManyToMany));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ManyToOne getManyToOne() {
+ return manyToOne;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetManyToOne(ManyToOne newManyToOne,
+ NotificationChain msgs) {
+ ManyToOne oldManyToOne = manyToOne;
+ manyToOne = newManyToOne;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EREFERENCE__MANY_TO_ONE, oldManyToOne, newManyToOne);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setManyToOne(ManyToOne newManyToOne) {
+ if (newManyToOne != manyToOne) {
+ NotificationChain msgs = null;
+ if (manyToOne != null)
+ msgs = ((InternalEObject)manyToOne).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EREFERENCE__MANY_TO_ONE, null, msgs);
+ if (newManyToOne != null)
+ msgs = ((InternalEObject)newManyToOne).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EREFERENCE__MANY_TO_ONE, null, msgs);
+ msgs = basicSetManyToOne(newManyToOne, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EREFERENCE__MANY_TO_ONE, newManyToOne, newManyToOne));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public MapKey getMapKey() {
+ return mapKey;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetMapKey(MapKey newMapKey,
+ NotificationChain msgs) {
+ MapKey oldMapKey = mapKey;
+ mapKey = newMapKey;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EREFERENCE__MAP_KEY, oldMapKey, newMapKey);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMapKey(MapKey newMapKey) {
+ if (newMapKey != mapKey) {
+ NotificationChain msgs = null;
+ if (mapKey != null)
+ msgs = ((InternalEObject)mapKey).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EREFERENCE__MAP_KEY, null, msgs);
+ if (newMapKey != null)
+ msgs = ((InternalEObject)newMapKey).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EREFERENCE__MAP_KEY, null, msgs);
+ msgs = basicSetMapKey(newMapKey, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EREFERENCE__MAP_KEY, newMapKey, newMapKey));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public OneToOne getOneToOne() {
+ return oneToOne;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOneToOne(OneToOne newOneToOne,
+ NotificationChain msgs) {
+ OneToOne oldOneToOne = oneToOne;
+ oneToOne = newOneToOne;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EREFERENCE__ONE_TO_ONE, oldOneToOne, newOneToOne);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOneToOne(OneToOne newOneToOne) {
+ if (newOneToOne != oneToOne) {
+ NotificationChain msgs = null;
+ if (oneToOne != null)
+ msgs = ((InternalEObject)oneToOne).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EREFERENCE__ONE_TO_ONE, null, msgs);
+ if (newOneToOne != null)
+ msgs = ((InternalEObject)newOneToOne).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_EREFERENCE__ONE_TO_ONE, null, msgs);
+ msgs = basicSetOneToOne(newOneToOne, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EREFERENCE__ONE_TO_ONE, newOneToOne, newOneToOne));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public OrderBy getOrderBy() {
+ return orderBy;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOrderBy(OrderBy newOrderBy,
+ NotificationChain msgs) {
+ OrderBy oldOrderBy = orderBy;
+ orderBy = newOrderBy;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EREFERENCE__ORDER_BY, oldOrderBy, newOrderBy);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> Added behavior that indexed is set to false in
+ * case order by is set <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public void setOrderBy(OrderBy newOrderBy) {
+ if (newOrderBy != orderBy) {
+ NotificationChain msgs = null;
+ if (orderBy != null) {
+ msgs = ((InternalEObject) orderBy)
+ .eInverseRemove(
+ this,
+ EOPPOSITE_FEATURE_BASE
+ - PamodelPackage.PANNOTATED_EREFERENCE__ORDER_BY,
+ null, msgs);
+ }
+ if (newOrderBy != null) {
+ msgs = ((InternalEObject) newOrderBy)
+ .eInverseAdd(
+ this,
+ EOPPOSITE_FEATURE_BASE
+ - PamodelPackage.PANNOTATED_EREFERENCE__ORDER_BY,
+ null, msgs);
+ }
+ msgs = basicSetOrderBy(newOrderBy, msgs);
+ if (msgs != null) {
+ msgs.dispatch();
+ }
+ } else if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PamodelPackage.PANNOTATED_EREFERENCE__ORDER_BY, newOrderBy,
+ newOrderBy));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PrimaryKeyJoinColumn> getPrimaryKeyJoinColumns() {
+ if (primaryKeyJoinColumns == null) {
+ primaryKeyJoinColumns = new EObjectContainmentEList<PrimaryKeyJoinColumn>(PrimaryKeyJoinColumn.class, this, PamodelPackage.PANNOTATED_EREFERENCE__PRIMARY_KEY_JOIN_COLUMNS);
+ }
+ return primaryKeyJoinColumns;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<AssociationOverride> getAssociationOverrides() {
+ if (associationOverrides == null) {
+ associationOverrides = new EObjectContainmentEList<AssociationOverride>(AssociationOverride.class, this, PamodelPackage.PANNOTATED_EREFERENCE__ASSOCIATION_OVERRIDES);
+ }
+ return associationOverrides;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public External getExternal() {
+ if (external != null && external.eIsProxy()) {
+ InternalEObject oldExternal = (InternalEObject)external;
+ external = (External)eResolveProxy(oldExternal);
+ if (external != oldExternal) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, PamodelPackage.PANNOTATED_EREFERENCE__EXTERNAL, oldExternal, external));
+ }
+ }
+ return external;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public External basicGetExternal() {
+ return external;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExternal(External newExternal) {
+ External oldExternal = external;
+ external = newExternal;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_EREFERENCE__EXTERNAL, oldExternal, external));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_EREFERENCE__EMBEDDED:
+ return basicSetEmbedded(null, msgs);
+ case PamodelPackage.PANNOTATED_EREFERENCE__EMBEDDED_ID:
+ return basicSetEmbeddedId(null, msgs);
+ case PamodelPackage.PANNOTATED_EREFERENCE__MANY_TO_MANY:
+ return basicSetManyToMany(null, msgs);
+ case PamodelPackage.PANNOTATED_EREFERENCE__MANY_TO_ONE:
+ return basicSetManyToOne(null, msgs);
+ case PamodelPackage.PANNOTATED_EREFERENCE__MAP_KEY:
+ return basicSetMapKey(null, msgs);
+ case PamodelPackage.PANNOTATED_EREFERENCE__ONE_TO_ONE:
+ return basicSetOneToOne(null, msgs);
+ case PamodelPackage.PANNOTATED_EREFERENCE__ORDER_BY:
+ return basicSetOrderBy(null, msgs);
+ case PamodelPackage.PANNOTATED_EREFERENCE__PRIMARY_KEY_JOIN_COLUMNS:
+ return ((InternalEList<?>)getPrimaryKeyJoinColumns()).basicRemove(otherEnd, msgs);
+ case PamodelPackage.PANNOTATED_EREFERENCE__ASSOCIATION_OVERRIDES:
+ return ((InternalEList<?>)getAssociationOverrides()).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 PamodelPackage.PANNOTATED_EREFERENCE__MODEL_EREFERENCE:
+ if (resolve) return getModelEReference();
+ return basicGetModelEReference();
+ case PamodelPackage.PANNOTATED_EREFERENCE__EMBEDDED:
+ return getEmbedded();
+ case PamodelPackage.PANNOTATED_EREFERENCE__EMBEDDED_ID:
+ return getEmbeddedId();
+ case PamodelPackage.PANNOTATED_EREFERENCE__MANY_TO_MANY:
+ return getManyToMany();
+ case PamodelPackage.PANNOTATED_EREFERENCE__MANY_TO_ONE:
+ return getManyToOne();
+ case PamodelPackage.PANNOTATED_EREFERENCE__MAP_KEY:
+ return getMapKey();
+ case PamodelPackage.PANNOTATED_EREFERENCE__ONE_TO_ONE:
+ return getOneToOne();
+ case PamodelPackage.PANNOTATED_EREFERENCE__ORDER_BY:
+ return getOrderBy();
+ case PamodelPackage.PANNOTATED_EREFERENCE__PRIMARY_KEY_JOIN_COLUMNS:
+ return getPrimaryKeyJoinColumns();
+ case PamodelPackage.PANNOTATED_EREFERENCE__ASSOCIATION_OVERRIDES:
+ return getAssociationOverrides();
+ case PamodelPackage.PANNOTATED_EREFERENCE__EXTERNAL:
+ if (resolve) return getExternal();
+ return basicGetExternal();
+ }
+ 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 PamodelPackage.PANNOTATED_EREFERENCE__EMBEDDED:
+ setEmbedded((Embedded)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EREFERENCE__EMBEDDED_ID:
+ setEmbeddedId((EmbeddedId)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EREFERENCE__MANY_TO_MANY:
+ setManyToMany((ManyToMany)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EREFERENCE__MANY_TO_ONE:
+ setManyToOne((ManyToOne)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EREFERENCE__MAP_KEY:
+ setMapKey((MapKey)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EREFERENCE__ONE_TO_ONE:
+ setOneToOne((OneToOne)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EREFERENCE__ORDER_BY:
+ setOrderBy((OrderBy)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EREFERENCE__PRIMARY_KEY_JOIN_COLUMNS:
+ getPrimaryKeyJoinColumns().clear();
+ getPrimaryKeyJoinColumns().addAll((Collection<? extends PrimaryKeyJoinColumn>)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EREFERENCE__ASSOCIATION_OVERRIDES:
+ getAssociationOverrides().clear();
+ getAssociationOverrides().addAll((Collection<? extends AssociationOverride>)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_EREFERENCE__EXTERNAL:
+ setExternal((External)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_EREFERENCE__EMBEDDED:
+ setEmbedded((Embedded)null);
+ return;
+ case PamodelPackage.PANNOTATED_EREFERENCE__EMBEDDED_ID:
+ setEmbeddedId((EmbeddedId)null);
+ return;
+ case PamodelPackage.PANNOTATED_EREFERENCE__MANY_TO_MANY:
+ setManyToMany((ManyToMany)null);
+ return;
+ case PamodelPackage.PANNOTATED_EREFERENCE__MANY_TO_ONE:
+ setManyToOne((ManyToOne)null);
+ return;
+ case PamodelPackage.PANNOTATED_EREFERENCE__MAP_KEY:
+ setMapKey((MapKey)null);
+ return;
+ case PamodelPackage.PANNOTATED_EREFERENCE__ONE_TO_ONE:
+ setOneToOne((OneToOne)null);
+ return;
+ case PamodelPackage.PANNOTATED_EREFERENCE__ORDER_BY:
+ setOrderBy((OrderBy)null);
+ return;
+ case PamodelPackage.PANNOTATED_EREFERENCE__PRIMARY_KEY_JOIN_COLUMNS:
+ getPrimaryKeyJoinColumns().clear();
+ return;
+ case PamodelPackage.PANNOTATED_EREFERENCE__ASSOCIATION_OVERRIDES:
+ getAssociationOverrides().clear();
+ return;
+ case PamodelPackage.PANNOTATED_EREFERENCE__EXTERNAL:
+ setExternal((External)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_EREFERENCE__MODEL_EREFERENCE:
+ return basicGetModelEReference() != null;
+ case PamodelPackage.PANNOTATED_EREFERENCE__EMBEDDED:
+ return embedded != null;
+ case PamodelPackage.PANNOTATED_EREFERENCE__EMBEDDED_ID:
+ return embeddedId != null;
+ case PamodelPackage.PANNOTATED_EREFERENCE__MANY_TO_MANY:
+ return manyToMany != null;
+ case PamodelPackage.PANNOTATED_EREFERENCE__MANY_TO_ONE:
+ return manyToOne != null;
+ case PamodelPackage.PANNOTATED_EREFERENCE__MAP_KEY:
+ return mapKey != null;
+ case PamodelPackage.PANNOTATED_EREFERENCE__ONE_TO_ONE:
+ return oneToOne != null;
+ case PamodelPackage.PANNOTATED_EREFERENCE__ORDER_BY:
+ return orderBy != null;
+ case PamodelPackage.PANNOTATED_EREFERENCE__PRIMARY_KEY_JOIN_COLUMNS:
+ return primaryKeyJoinColumns != null && !primaryKeyJoinColumns.isEmpty();
+ case PamodelPackage.PANNOTATED_EREFERENCE__ASSOCIATION_OVERRIDES:
+ return associationOverrides != null && !associationOverrides.isEmpty();
+ case PamodelPackage.PANNOTATED_EREFERENCE__EXTERNAL:
+ return external != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /** Refers to an entity or to a concrete class */
+ public boolean isRefersToAnEntity() {
+ final PAnnotatedEClass aClass = getPaModel().getPAnnotated(
+ getModelEReference().getEReferenceType());
+ return aClass == null || aClass.isOnlyMapAsEntity(); // aClass can be
+ // null when the
+ // reference is to the EObject
+ // eclass itself
+ }
+} // PAnnotatedEReferenceImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEStructuralFeatureImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEStructuralFeatureImpl.java
new file mode 100755
index 000000000..2503288c8
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedEStructuralFeatureImpl.java
@@ -0,0 +1,354 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedEStructuralFeatureImpl.java,v 1.17 2009/12/13 10:14:22 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedModel;
+import org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage;
+import org.eclipse.emf.teneo.annotations.pannotation.Column;
+import org.eclipse.emf.teneo.annotations.pannotation.ForeignKey;
+import org.eclipse.emf.teneo.annotations.pannotation.ListIndexColumn;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>PAnnotated EStructural Feature</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEStructuralFeatureImpl#getPaEClass <em>Pa EClass</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEStructuralFeatureImpl#getModelEStructuralFeature <em>Model EStructural Feature</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEStructuralFeatureImpl#getForeignKey <em>Foreign Key</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedEStructuralFeatureImpl#getListIndexColumn <em>List Index Column</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class PAnnotatedEStructuralFeatureImpl extends PAnnotatedETypedElementImpl implements
+ PAnnotatedEStructuralFeature {
+ /**
+ * The cached value of the '{@link #getForeignKey() <em>Foreign Key</em>}' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getForeignKey()
+ * @generated
+ * @ordered
+ */
+ protected ForeignKey foreignKey;
+
+ /**
+ * The cached value of the '{@link #getListIndexColumn() <em>List Index Column</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getListIndexColumn()
+ * @generated
+ * @ordered
+ */
+ protected ListIndexColumn listIndexColumn;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected PAnnotatedEStructuralFeatureImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PamodelPackage.Literals.PANNOTATED_ESTRUCTURAL_FEATURE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public PAnnotatedEClass getPaEClass() {
+ if (eContainerFeatureID() != PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__PA_ECLASS) return null;
+ return (PAnnotatedEClass)eContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPaEClass(PAnnotatedEClass newPaEClass, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newPaEClass, PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__PA_ECLASS, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPaEClass(PAnnotatedEClass newPaEClass) {
+ if (newPaEClass != eInternalContainer() || (eContainerFeatureID() != PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__PA_ECLASS && newPaEClass != null)) {
+ if (EcoreUtil.isAncestor(this, newPaEClass))
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newPaEClass != null)
+ msgs = ((InternalEObject)newPaEClass).eInverseAdd(this, PamodelPackage.PANNOTATED_ECLASS__PA_ESTRUCTURAL_FEATURES, PAnnotatedEClass.class, msgs);
+ msgs = basicSetPaEClass(newPaEClass, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__PA_ECLASS, newPaEClass, newPaEClass));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EStructuralFeature getModelEStructuralFeature() {
+ EStructuralFeature modelEStructuralFeature = basicGetModelEStructuralFeature();
+ return modelEStructuralFeature != null && modelEStructuralFeature.eIsProxy() ? (EStructuralFeature)eResolveProxy((InternalEObject)modelEStructuralFeature) : modelEStructuralFeature;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public EStructuralFeature basicGetModelEStructuralFeature() {
+ return (EStructuralFeature) getModelElement();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ForeignKey getForeignKey() {
+ return foreignKey;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetForeignKey(ForeignKey newForeignKey, NotificationChain msgs) {
+ ForeignKey oldForeignKey = foreignKey;
+ foreignKey = newForeignKey;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__FOREIGN_KEY, oldForeignKey, newForeignKey);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setForeignKey(ForeignKey newForeignKey) {
+ if (newForeignKey != foreignKey) {
+ NotificationChain msgs = null;
+ if (foreignKey != null)
+ msgs = ((InternalEObject)foreignKey).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__FOREIGN_KEY, null, msgs);
+ if (newForeignKey != null)
+ msgs = ((InternalEObject)newForeignKey).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__FOREIGN_KEY, null, msgs);
+ msgs = basicSetForeignKey(newForeignKey, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__FOREIGN_KEY, newForeignKey, newForeignKey));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ListIndexColumn getListIndexColumn() {
+ return listIndexColumn;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetListIndexColumn(ListIndexColumn newListIndexColumn, NotificationChain msgs) {
+ ListIndexColumn oldListIndexColumn = listIndexColumn;
+ listIndexColumn = newListIndexColumn;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__LIST_INDEX_COLUMN, oldListIndexColumn, newListIndexColumn);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setListIndexColumn(ListIndexColumn newListIndexColumn) {
+ if (newListIndexColumn != listIndexColumn) {
+ NotificationChain msgs = null;
+ if (listIndexColumn != null)
+ msgs = ((InternalEObject)listIndexColumn).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__LIST_INDEX_COLUMN, null, msgs);
+ if (newListIndexColumn != null)
+ msgs = ((InternalEObject)newListIndexColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__LIST_INDEX_COLUMN, null, msgs);
+ msgs = basicSetListIndexColumn(newListIndexColumn, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__LIST_INDEX_COLUMN, newListIndexColumn, newListIndexColumn));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__PA_ECLASS:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetPaEClass((PAnnotatedEClass)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 PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__PA_ECLASS:
+ return basicSetPaEClass(null, msgs);
+ case PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__FOREIGN_KEY:
+ return basicSetForeignKey(null, msgs);
+ case PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__LIST_INDEX_COLUMN:
+ return basicSetListIndexColumn(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__PA_ECLASS:
+ return eInternalContainer().eInverseRemove(this, PamodelPackage.PANNOTATED_ECLASS__PA_ESTRUCTURAL_FEATURES, PAnnotatedEClass.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__PA_ECLASS:
+ return getPaEClass();
+ case PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__MODEL_ESTRUCTURAL_FEATURE:
+ if (resolve) return getModelEStructuralFeature();
+ return basicGetModelEStructuralFeature();
+ case PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__FOREIGN_KEY:
+ return getForeignKey();
+ case PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__LIST_INDEX_COLUMN:
+ return getListIndexColumn();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__PA_ECLASS:
+ setPaEClass((PAnnotatedEClass)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__FOREIGN_KEY:
+ setForeignKey((ForeignKey)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__LIST_INDEX_COLUMN:
+ setListIndexColumn((ListIndexColumn)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__PA_ECLASS:
+ setPaEClass((PAnnotatedEClass)null);
+ return;
+ case PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__FOREIGN_KEY:
+ setForeignKey((ForeignKey)null);
+ return;
+ case PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__LIST_INDEX_COLUMN:
+ setListIndexColumn((ListIndexColumn)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__PA_ECLASS:
+ return getPaEClass() != null;
+ case PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__MODEL_ESTRUCTURAL_FEATURE:
+ return basicGetModelEStructuralFeature() != null;
+ case PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__FOREIGN_KEY:
+ return foreignKey != null;
+ case PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE__LIST_INDEX_COLUMN:
+ return listIndexColumn != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * {@inheritDoc }
+ */
+ public PAnnotatedModel getPaModel() {
+ PAnnotatedEClass paClass = getPaEClass();
+ return paClass != null ? paClass.getPaModel() : null;
+ }
+
+ /** Returns the column annotation */
+ @Override
+ public Column getColumn() {
+ return column;
+ }
+
+} // PAnnotatedEStructuralFeatureImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedETypedElementImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedETypedElementImpl.java
new file mode 100755
index 000000000..16fc1bfc0
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedETypedElementImpl.java
@@ -0,0 +1,494 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedETypedElementImpl.java,v 1.5 2007/07/04 19:28:01 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel.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.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement;
+import org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage;
+import org.eclipse.emf.teneo.annotations.pannotation.AttributeOverride;
+import org.eclipse.emf.teneo.annotations.pannotation.Column;
+import org.eclipse.emf.teneo.annotations.pannotation.JoinColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.JoinTable;
+import org.eclipse.emf.teneo.annotations.pannotation.OneToMany;
+import org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator;
+import org.eclipse.emf.teneo.annotations.pannotation.TableGenerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>PAnnotated ETyped Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedETypedElementImpl#getAttributeOverrides <em>Attribute Overrides</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedETypedElementImpl#getJoinTable <em>Join Table</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedETypedElementImpl#getOneToMany <em>One To Many</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedETypedElementImpl#getSequenceGenerator <em>Sequence Generator</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedETypedElementImpl#getTableGenerators <em>Table Generators</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedETypedElementImpl#getJoinColumns <em>Join Columns</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedETypedElementImpl#getColumn <em>Column</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class PAnnotatedETypedElementImpl extends PAnnotatedEModelElementImpl implements PAnnotatedETypedElement {
+ /**
+ * The cached value of the '{@link #getAttributeOverrides() <em>Attribute Overrides</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAttributeOverrides()
+ * @generated
+ * @ordered
+ */
+ protected EList<AttributeOverride> attributeOverrides;
+
+ /**
+ * The cached value of the '{@link #getJoinTable() <em>Join Table</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJoinTable()
+ * @generated
+ * @ordered
+ */
+ protected JoinTable joinTable;
+
+ /**
+ * The cached value of the '{@link #getOneToMany() <em>One To Many</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOneToMany()
+ * @generated
+ * @ordered
+ */
+ protected OneToMany oneToMany;
+
+ /**
+ * The cached value of the '{@link #getSequenceGenerator() <em>Sequence Generator</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSequenceGenerator()
+ * @generated
+ * @ordered
+ */
+ protected SequenceGenerator sequenceGenerator;
+
+ /**
+ * The cached value of the '{@link #getTableGenerators() <em>Table Generators</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTableGenerators()
+ * @generated
+ * @ordered
+ */
+ protected EList<TableGenerator> tableGenerators;
+
+ /**
+ * The cached value of the '{@link #getJoinColumns() <em>Join Columns</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJoinColumns()
+ * @generated
+ * @ordered
+ */
+ protected EList<JoinColumn> joinColumns;
+
+ /**
+ * The cached value of the '{@link #getColumn() <em>Column</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getColumn()
+ * @generated
+ * @ordered
+ */
+ protected Column column;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PAnnotatedETypedElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PamodelPackage.Literals.PANNOTATED_ETYPED_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<AttributeOverride> getAttributeOverrides() {
+ if (attributeOverrides == null) {
+ attributeOverrides = new EObjectContainmentEList<AttributeOverride>(AttributeOverride.class, this, PamodelPackage.PANNOTATED_ETYPED_ELEMENT__ATTRIBUTE_OVERRIDES);
+ }
+ return attributeOverrides;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public JoinTable getJoinTable() {
+ return joinTable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetJoinTable(JoinTable newJoinTable, NotificationChain msgs) {
+ JoinTable oldJoinTable = joinTable;
+ joinTable = newJoinTable;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ETYPED_ELEMENT__JOIN_TABLE, oldJoinTable, newJoinTable);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setJoinTable(JoinTable newJoinTable) {
+ if (newJoinTable != joinTable) {
+ NotificationChain msgs = null;
+ if (joinTable != null)
+ msgs = ((InternalEObject)joinTable).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ETYPED_ELEMENT__JOIN_TABLE, null, msgs);
+ if (newJoinTable != null)
+ msgs = ((InternalEObject)newJoinTable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ETYPED_ELEMENT__JOIN_TABLE, null, msgs);
+ msgs = basicSetJoinTable(newJoinTable, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ETYPED_ELEMENT__JOIN_TABLE, newJoinTable, newJoinTable));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OneToMany getOneToMany() {
+ return oneToMany;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOneToMany(OneToMany newOneToMany, NotificationChain msgs) {
+ OneToMany oldOneToMany = oneToMany;
+ oneToMany = newOneToMany;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ETYPED_ELEMENT__ONE_TO_MANY, oldOneToMany, newOneToMany);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOneToMany(OneToMany newOneToMany) {
+ if (newOneToMany != oneToMany) {
+ NotificationChain msgs = null;
+ if (oneToMany != null)
+ msgs = ((InternalEObject)oneToMany).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ETYPED_ELEMENT__ONE_TO_MANY, null, msgs);
+ if (newOneToMany != null)
+ msgs = ((InternalEObject)newOneToMany).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ETYPED_ELEMENT__ONE_TO_MANY, null, msgs);
+ msgs = basicSetOneToMany(newOneToMany, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ETYPED_ELEMENT__ONE_TO_MANY, newOneToMany, newOneToMany));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequenceGenerator getSequenceGenerator() {
+ return sequenceGenerator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSequenceGenerator(SequenceGenerator newSequenceGenerator, NotificationChain msgs) {
+ SequenceGenerator oldSequenceGenerator = sequenceGenerator;
+ sequenceGenerator = newSequenceGenerator;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ETYPED_ELEMENT__SEQUENCE_GENERATOR, oldSequenceGenerator, newSequenceGenerator);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSequenceGenerator(SequenceGenerator newSequenceGenerator) {
+ if (newSequenceGenerator != sequenceGenerator) {
+ NotificationChain msgs = null;
+ if (sequenceGenerator != null)
+ msgs = ((InternalEObject)sequenceGenerator).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ETYPED_ELEMENT__SEQUENCE_GENERATOR, null, msgs);
+ if (newSequenceGenerator != null)
+ msgs = ((InternalEObject)newSequenceGenerator).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ETYPED_ELEMENT__SEQUENCE_GENERATOR, null, msgs);
+ msgs = basicSetSequenceGenerator(newSequenceGenerator, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ETYPED_ELEMENT__SEQUENCE_GENERATOR, newSequenceGenerator, newSequenceGenerator));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TableGenerator> getTableGenerators() {
+ if (tableGenerators == null) {
+ tableGenerators = new EObjectContainmentEList<TableGenerator>(TableGenerator.class, this, PamodelPackage.PANNOTATED_ETYPED_ELEMENT__TABLE_GENERATORS);
+ }
+ return tableGenerators;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<JoinColumn> getJoinColumns() {
+ if (joinColumns == null) {
+ joinColumns = new EObjectContainmentEList<JoinColumn>(JoinColumn.class, this, PamodelPackage.PANNOTATED_ETYPED_ELEMENT__JOIN_COLUMNS);
+ }
+ return joinColumns;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Column getColumn() {
+ return column;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetColumn(Column newColumn, NotificationChain msgs) {
+ Column oldColumn = column;
+ column = newColumn;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ETYPED_ELEMENT__COLUMN, oldColumn, newColumn);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setColumn(Column newColumn) {
+ if (newColumn != column) {
+ NotificationChain msgs = null;
+ if (column != null)
+ msgs = ((InternalEObject)column).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ETYPED_ELEMENT__COLUMN, null, msgs);
+ if (newColumn != null)
+ msgs = ((InternalEObject)newColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PamodelPackage.PANNOTATED_ETYPED_ELEMENT__COLUMN, null, msgs);
+ msgs = basicSetColumn(newColumn, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PamodelPackage.PANNOTATED_ETYPED_ELEMENT__COLUMN, newColumn, newColumn));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__ATTRIBUTE_OVERRIDES:
+ return ((InternalEList<?>)getAttributeOverrides()).basicRemove(otherEnd, msgs);
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__JOIN_TABLE:
+ return basicSetJoinTable(null, msgs);
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__ONE_TO_MANY:
+ return basicSetOneToMany(null, msgs);
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__SEQUENCE_GENERATOR:
+ return basicSetSequenceGenerator(null, msgs);
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__TABLE_GENERATORS:
+ return ((InternalEList<?>)getTableGenerators()).basicRemove(otherEnd, msgs);
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__JOIN_COLUMNS:
+ return ((InternalEList<?>)getJoinColumns()).basicRemove(otherEnd, msgs);
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__COLUMN:
+ return basicSetColumn(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 PamodelPackage.PANNOTATED_ETYPED_ELEMENT__ATTRIBUTE_OVERRIDES:
+ return getAttributeOverrides();
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__JOIN_TABLE:
+ return getJoinTable();
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__ONE_TO_MANY:
+ return getOneToMany();
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__SEQUENCE_GENERATOR:
+ return getSequenceGenerator();
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__TABLE_GENERATORS:
+ return getTableGenerators();
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__JOIN_COLUMNS:
+ return getJoinColumns();
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__COLUMN:
+ return getColumn();
+ }
+ 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 PamodelPackage.PANNOTATED_ETYPED_ELEMENT__ATTRIBUTE_OVERRIDES:
+ getAttributeOverrides().clear();
+ getAttributeOverrides().addAll((Collection<? extends AttributeOverride>)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__JOIN_TABLE:
+ setJoinTable((JoinTable)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__ONE_TO_MANY:
+ setOneToMany((OneToMany)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__SEQUENCE_GENERATOR:
+ setSequenceGenerator((SequenceGenerator)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__TABLE_GENERATORS:
+ getTableGenerators().clear();
+ getTableGenerators().addAll((Collection<? extends TableGenerator>)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__JOIN_COLUMNS:
+ getJoinColumns().clear();
+ getJoinColumns().addAll((Collection<? extends JoinColumn>)newValue);
+ return;
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__COLUMN:
+ setColumn((Column)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__ATTRIBUTE_OVERRIDES:
+ getAttributeOverrides().clear();
+ return;
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__JOIN_TABLE:
+ setJoinTable((JoinTable)null);
+ return;
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__ONE_TO_MANY:
+ setOneToMany((OneToMany)null);
+ return;
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__SEQUENCE_GENERATOR:
+ setSequenceGenerator((SequenceGenerator)null);
+ return;
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__TABLE_GENERATORS:
+ getTableGenerators().clear();
+ return;
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__JOIN_COLUMNS:
+ getJoinColumns().clear();
+ return;
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__COLUMN:
+ setColumn((Column)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__ATTRIBUTE_OVERRIDES:
+ return attributeOverrides != null && !attributeOverrides.isEmpty();
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__JOIN_TABLE:
+ return joinTable != null;
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__ONE_TO_MANY:
+ return oneToMany != null;
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__SEQUENCE_GENERATOR:
+ return sequenceGenerator != null;
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__TABLE_GENERATORS:
+ return tableGenerators != null && !tableGenerators.isEmpty();
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__JOIN_COLUMNS:
+ return joinColumns != null && !joinColumns.isEmpty();
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT__COLUMN:
+ return column != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //PAnnotatedETypedElementImpl \ No newline at end of file
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedModelImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedModelImpl.java
new file mode 100755
index 000000000..3039d85aa
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PAnnotatedModelImpl.java
@@ -0,0 +1,684 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedModelImpl.java,v 1.30 2010/08/18 13:17:49 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel.impl;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.notify.impl.AdapterImpl;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EModelElement;
+import org.eclipse.emf.ecore.ENamedElement;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEModelElement;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedModel;
+import org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage;
+import org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator;
+import org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator;
+import org.eclipse.emf.teneo.annotations.pannotation.TableGenerator;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>PAnnotated Model</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pamodel.impl.PAnnotatedModelImpl#getPaEPackages <em>Pa EPackages</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PAnnotatedModelImpl extends EObjectImpl implements PAnnotatedModel {
+
+ @SuppressWarnings("unchecked")
+ class MapTrackingAdapter extends AdapterImpl {
+ @Override
+ public void notifyChanged(Notification msg) {
+ // TODO handle resolve?
+ Object msgFeature = msg.getFeature();
+ if (!msg.isTouch()
+ && msgFeature == PamodelPackage.eINSTANCE
+ .getPAnnotatedEModelElement_ModelElement()) {
+ switch (msg.getEventType()) {
+ case Notification.SET:
+ case Notification.UNSET:
+ removeMapping((EModelElement) msg.getOldValue());
+ addMapping((PAnnotatedEModelElement) msg.getNotifier());
+ break;
+ }
+ } else if (msgFeature instanceof EReference && !msg.isTouch()) {
+ EReference r = (EReference) msgFeature;
+ if (PamodelPackage.eINSTANCE.getPAnnotatedEModelElement()
+ .isSuperTypeOf(r.getEReferenceType())
+ && r.isContainment()) {
+ switch (msg.getEventType()) {
+ case Notification.UNSET:
+ case Notification.SET:
+ if (msg.getOldValue() != null) {
+ detach((PAnnotatedEModelElement) msg.getOldValue());
+ }
+ if (msg.getNewValue() != null) {
+ attach((PAnnotatedEModelElement) msg.getNewValue());
+ }
+ break;
+ case Notification.ADD:
+ if (msg.getNewValue() != null) {
+ attach((PAnnotatedEModelElement) msg.getNewValue());
+ }
+ break;
+ case Notification.ADD_MANY:
+ attach((List<? extends Object>) msg.getNewValue());
+ break;
+ case Notification.REMOVE:
+ if (msg.getOldValue() != null) {
+ detach((PAnnotatedEModelElement) msg.getOldValue());
+ }
+ break;
+ case Notification.REMOVE_MANY:
+ detach((List<? extends Object>) msg.getNewValue());
+ break;
+ }
+ }
+ }
+ super.notifyChanged(msg);
+ }
+ };
+
+ final MapTrackingAdapter itsMapTrackingAdapter;
+
+ /**
+ * The cached value of the '{@link #getPaEPackages() <em>Pa EPackages</em>}' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getPaEPackages()
+ * @generated
+ * @ordered
+ */
+ protected EList<PAnnotatedEPackage> paEPackages;
+
+ /**
+ * Record the association between the EModelElement and the
+ * PAnnotatedEModelElement that are contained in this PAnnotatedModel
+ * content.
+ */
+ protected final Map<EModelElement, PAnnotatedEModelElement> eElement_to_pElement;
+
+ /** Set to true if initialized */
+ private boolean initialized = false;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ protected PAnnotatedModelImpl() {
+ eElement_to_pElement = new HashMap<EModelElement, PAnnotatedEModelElement>();
+ itsMapTrackingAdapter = new MapTrackingAdapter();
+ this.eAdapters().add(itsMapTrackingAdapter);
+ }
+
+ /** Return the mapping from epackage elements to annotated package elements */
+ public Map<EModelElement, PAnnotatedEModelElement> getModelElementMapping() {
+ return eElement_to_pElement;
+ }
+
+ /** Merge the passed annotated model in this one */
+ public void merge(PAnnotatedModel pModel) {
+ eElement_to_pElement.putAll(pModel.getModelElementMapping());
+ }
+
+ /**
+ * Register the association among a PAnnotatedEModelElement and its
+ * annotated EModelElement. If another PAnnotatedEModelElement was
+ * associatied to the same EModelElement, such association will be broken.
+ *
+ * <p>
+ * In order to mantain the consistency of the model, whenever an association
+ * among a PAnnotatedEModelElement <code>pa</code> and an EModelElement
+ * <code>e</code> is broken, the annotatedElement feature of <code>pa</code>
+ * is unset.
+ */
+ protected void addMapping(PAnnotatedEModelElement target) {
+ final EModelElement eModelElement = target.getModelElement();
+ if (eModelElement != null) {
+ PAnnotatedEModelElement prevAssoc = eElement_to_pElement
+ .get(eModelElement);
+ if (prevAssoc != null) {
+ removeMapping(eModelElement);
+ prevAssoc.setModelElement(null);
+ }
+ eElement_to_pElement.put(eModelElement, target);
+ }
+ }
+
+ /**
+ * Unregister the association between an <code>EModelElement</code> and the
+ * <code>PAnnotatedEModelElement</code> that references it via the
+ * <code>annotatedElement</code> feature.
+ */
+ protected void removeMapping(EModelElement eModelElement) {
+ final Object prevAssoc = eElement_to_pElement.remove(eModelElement);
+ assert prevAssoc != null;
+ }
+
+ /**
+ * Invoked whenever a new PAnnotatedEModelElement is added to the
+ * PAnnotatedModel.
+ */
+ protected void attach(PAnnotatedEModelElement aElement) {
+ aElement.eAdapters().add(0, itsMapTrackingAdapter);
+ addMapping(aElement);
+ attach(aElement.eContents());
+ }
+
+ /**
+ * Invoked whenever a set of new PAnnotatedEModelElement is added to the
+ * PAnnotatedModel.
+ */
+ protected void attach(List<? extends Object> aElements) {
+ for (Object x : aElements) {
+ if (x instanceof PAnnotatedEModelElement) {
+ attach((PAnnotatedEModelElement) x);
+ }
+ }
+ }
+
+ /**
+ * Invoked whenever a PAnnotatedEModelElement is removed from the
+ * PAnnotatedModel.
+ */
+ protected void detach(PAnnotatedEModelElement aElement) {
+ aElement.eAdapters().remove(itsMapTrackingAdapter);
+ ENamedElement annotatedElement = aElement.getModelElement();
+ if (annotatedElement != null) {
+ removeMapping(annotatedElement);
+ }
+ detach(aElement.eContents());
+ }
+
+ /**
+ * Invoked whenever a set of PAnnotatedEModelElement is removed from the
+ * PAnnotatedModel.
+ */
+ protected void detach(List<? extends Object> aElements) {
+ for (Object x : aElements) {
+ if (x instanceof PAnnotatedEModelElement) {
+ detach((PAnnotatedEModelElement) x);
+ }
+ }
+ }
+
+ /**
+ * Invariant: the eElement_to_pElement map agree with the PAnnotatedModel
+ * content.
+ * <p>
+ * This method should be used only for debugging. TODO use in validation.
+ */
+ public void invMapIsWellFormed() {
+ Set<EModelElement> definedUnused = new HashSet<EModelElement>(
+ eElement_to_pElement.keySet());
+ for (TreeIterator<? extends Object> i = EcoreUtil
+ .getAllContents(eContents()); i.hasNext();) {
+ Object x = i.next();
+ if (x instanceof PAnnotatedEModelElement) {
+ PAnnotatedEModelElement paElement = (PAnnotatedEModelElement) x;
+ ENamedElement annotatedElement = paElement.getModelElement();
+ if (annotatedElement != null) {
+ assert getPAnnotated(annotatedElement) == paElement;
+ definedUnused.remove(annotatedElement);
+ }
+ } else {
+ i.prune();
+ }
+ }
+ assert definedUnused.isEmpty();
+ }
+
+ /**
+ * @return Returns the unique <code>PAnnotatedEModelElement</code>
+ * associated (via the <code>annotatedElement</code> feature) to the
+ * given <code>EModelElement</code>.
+ */
+ public PAnnotatedEModelElement getPAnnotated(EModelElement e) {
+ checkAnnotatedPresent(e, eElement_to_pElement);
+ return eElement_to_pElement.get(e);
+ }
+
+ /**
+ * @return Returns the unique <code>PAnnotatedEPackage</code> associated
+ * (via the <code>annotatedElement</code> feature) to the given
+ * <code>EPackage</code>.
+ */
+ public PAnnotatedEPackage getPAnnotated(EPackage e) {
+ checkAnnotatedPresent(e, eElement_to_pElement);
+ return (PAnnotatedEPackage) eElement_to_pElement.get(e);
+ }
+
+ /**
+ * @return Returns the unique <code>PAnnotatedEClass</code> associated (via
+ * the <code>annotatedElement</code> feature) to the given
+ * <code>EClass</code>.
+ */
+ public PAnnotatedEClass getPAnnotated(EClass e) {
+ // in this case do not throw an error
+ if (e.getEPackage() instanceof EcorePackage) {
+ return (PAnnotatedEClass) eElement_to_pElement.get(e);
+ }
+ checkAnnotatedPresent(e, eElement_to_pElement);
+ return (PAnnotatedEClass) eElement_to_pElement.get(e);
+ }
+
+ /**
+ * @return Returns the unique <code>PAnnotatedEStructuralFeature</code>
+ * associated (via the <code>annotatedElement</code> feature) to the
+ * given <code>EStructuralFeature</code>.
+ */
+ public PAnnotatedEStructuralFeature getPAnnotated(EStructuralFeature e) {
+ checkAnnotatedPresent(e, eElement_to_pElement);
+ return (PAnnotatedEStructuralFeature) eElement_to_pElement.get(e);
+ }
+
+ /**
+ * @return Returns the unique <code>PAnnotatedEDataType</code> associated
+ * (via the <code>annotatedElement</code> feature) to the given
+ * <code>EDataType</code>.
+ */
+ public PAnnotatedEDataType getPAnnotated(EDataType e) {
+ // do not check because many datatypes belong to the emf package
+ return (PAnnotatedEDataType) eElement_to_pElement.get(e);
+ }
+
+ /**
+ * @return Returns the unique <code>PAnnotatedEAttribute</code> associated
+ * (via the <code>annotatedElement</code> feature) to the given
+ * <code>EAttribute</code>.
+ */
+ public PAnnotatedEAttribute getPAnnotated(EAttribute e) {
+ checkAnnotatedPresent(e, eElement_to_pElement);
+ return (PAnnotatedEAttribute) eElement_to_pElement.get(e);
+ }
+
+ /**
+ * @return Returns the unique <code>PAnnotatedEReference</code> associated
+ * (via the <code>annotatedElement</code> feature) to the given
+ * <code>EReference</code>.
+ */
+ public PAnnotatedEReference getPAnnotated(EReference e) {
+ checkAnnotatedPresent(e, eElement_to_pElement);
+ return (PAnnotatedEReference) eElement_to_pElement.get(e);
+ }
+
+ /**
+ * Checks if there is a annotated model element for the passed emf model
+ * element. If not then an illegal argument is thrown
+ */
+ private void checkAnnotatedPresent(EModelElement ee,
+ Map<EModelElement, PAnnotatedEModelElement> map) {
+ if (!isInitialized()) {
+ return; // at this point the model is not yet fully initialized.
+ }
+ if (ee == null) {
+ throw new IllegalArgumentException(
+ "Trying to retrieve Annotated Type using null. "
+ + "This can occur if not all epackages have been registered with Teneo.\n"
+ + "Or this can occur if epackages which refer to eachother are placed in different ecore/xsd files "
+ + "and they are not read using one resource set. The reference from one epackage to another must be "
+ + "resolvable by EMF.");
+ }
+ if (map.get(ee) == null) {
+ final String name = ee instanceof ENamedElement ? " for: "
+ + ((ENamedElement) ee).getName() : "";
+ throw new IllegalArgumentException(
+ "No annotated model element present " + name + " for type "
+ + ee.eClass().getName()
+ + " has its epackage been registered with Teneo?");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PamodelPackage.Literals.PANNOTATED_MODEL;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PAnnotatedEPackage> getPaEPackages() {
+ if (paEPackages == null) {
+ paEPackages = new EObjectContainmentWithInverseEList<PAnnotatedEPackage>(PAnnotatedEPackage.class, this, PamodelPackage.PANNOTATED_MODEL__PA_EPACKAGES, PamodelPackage.PANNOTATED_EPACKAGE__PA_MODEL);
+ }
+ return paEPackages;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_MODEL__PA_EPACKAGES:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getPaEPackages()).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 PamodelPackage.PANNOTATED_MODEL__PA_EPACKAGES:
+ return ((InternalEList<?>)getPaEPackages()).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 PamodelPackage.PANNOTATED_MODEL__PA_EPACKAGES:
+ return getPaEPackages();
+ }
+ 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 PamodelPackage.PANNOTATED_MODEL__PA_EPACKAGES:
+ getPaEPackages().clear();
+ getPaEPackages().addAll((Collection<? extends PAnnotatedEPackage>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_MODEL__PA_EPACKAGES:
+ getPaEPackages().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PamodelPackage.PANNOTATED_MODEL__PA_EPACKAGES:
+ return paEPackages != null && !paEPackages.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * Returns a sequence generator on the basis of its name, if not found then
+ * an exception is thrown. efeature is passed for debugging purposes.
+ */
+ public SequenceGenerator getSequenceGenerator(EStructuralFeature efeature,
+ String name) {
+ // TODO: should not only the paepackage of the efeature be checked?
+ for (PAnnotatedEPackage pae : getPaEPackages()) {
+ for (SequenceGenerator sg : pae.getSequenceGenerators()) {
+ if (sg.getName() != null && sg.getName().compareTo(name) == 0) {
+ return sg;
+ }
+ }
+ for (PAnnotatedEClass aClass : pae.getPaEClasses()) {
+ for (SequenceGenerator sg : aClass.getSequenceGenerators()) {
+ if (sg.getName() != null && sg.getName().compareTo(name) == 0) {
+ return sg;
+ }
+ }
+
+ for (PAnnotatedEStructuralFeature aFeature : aClass
+ .getPaEStructuralFeatures()) {
+ if (aFeature.getSequenceGenerator() != null &&
+ aFeature.getSequenceGenerator().getName() != null
+ && aFeature.getSequenceGenerator().getName()
+ .compareTo(name) == 0) {
+ return aFeature.getSequenceGenerator();
+ }
+ }
+ }
+ }
+ throw new IllegalStateException(
+ "No sequence generator found with the name: " + name
+ + ", name is used in " + "annotation of element "
+ + efeature.getEContainingClass().getName() + "/"
+ + efeature.getName());
+ }
+
+ public SequenceStyleGenerator getSequenceStyleGenerator(
+ EStructuralFeature efeature, String name) {
+ // TODO: should not only the paepackage of the efeature be checked?
+ for (PAnnotatedEPackage pae : getPaEPackages()) {
+ for (SequenceStyleGenerator sg : pae.getSequenceStyleGenerators()) {
+ if (sg.getName() != null && sg.getName().compareTo(name) == 0) {
+ return sg;
+ }
+ }
+ }
+ throw new IllegalStateException(
+ "No sequence generator found with the name: " + name
+ + ", name is used in " + "annotation of element "
+ + efeature.getEContainingClass().getName() + "/"
+ + efeature.getName());
+ }
+
+ /**
+ * Returns a table generator on the basis of its name, if not found then an
+ * exception is thrown. efeature is passed for debugging purposes.
+ */
+ public TableGenerator getTableGenerator(EStructuralFeature efeature,
+ String name) {
+ // TODO: should not only the paepackage of the efeature be checked?
+ for (PAnnotatedEPackage pae : getPaEPackages()) {
+ for (TableGenerator tg : pae.getTableGenerators()) {
+ if (tg.getName() != null && tg.getName().compareTo(name) == 0) {
+ return tg;
+ }
+ }
+ for (PAnnotatedEClass pec : pae.getPaEClasses()) {
+ if (pec.getTableGenerator() != null
+ && pec.getTableGenerator().getName() != null
+ && pec.getTableGenerator().getName().compareTo(name) == 0) {
+ return pec.getTableGenerator();
+ }
+
+ for (PAnnotatedEStructuralFeature pef : pec
+ .getPaEStructuralFeatures()) {
+ for (TableGenerator tg : pef.getTableGenerators()) {
+ if (tg.getName() != null
+ && tg.getName().compareTo(name) == 0) {
+ return tg;
+ }
+ }
+ }
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * @return the initialized
+ */
+ public boolean isInitialized() {
+ return initialized;
+ }
+
+ /**
+ * @param initialized
+ * the initialized to set
+ */
+ public void setInitialized(boolean initialized) {
+ this.initialized = initialized;
+ }
+
+ private ConcurrentHashMap<String, EClass> entityNameToEClass = new ConcurrentHashMap<String, EClass>();
+
+ /**
+ * @return the eclass annotated with this entity name. If not found then an
+ * exception is thrown
+ */
+ public EClass getEClass(String entityName) {
+ EClass eClass;
+ if ((eClass = entityNameToEClass.get(entityName)) != null) {
+ return eClass;
+ }
+ for (PAnnotatedEPackage aPackage : getPaEPackages()) {
+ for (PAnnotatedEClass aClass : aPackage.getPaEClasses()) {
+ if (aClass.getEntity() != null
+ && aClass.getEntity().getName() != null
+ && aClass.getEntity().getName().compareTo(entityName) == 0) {
+ entityNameToEClass.put(entityName, aClass.getModelEClass());
+ return aClass.getModelEClass();
+ }
+ }
+ }
+ throw new IllegalArgumentException(
+ "No Annotated EClass for entityName " + entityName);
+ }
+
+ /**
+ * @return the EClassifier for a certain name. First the eclasses are
+ * searched using the name as the entityname then the edatatypes are
+ * searched.
+ */
+ public EClassifier getEClassifier(String name) {
+ if (hasEClass(name)) {
+ return getEClass(name);
+ }
+
+ for (PAnnotatedEPackage aPackage : getPaEPackages()) {
+ final EClassifier eClassifier = aPackage.getModelEPackage()
+ .getEClassifier(name);
+ if (eClassifier instanceof EDataType) {
+ return eClassifier;
+ }
+ }
+ throw new IllegalArgumentException("No EClassifier for name " + name);
+ }
+
+ /**
+ * @return true if there is an EClass with the name as entityname or an
+ * EDataType with the name passed as a parameter.
+ */
+ public boolean hasEClassifier(String name) {
+ if (hasEClass(name)) {
+ return true;
+ }
+
+ for (PAnnotatedEPackage aPackage : getPaEPackages()) {
+ final EClassifier eClassifier = aPackage.getModelEPackage()
+ .getEClassifier(name);
+ if (eClassifier instanceof EDataType) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /** @return true if there is annotated eclass with the passed entityname */
+ public boolean hasEClass(String entityName) {
+ if (entityNameToEClass.get(entityName) != null) {
+ return true;
+ }
+ for (PAnnotatedEPackage aPackage : getPaEPackages()) {
+ for (PAnnotatedEClass aClass : aPackage.getPaEClasses()) {
+ if (aClass.getEntity() != null
+ && aClass.getEntity().getName() != null
+ && aClass.getEntity().getName().compareTo(entityName) == 0) {
+ entityNameToEClass.put(entityName, aClass.getModelEClass());
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ /** Dump this model to xml */
+ public String toXML() {
+ try {
+ final XMLResourceImpl xmlResource = new XMLResourceImpl();
+ xmlResource.getContents().add(this);
+ final ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ final HashMap<String, String> options = new HashMap<String, String>();
+ options.put(XMLResource.OPTION_PROCESS_DANGLING_HREF,
+ XMLResource.OPTION_PROCESS_DANGLING_HREF_RECORD);
+ xmlResource.save(bos, options);
+ final String res = bos.toString();
+ bos.close();
+ return res;
+ } catch (IOException e) {
+ // todo replace with teneo exception
+ throw new IllegalStateException(
+ "Exception while converting pamodel to a xml string", e);
+ }
+ }
+
+} // PAnnotatedModelImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PamodelFactoryImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PamodelFactoryImpl.java
new file mode 100755
index 000000000..0bc44d4b9
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PamodelFactoryImpl.java
@@ -0,0 +1,159 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PamodelFactoryImpl.java,v 1.28 2011/02/21 06:40:12 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel.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.annotations.pamodel.*;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedModel;
+import org.eclipse.emf.teneo.annotations.pamodel.PamodelFactory;
+import org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PamodelFactoryImpl extends EFactoryImpl implements PamodelFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static PamodelFactory init() {
+ try {
+ PamodelFactory thePamodelFactory = (PamodelFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/emf/teneo/elver/2005/pamodel");
+ if (thePamodelFactory != null) {
+ return thePamodelFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new PamodelFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PamodelFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case PamodelPackage.PANNOTATED_MODEL: return createPAnnotatedModel();
+ case PamodelPackage.PANNOTATED_EPACKAGE: return createPAnnotatedEPackage();
+ case PamodelPackage.PANNOTATED_ECLASS: return createPAnnotatedEClass();
+ case PamodelPackage.PANNOTATED_EATTRIBUTE: return createPAnnotatedEAttribute();
+ case PamodelPackage.PANNOTATED_EREFERENCE: return createPAnnotatedEReference();
+ case PamodelPackage.PANNOTATED_EDATA_TYPE: return createPAnnotatedEDataType();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PAnnotatedModel createPAnnotatedModel() {
+ PAnnotatedModelImpl pAnnotatedModel = new PAnnotatedModelImpl();
+ return pAnnotatedModel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PAnnotatedEPackage createPAnnotatedEPackage() {
+ PAnnotatedEPackageImpl pAnnotatedEPackage = new PAnnotatedEPackageImpl();
+ return pAnnotatedEPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PAnnotatedEClass createPAnnotatedEClass() {
+ PAnnotatedEClassImpl pAnnotatedEClass = new PAnnotatedEClassImpl();
+ return pAnnotatedEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PAnnotatedEAttribute createPAnnotatedEAttribute() {
+ PAnnotatedEAttributeImpl pAnnotatedEAttribute = new PAnnotatedEAttributeImpl();
+ return pAnnotatedEAttribute;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PAnnotatedEDataType createPAnnotatedEDataType() {
+ PAnnotatedEDataTypeImpl pAnnotatedEDataType = new PAnnotatedEDataTypeImpl();
+ return pAnnotatedEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PAnnotatedEReference createPAnnotatedEReference() {
+ PAnnotatedEReferenceImpl pAnnotatedEReference = new PAnnotatedEReferenceImpl();
+ return pAnnotatedEReference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PamodelPackage getPamodelPackage() {
+ return (PamodelPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static PamodelPackage getPackage() {
+ return PamodelPackage.eINSTANCE;
+ }
+
+} //PamodelFactoryImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PamodelPackageImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PamodelPackageImpl.java
new file mode 100755
index 000000000..2e3f0b7f9
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/impl/PamodelPackageImpl.java
@@ -0,0 +1,1375 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PamodelPackageImpl.java,v 1.24 2010/07/19 11:48:58 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EValidator;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEModelElement;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedModel;
+import org.eclipse.emf.teneo.annotations.pamodel.PamodelFactory;
+import org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage;
+import org.eclipse.emf.teneo.annotations.pamodel.util.PamodelValidator;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+import org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PamodelPackageImpl extends EPackageImpl implements PamodelPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pAnnotatedEModelElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pAnnotatedModelEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pAnnotatedEPackageEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pAnnotatedEClassEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pAnnotatedEStructuralFeatureEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pAnnotatedEAttributeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pAnnotatedEDataTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pAnnotatedEReferenceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pAnnotatedETypedElementEClass = 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.annotations.pamodel.PamodelPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private PamodelPackageImpl() {
+ super(eNS_URI, PamodelFactory.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 PamodelPackage#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 PamodelPackage init() {
+ if (isInited) return (PamodelPackage)EPackage.Registry.INSTANCE.getEPackage(PamodelPackage.eNS_URI);
+
+ // Obtain or create and register package
+ PamodelPackageImpl thePamodelPackage = (PamodelPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof PamodelPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new PamodelPackageImpl());
+
+ isInited = true;
+
+ // Obtain or create and register interdependencies
+ PannotationPackageImpl thePannotationPackage = (PannotationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(PannotationPackage.eNS_URI) instanceof PannotationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PannotationPackage.eNS_URI) : PannotationPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ thePamodelPackage.createPackageContents();
+ thePannotationPackage.createPackageContents();
+
+ // Initialize created meta-data
+ thePamodelPackage.initializePackageContents();
+ thePannotationPackage.initializePackageContents();
+
+ // Register package validator
+ EValidator.Registry.INSTANCE.put
+ (thePamodelPackage,
+ new EValidator.Descriptor() {
+ public EValidator getEValidator() {
+ return PamodelValidator.INSTANCE;
+ }
+ });
+
+ // Mark meta-data to indicate it can't be changed
+ thePamodelPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(PamodelPackage.eNS_URI, thePamodelPackage);
+ return thePamodelPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPAnnotatedEModelElement() {
+ return pAnnotatedEModelElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEModelElement_ModelElement() {
+ return (EReference)pAnnotatedEModelElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEModelElement_Transient() {
+ return (EReference)pAnnotatedEModelElementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPAnnotatedModel() {
+ return pAnnotatedModelEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedModel_PaEPackages() {
+ return (EReference)pAnnotatedModelEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPAnnotatedEPackage() {
+ return pAnnotatedEPackageEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEPackage_PaModel() {
+ return (EReference)pAnnotatedEPackageEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEPackage_ModelEPackage() {
+ return (EReference)pAnnotatedEPackageEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEPackage_PaEClasses() {
+ return (EReference)pAnnotatedEPackageEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEPackage_SequenceGenerators() {
+ return (EReference)pAnnotatedEPackageEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEPackage_TableGenerators() {
+ return (EReference)pAnnotatedEPackageEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEPackage_PaEDataTypes() {
+ return (EReference)pAnnotatedEPackageEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEPackage_SequenceStyleGenerators() {
+ return (EReference)pAnnotatedEPackageEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPAnnotatedEClass() {
+ return pAnnotatedEClassEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEClass_PaEPackage() {
+ return (EReference)pAnnotatedEClassEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEClass_ModelEClass() {
+ return (EReference)pAnnotatedEClassEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEClass_PaEStructuralFeatures() {
+ return (EReference)pAnnotatedEClassEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEClass_AttributeOverrides() {
+ return (EReference)pAnnotatedEClassEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEClass_DiscriminatorColumn() {
+ return (EReference)pAnnotatedEClassEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEClass_DiscriminatorValue() {
+ return (EReference)pAnnotatedEClassEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEClass_Embeddable() {
+ return (EReference)pAnnotatedEClassEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEClass_MappedSuperclass() {
+ return (EReference)pAnnotatedEClassEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEClass_Entity() {
+ return (EReference)pAnnotatedEClassEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEClass_IdClass() {
+ return (EReference)pAnnotatedEClassEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEClass_Inheritance() {
+ return (EReference)pAnnotatedEClassEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEClass_PrimaryKeyJoinColumns() {
+ return (EReference)pAnnotatedEClassEClass.getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEClass_SecondaryTables() {
+ return (EReference)pAnnotatedEClassEClass.getEStructuralFeatures().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEClass_Table() {
+ return (EReference)pAnnotatedEClassEClass.getEStructuralFeatures().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEClass_TableGenerator() {
+ return (EReference)pAnnotatedEClassEClass.getEStructuralFeatures().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEClass_AssociationOverrides() {
+ return (EReference)pAnnotatedEClassEClass.getEStructuralFeatures().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEClass_EavMapping() {
+ return (EReference)pAnnotatedEClassEClass.getEStructuralFeatures().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEClass_NoEAVMapping() {
+ return (EReference)pAnnotatedEClassEClass.getEStructuralFeatures().get(17);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEClass_SequenceGenerators() {
+ return (EReference)pAnnotatedEClassEClass.getEStructuralFeatures().get(18);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPAnnotatedEStructuralFeature() {
+ return pAnnotatedEStructuralFeatureEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEStructuralFeature_PaEClass() {
+ return (EReference)pAnnotatedEStructuralFeatureEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEStructuralFeature_ModelEStructuralFeature() {
+ return (EReference)pAnnotatedEStructuralFeatureEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEStructuralFeature_ForeignKey() {
+ return (EReference)pAnnotatedEStructuralFeatureEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEStructuralFeature_ListIndexColumn() {
+ return (EReference)pAnnotatedEStructuralFeatureEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPAnnotatedEAttribute() {
+ return pAnnotatedEAttributeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEAttribute_ModelEAttribute() {
+ return (EReference)pAnnotatedEAttributeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEAttribute_Basic() {
+ return (EReference)pAnnotatedEAttributeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEAttribute_Enumerated() {
+ return (EReference)pAnnotatedEAttributeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEAttribute_GeneratedValue() {
+ return (EReference)pAnnotatedEAttributeEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEAttribute_Id() {
+ return (EReference)pAnnotatedEAttributeEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEAttribute_Lob() {
+ return (EReference)pAnnotatedEAttributeEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEAttribute_Temporal() {
+ return (EReference)pAnnotatedEAttributeEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEAttribute_Version() {
+ return (EReference)pAnnotatedEAttributeEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPAnnotatedEDataType() {
+ return pAnnotatedEDataTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEDataType_ModelEDataType() {
+ return (EReference)pAnnotatedEDataTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEDataType_Basic() {
+ return (EReference)pAnnotatedEDataTypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEDataType_Enumerated() {
+ return (EReference)pAnnotatedEDataTypeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEDataType_GeneratedValue() {
+ return (EReference)pAnnotatedEDataTypeEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEDataType_Id() {
+ return (EReference)pAnnotatedEDataTypeEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEDataType_Lob() {
+ return (EReference)pAnnotatedEDataTypeEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEDataType_Temporal() {
+ return (EReference)pAnnotatedEDataTypeEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEDataType_Version() {
+ return (EReference)pAnnotatedEDataTypeEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEDataType_PaEPackage() {
+ return (EReference)pAnnotatedEDataTypeEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEDataType_Column() {
+ return (EReference)pAnnotatedEDataTypeEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPAnnotatedEReference() {
+ return pAnnotatedEReferenceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEReference_ModelEReference() {
+ return (EReference)pAnnotatedEReferenceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEReference_Embedded() {
+ return (EReference)pAnnotatedEReferenceEClass.getEStructuralFeatures().get(1);
+ }
+