Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'core/org.eclipse.emf.teneo.annotations/src/org')
-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
175 files changed, 44165 insertions, 0 deletions
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);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEReference_EmbeddedId() {
+ return (EReference)pAnnotatedEReferenceEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEReference_ManyToMany() {
+ return (EReference)pAnnotatedEReferenceEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEReference_ManyToOne() {
+ return (EReference)pAnnotatedEReferenceEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEReference_MapKey() {
+ return (EReference)pAnnotatedEReferenceEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEReference_OneToOne() {
+ return (EReference)pAnnotatedEReferenceEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEReference_OrderBy() {
+ return (EReference)pAnnotatedEReferenceEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEReference_PrimaryKeyJoinColumns() {
+ return (EReference)pAnnotatedEReferenceEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEReference_AssociationOverrides() {
+ return (EReference)pAnnotatedEReferenceEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedEReference_External() {
+ return (EReference)pAnnotatedEReferenceEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPAnnotatedETypedElement() {
+ return pAnnotatedETypedElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedETypedElement_AttributeOverrides() {
+ return (EReference)pAnnotatedETypedElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedETypedElement_JoinTable() {
+ return (EReference)pAnnotatedETypedElementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedETypedElement_OneToMany() {
+ return (EReference)pAnnotatedETypedElementEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedETypedElement_SequenceGenerator() {
+ return (EReference)pAnnotatedETypedElementEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedETypedElement_TableGenerators() {
+ return (EReference)pAnnotatedETypedElementEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedETypedElement_JoinColumns() {
+ return (EReference)pAnnotatedETypedElementEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotatedETypedElement_Column() {
+ return (EReference)pAnnotatedETypedElementEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PamodelFactory getPamodelFactory() {
+ return (PamodelFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ pAnnotatedEModelElementEClass = createEClass(PANNOTATED_EMODEL_ELEMENT);
+ createEReference(pAnnotatedEModelElementEClass, PANNOTATED_EMODEL_ELEMENT__MODEL_ELEMENT);
+ createEReference(pAnnotatedEModelElementEClass, PANNOTATED_EMODEL_ELEMENT__TRANSIENT);
+
+ pAnnotatedModelEClass = createEClass(PANNOTATED_MODEL);
+ createEReference(pAnnotatedModelEClass, PANNOTATED_MODEL__PA_EPACKAGES);
+
+ pAnnotatedEPackageEClass = createEClass(PANNOTATED_EPACKAGE);
+ createEReference(pAnnotatedEPackageEClass, PANNOTATED_EPACKAGE__PA_MODEL);
+ createEReference(pAnnotatedEPackageEClass, PANNOTATED_EPACKAGE__MODEL_EPACKAGE);
+ createEReference(pAnnotatedEPackageEClass, PANNOTATED_EPACKAGE__PA_ECLASSES);
+ createEReference(pAnnotatedEPackageEClass, PANNOTATED_EPACKAGE__SEQUENCE_GENERATORS);
+ createEReference(pAnnotatedEPackageEClass, PANNOTATED_EPACKAGE__TABLE_GENERATORS);
+ createEReference(pAnnotatedEPackageEClass, PANNOTATED_EPACKAGE__PA_EDATA_TYPES);
+ createEReference(pAnnotatedEPackageEClass, PANNOTATED_EPACKAGE__SEQUENCE_STYLE_GENERATORS);
+
+ pAnnotatedEClassEClass = createEClass(PANNOTATED_ECLASS);
+ createEReference(pAnnotatedEClassEClass, PANNOTATED_ECLASS__PA_EPACKAGE);
+ createEReference(pAnnotatedEClassEClass, PANNOTATED_ECLASS__MODEL_ECLASS);
+ createEReference(pAnnotatedEClassEClass, PANNOTATED_ECLASS__PA_ESTRUCTURAL_FEATURES);
+ createEReference(pAnnotatedEClassEClass, PANNOTATED_ECLASS__ATTRIBUTE_OVERRIDES);
+ createEReference(pAnnotatedEClassEClass, PANNOTATED_ECLASS__DISCRIMINATOR_COLUMN);
+ createEReference(pAnnotatedEClassEClass, PANNOTATED_ECLASS__DISCRIMINATOR_VALUE);
+ createEReference(pAnnotatedEClassEClass, PANNOTATED_ECLASS__EMBEDDABLE);
+ createEReference(pAnnotatedEClassEClass, PANNOTATED_ECLASS__MAPPED_SUPERCLASS);
+ createEReference(pAnnotatedEClassEClass, PANNOTATED_ECLASS__ENTITY);
+ createEReference(pAnnotatedEClassEClass, PANNOTATED_ECLASS__ID_CLASS);
+ createEReference(pAnnotatedEClassEClass, PANNOTATED_ECLASS__INHERITANCE);
+ createEReference(pAnnotatedEClassEClass, PANNOTATED_ECLASS__PRIMARY_KEY_JOIN_COLUMNS);
+ createEReference(pAnnotatedEClassEClass, PANNOTATED_ECLASS__SECONDARY_TABLES);
+ createEReference(pAnnotatedEClassEClass, PANNOTATED_ECLASS__TABLE);
+ createEReference(pAnnotatedEClassEClass, PANNOTATED_ECLASS__TABLE_GENERATOR);
+ createEReference(pAnnotatedEClassEClass, PANNOTATED_ECLASS__ASSOCIATION_OVERRIDES);
+ createEReference(pAnnotatedEClassEClass, PANNOTATED_ECLASS__EAV_MAPPING);
+ createEReference(pAnnotatedEClassEClass, PANNOTATED_ECLASS__NO_EAV_MAPPING);
+ createEReference(pAnnotatedEClassEClass, PANNOTATED_ECLASS__SEQUENCE_GENERATORS);
+
+ pAnnotatedEStructuralFeatureEClass = createEClass(PANNOTATED_ESTRUCTURAL_FEATURE);
+ createEReference(pAnnotatedEStructuralFeatureEClass, PANNOTATED_ESTRUCTURAL_FEATURE__PA_ECLASS);
+ createEReference(pAnnotatedEStructuralFeatureEClass, PANNOTATED_ESTRUCTURAL_FEATURE__MODEL_ESTRUCTURAL_FEATURE);
+ createEReference(pAnnotatedEStructuralFeatureEClass, PANNOTATED_ESTRUCTURAL_FEATURE__FOREIGN_KEY);
+ createEReference(pAnnotatedEStructuralFeatureEClass, PANNOTATED_ESTRUCTURAL_FEATURE__LIST_INDEX_COLUMN);
+
+ pAnnotatedEAttributeEClass = createEClass(PANNOTATED_EATTRIBUTE);
+ createEReference(pAnnotatedEAttributeEClass, PANNOTATED_EATTRIBUTE__MODEL_EATTRIBUTE);
+ createEReference(pAnnotatedEAttributeEClass, PANNOTATED_EATTRIBUTE__BASIC);
+ createEReference(pAnnotatedEAttributeEClass, PANNOTATED_EATTRIBUTE__ENUMERATED);
+ createEReference(pAnnotatedEAttributeEClass, PANNOTATED_EATTRIBUTE__GENERATED_VALUE);
+ createEReference(pAnnotatedEAttributeEClass, PANNOTATED_EATTRIBUTE__ID);
+ createEReference(pAnnotatedEAttributeEClass, PANNOTATED_EATTRIBUTE__LOB);
+ createEReference(pAnnotatedEAttributeEClass, PANNOTATED_EATTRIBUTE__TEMPORAL);
+ createEReference(pAnnotatedEAttributeEClass, PANNOTATED_EATTRIBUTE__VERSION);
+
+ pAnnotatedEReferenceEClass = createEClass(PANNOTATED_EREFERENCE);
+ createEReference(pAnnotatedEReferenceEClass, PANNOTATED_EREFERENCE__MODEL_EREFERENCE);
+ createEReference(pAnnotatedEReferenceEClass, PANNOTATED_EREFERENCE__EMBEDDED);
+ createEReference(pAnnotatedEReferenceEClass, PANNOTATED_EREFERENCE__EMBEDDED_ID);
+ createEReference(pAnnotatedEReferenceEClass, PANNOTATED_EREFERENCE__MANY_TO_MANY);
+ createEReference(pAnnotatedEReferenceEClass, PANNOTATED_EREFERENCE__MANY_TO_ONE);
+ createEReference(pAnnotatedEReferenceEClass, PANNOTATED_EREFERENCE__MAP_KEY);
+ createEReference(pAnnotatedEReferenceEClass, PANNOTATED_EREFERENCE__ONE_TO_ONE);
+ createEReference(pAnnotatedEReferenceEClass, PANNOTATED_EREFERENCE__ORDER_BY);
+ createEReference(pAnnotatedEReferenceEClass, PANNOTATED_EREFERENCE__PRIMARY_KEY_JOIN_COLUMNS);
+ createEReference(pAnnotatedEReferenceEClass, PANNOTATED_EREFERENCE__ASSOCIATION_OVERRIDES);
+ createEReference(pAnnotatedEReferenceEClass, PANNOTATED_EREFERENCE__EXTERNAL);
+
+ pAnnotatedETypedElementEClass = createEClass(PANNOTATED_ETYPED_ELEMENT);
+ createEReference(pAnnotatedETypedElementEClass, PANNOTATED_ETYPED_ELEMENT__ATTRIBUTE_OVERRIDES);
+ createEReference(pAnnotatedETypedElementEClass, PANNOTATED_ETYPED_ELEMENT__JOIN_TABLE);
+ createEReference(pAnnotatedETypedElementEClass, PANNOTATED_ETYPED_ELEMENT__ONE_TO_MANY);
+ createEReference(pAnnotatedETypedElementEClass, PANNOTATED_ETYPED_ELEMENT__SEQUENCE_GENERATOR);
+ createEReference(pAnnotatedETypedElementEClass, PANNOTATED_ETYPED_ELEMENT__TABLE_GENERATORS);
+ createEReference(pAnnotatedETypedElementEClass, PANNOTATED_ETYPED_ELEMENT__JOIN_COLUMNS);
+ createEReference(pAnnotatedETypedElementEClass, PANNOTATED_ETYPED_ELEMENT__COLUMN);
+
+ pAnnotatedEDataTypeEClass = createEClass(PANNOTATED_EDATA_TYPE);
+ createEReference(pAnnotatedEDataTypeEClass, PANNOTATED_EDATA_TYPE__MODEL_EDATA_TYPE);
+ createEReference(pAnnotatedEDataTypeEClass, PANNOTATED_EDATA_TYPE__BASIC);
+ createEReference(pAnnotatedEDataTypeEClass, PANNOTATED_EDATA_TYPE__ENUMERATED);
+ createEReference(pAnnotatedEDataTypeEClass, PANNOTATED_EDATA_TYPE__GENERATED_VALUE);
+ createEReference(pAnnotatedEDataTypeEClass, PANNOTATED_EDATA_TYPE__ID);
+ createEReference(pAnnotatedEDataTypeEClass, PANNOTATED_EDATA_TYPE__LOB);
+ createEReference(pAnnotatedEDataTypeEClass, PANNOTATED_EDATA_TYPE__TEMPORAL);
+ createEReference(pAnnotatedEDataTypeEClass, PANNOTATED_EDATA_TYPE__VERSION);
+ createEReference(pAnnotatedEDataTypeEClass, PANNOTATED_EDATA_TYPE__PA_EPACKAGE);
+ createEReference(pAnnotatedEDataTypeEClass, PANNOTATED_EDATA_TYPE__COLUMN);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ PannotationPackage thePannotationPackage = (PannotationPackage)EPackage.Registry.INSTANCE.getEPackage(PannotationPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ pAnnotatedEPackageEClass.getESuperTypes().add(this.getPAnnotatedEModelElement());
+ pAnnotatedEClassEClass.getESuperTypes().add(this.getPAnnotatedEModelElement());
+ pAnnotatedEStructuralFeatureEClass.getESuperTypes().add(this.getPAnnotatedETypedElement());
+ pAnnotatedEAttributeEClass.getESuperTypes().add(this.getPAnnotatedEStructuralFeature());
+ pAnnotatedEReferenceEClass.getESuperTypes().add(this.getPAnnotatedEStructuralFeature());
+ pAnnotatedETypedElementEClass.getESuperTypes().add(this.getPAnnotatedEModelElement());
+ pAnnotatedEDataTypeEClass.getESuperTypes().add(this.getPAnnotatedEModelElement());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(pAnnotatedEModelElementEClass, PAnnotatedEModelElement.class, "PAnnotatedEModelElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPAnnotatedEModelElement_ModelElement(), ecorePackage.getENamedElement(), null, "modelElement", null, 0, 1, PAnnotatedEModelElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEModelElement_Transient(), thePannotationPackage.getTransient(), null, "transient", null, 0, 1, PAnnotatedEModelElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(pAnnotatedModelEClass, PAnnotatedModel.class, "PAnnotatedModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPAnnotatedModel_PaEPackages(), this.getPAnnotatedEPackage(), this.getPAnnotatedEPackage_PaModel(), "paEPackages", null, 0, -1, PAnnotatedModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(pAnnotatedEPackageEClass, PAnnotatedEPackage.class, "PAnnotatedEPackage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPAnnotatedEPackage_PaModel(), this.getPAnnotatedModel(), this.getPAnnotatedModel_PaEPackages(), "paModel", null, 0, 1, PAnnotatedEPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEPackage_ModelEPackage(), ecorePackage.getEPackage(), null, "modelEPackage", null, 0, 1, PAnnotatedEPackage.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEPackage_PaEClasses(), this.getPAnnotatedEClass(), this.getPAnnotatedEClass_PaEPackage(), "paEClasses", null, 0, -1, PAnnotatedEPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEPackage_SequenceGenerators(), thePannotationPackage.getSequenceGenerator(), null, "sequenceGenerators", null, 0, -1, PAnnotatedEPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEPackage_TableGenerators(), thePannotationPackage.getTableGenerator(), null, "tableGenerators", null, 0, -1, PAnnotatedEPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEPackage_PaEDataTypes(), this.getPAnnotatedEDataType(), this.getPAnnotatedEDataType_PaEPackage(), "paEDataTypes", null, 0, -1, PAnnotatedEPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEPackage_SequenceStyleGenerators(), thePannotationPackage.getSequenceStyleGenerator(), null, "sequenceStyleGenerators", null, 0, -1, PAnnotatedEPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(pAnnotatedEClassEClass, PAnnotatedEClass.class, "PAnnotatedEClass", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPAnnotatedEClass_PaEPackage(), this.getPAnnotatedEPackage(), this.getPAnnotatedEPackage_PaEClasses(), "paEPackage", null, 0, 1, PAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEClass_ModelEClass(), ecorePackage.getEClass(), null, "modelEClass", null, 0, 1, PAnnotatedEClass.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEClass_PaEStructuralFeatures(), this.getPAnnotatedEStructuralFeature(), this.getPAnnotatedEStructuralFeature_PaEClass(), "paEStructuralFeatures", null, 0, -1, PAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEClass_AttributeOverrides(), thePannotationPackage.getAttributeOverride(), null, "attributeOverrides", null, 0, -1, PAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEClass_DiscriminatorColumn(), thePannotationPackage.getDiscriminatorColumn(), null, "discriminatorColumn", null, 0, 1, PAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEClass_DiscriminatorValue(), thePannotationPackage.getDiscriminatorValue(), null, "discriminatorValue", null, 0, 1, PAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEClass_Embeddable(), thePannotationPackage.getEmbeddable(), null, "embeddable", null, 0, 1, PAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEClass_MappedSuperclass(), thePannotationPackage.getMappedSuperclass(), null, "mappedSuperclass", null, 0, 1, PAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEClass_Entity(), thePannotationPackage.getEntity(), null, "entity", null, 0, 1, PAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEClass_IdClass(), thePannotationPackage.getIdClass(), null, "idClass", null, 0, 1, PAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEClass_Inheritance(), thePannotationPackage.getInheritance(), null, "inheritance", null, 0, 1, PAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEClass_PrimaryKeyJoinColumns(), thePannotationPackage.getPrimaryKeyJoinColumn(), null, "primaryKeyJoinColumns", null, 0, -1, PAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEClass_SecondaryTables(), thePannotationPackage.getSecondaryTable(), null, "secondaryTables", null, 0, -1, PAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEClass_Table(), thePannotationPackage.getTable(), null, "table", null, 0, 1, PAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEClass_TableGenerator(), thePannotationPackage.getTableGenerator(), null, "tableGenerator", null, 0, 1, PAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEClass_AssociationOverrides(), thePannotationPackage.getAssociationOverride(), null, "associationOverrides", null, 0, -1, PAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEClass_EavMapping(), thePannotationPackage.getEAVMapping(), null, "eavMapping", null, 0, 1, PAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEClass_NoEAVMapping(), thePannotationPackage.getNoEAVMapping(), null, "noEAVMapping", null, 0, 1, PAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEClass_SequenceGenerators(), thePannotationPackage.getSequenceGenerator(), null, "sequenceGenerators", null, 0, -1, PAnnotatedEClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(pAnnotatedEStructuralFeatureEClass, PAnnotatedEStructuralFeature.class, "PAnnotatedEStructuralFeature", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPAnnotatedEStructuralFeature_PaEClass(), this.getPAnnotatedEClass(), this.getPAnnotatedEClass_PaEStructuralFeatures(), "paEClass", null, 0, 1, PAnnotatedEStructuralFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEStructuralFeature_ModelEStructuralFeature(), ecorePackage.getEStructuralFeature(), null, "modelEStructuralFeature", null, 0, 1, PAnnotatedEStructuralFeature.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEStructuralFeature_ForeignKey(), thePannotationPackage.getForeignKey(), null, "foreignKey", null, 0, 1, PAnnotatedEStructuralFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEStructuralFeature_ListIndexColumn(), thePannotationPackage.getListIndexColumn(), null, "listIndexColumn", null, 0, 1, PAnnotatedEStructuralFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(pAnnotatedEAttributeEClass, PAnnotatedEAttribute.class, "PAnnotatedEAttribute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPAnnotatedEAttribute_ModelEAttribute(), ecorePackage.getEAttribute(), null, "modelEAttribute", null, 0, 1, PAnnotatedEAttribute.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEAttribute_Basic(), thePannotationPackage.getBasic(), null, "basic", null, 0, 1, PAnnotatedEAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEAttribute_Enumerated(), thePannotationPackage.getEnumerated(), null, "enumerated", null, 0, 1, PAnnotatedEAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEAttribute_GeneratedValue(), thePannotationPackage.getGeneratedValue(), null, "generatedValue", null, 0, 1, PAnnotatedEAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEAttribute_Id(), thePannotationPackage.getId(), null, "id", null, 0, 1, PAnnotatedEAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEAttribute_Lob(), thePannotationPackage.getLob(), null, "lob", null, 0, 1, PAnnotatedEAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEAttribute_Temporal(), thePannotationPackage.getTemporal(), null, "temporal", null, 0, 1, PAnnotatedEAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEAttribute_Version(), thePannotationPackage.getVersion(), null, "version", null, 0, 1, PAnnotatedEAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(pAnnotatedEReferenceEClass, PAnnotatedEReference.class, "PAnnotatedEReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPAnnotatedEReference_ModelEReference(), ecorePackage.getEReference(), null, "modelEReference", null, 0, 1, PAnnotatedEReference.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEReference_Embedded(), thePannotationPackage.getEmbedded(), null, "embedded", null, 0, 1, PAnnotatedEReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEReference_EmbeddedId(), thePannotationPackage.getEmbeddedId(), null, "embeddedId", null, 0, 1, PAnnotatedEReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEReference_ManyToMany(), thePannotationPackage.getManyToMany(), null, "manyToMany", null, 0, 1, PAnnotatedEReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEReference_ManyToOne(), thePannotationPackage.getManyToOne(), null, "manyToOne", null, 0, 1, PAnnotatedEReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEReference_MapKey(), thePannotationPackage.getMapKey(), null, "mapKey", null, 0, 1, PAnnotatedEReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEReference_OneToOne(), thePannotationPackage.getOneToOne(), null, "oneToOne", null, 0, 1, PAnnotatedEReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEReference_OrderBy(), thePannotationPackage.getOrderBy(), null, "orderBy", null, 0, 1, PAnnotatedEReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEReference_PrimaryKeyJoinColumns(), thePannotationPackage.getPrimaryKeyJoinColumn(), null, "primaryKeyJoinColumns", null, 0, -1, PAnnotatedEReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEReference_AssociationOverrides(), thePannotationPackage.getAssociationOverride(), null, "associationOverrides", null, 0, -1, PAnnotatedEReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEReference_External(), thePannotationPackage.getExternal(), null, "external", null, 0, 1, PAnnotatedEReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(pAnnotatedETypedElementEClass, PAnnotatedETypedElement.class, "PAnnotatedETypedElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPAnnotatedETypedElement_AttributeOverrides(), thePannotationPackage.getAttributeOverride(), null, "attributeOverrides", null, 0, -1, PAnnotatedETypedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedETypedElement_JoinTable(), thePannotationPackage.getJoinTable(), null, "joinTable", null, 0, 1, PAnnotatedETypedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedETypedElement_OneToMany(), thePannotationPackage.getOneToMany(), null, "oneToMany", null, 0, 1, PAnnotatedETypedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedETypedElement_SequenceGenerator(), thePannotationPackage.getSequenceGenerator(), null, "sequenceGenerator", null, 0, 1, PAnnotatedETypedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedETypedElement_TableGenerators(), thePannotationPackage.getTableGenerator(), null, "tableGenerators", null, 0, -1, PAnnotatedETypedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedETypedElement_JoinColumns(), thePannotationPackage.getJoinColumn(), null, "joinColumns", null, 0, -1, PAnnotatedETypedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedETypedElement_Column(), thePannotationPackage.getColumn(), null, "column", null, 0, 1, PAnnotatedETypedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(pAnnotatedEDataTypeEClass, PAnnotatedEDataType.class, "PAnnotatedEDataType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPAnnotatedEDataType_ModelEDataType(), ecorePackage.getEDataType(), null, "modelEDataType", null, 1, 1, PAnnotatedEDataType.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEDataType_Basic(), thePannotationPackage.getBasic(), null, "basic", null, 0, 1, PAnnotatedEDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEDataType_Enumerated(), thePannotationPackage.getEnumerated(), null, "enumerated", null, 0, 1, PAnnotatedEDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEDataType_GeneratedValue(), thePannotationPackage.getGeneratedValue(), null, "generatedValue", null, 0, 1, PAnnotatedEDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEDataType_Id(), thePannotationPackage.getId(), null, "id", null, 0, 1, PAnnotatedEDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEDataType_Lob(), thePannotationPackage.getLob(), null, "lob", null, 0, 1, PAnnotatedEDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEDataType_Temporal(), thePannotationPackage.getTemporal(), null, "temporal", null, 0, 1, PAnnotatedEDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEDataType_Version(), thePannotationPackage.getVersion(), null, "version", null, 0, 1, PAnnotatedEDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEDataType_PaEPackage(), this.getPAnnotatedEPackage(), this.getPAnnotatedEPackage_PaEDataTypes(), "paEPackage", null, 0, 1, PAnnotatedEDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPAnnotatedEDataType_Column(), thePannotationPackage.getColumn(), null, "column", null, 0, 1, PAnnotatedEDataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+
+ // Create annotations
+ // http://www.eclipse.org/emf/2002/Ecore
+ createEcoreAnnotations();
+ // teneo/internal/PersistenceMapping
+ createPersistenceMappingAnnotations();
+ // elver.jpa
+ createElverAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>http://www.eclipse.org/emf/2002/Ecore</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createEcoreAnnotations() {
+ String source = "http://www.eclipse.org/emf/2002/Ecore";
+ addAnnotation
+ (pAnnotatedEModelElementEClass,
+ source,
+ new String[] {
+ "constraints", "PAnnotationElementCommutes"
+ });
+ addAnnotation
+ (pAnnotatedModelEClass,
+ source,
+ new String[] {
+ "constraints", "AtMostOnePackage DistinctGenerators"
+ });
+ addAnnotation
+ (pAnnotatedEPackageEClass,
+ source,
+ new String[] {
+ "constraints", "AtMostOneEClass"
+ });
+ addAnnotation
+ (pAnnotatedEClassEClass,
+ source,
+ new String[] {
+ "constraints", "SameEFeatures EPackageCommutes ProperPrimaryKey EntityOrEmbeddableOrMappedSuper\tOverriddenAreDefined ProperInheritance ProperDiscriminator SingleTableForSingleStrategy ProperPKJoin"
+ });
+ addAnnotation
+ (pAnnotatedEStructuralFeatureEClass,
+ source,
+ new String[] {
+ "constraints", "EClassCommutes TransientNotAnnotated"
+ });
+ addAnnotation
+ (pAnnotatedEAttributeEClass,
+ source,
+ new String[] {
+ "constraints", "NotAnnotatedAsBasic GeneratedOnId DefinedGenerator IdOnEntityOrMappedSuper"
+ });
+ addAnnotation
+ (pAnnotatedEReferenceEClass,
+ source,
+ new String[] {
+ "constraints", "NotAnnotatedAsEmbed AssociationAgreeWithReference AssociationWellFormed"
+ });
+ addAnnotation
+ (pAnnotatedETypedElementEClass,
+ source,
+ new String[] {
+ "constraints", "EClassCommutes TransientNotAnnotated"
+ });
+ addAnnotation
+ (pAnnotatedEDataTypeEClass,
+ source,
+ new String[] {
+ "constraints", "NotAnnotatedAsBasic GeneratedOnId DefinedGenerator IdOnEntityOrMappedSuper"
+ });
+ }
+
+ /**
+ * Initializes the annotations for <b>teneo/internal/PersistenceMapping</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createPersistenceMappingAnnotations() {
+ String source = "teneo/internal/PersistenceMapping";
+ addAnnotation
+ (getPAnnotatedEModelElement_ModelElement(),
+ source,
+ new String[] {
+ "ignore", "true"
+ });
+ addAnnotation
+ (getPAnnotatedEPackage_PaModel(),
+ source,
+ new String[] {
+ "ignore", "true"
+ });
+ addAnnotation
+ (getPAnnotatedEPackage_ModelEPackage(),
+ source,
+ new String[] {
+ "ignore", "true"
+ });
+ addAnnotation
+ (getPAnnotatedEPackage_PaEClasses(),
+ source,
+ new String[] {
+ "ignore", "true"
+ });
+ addAnnotation
+ (getPAnnotatedEPackage_PaEDataTypes(),
+ source,
+ new String[] {
+ "ignore", "true"
+ });
+ addAnnotation
+ (getPAnnotatedEClass_PaEPackage(),
+ source,
+ new String[] {
+ "ignore", "true"
+ });
+ addAnnotation
+ (getPAnnotatedEClass_ModelEClass(),
+ source,
+ new String[] {
+ "ignore", "true"
+ });
+ addAnnotation
+ (getPAnnotatedEClass_PaEStructuralFeatures(),
+ source,
+ new String[] {
+ "ignore", "true"
+ });
+ addAnnotation
+ (getPAnnotatedEStructuralFeature_PaEClass(),
+ source,
+ new String[] {
+ "ignore", "true"
+ });
+ addAnnotation
+ (getPAnnotatedEStructuralFeature_ModelEStructuralFeature(),
+ source,
+ new String[] {
+ "ignore", "true"
+ });
+ addAnnotation
+ (getPAnnotatedEAttribute_ModelEAttribute(),
+ source,
+ new String[] {
+ "ignore", "true"
+ });
+ addAnnotation
+ (getPAnnotatedEReference_ModelEReference(),
+ source,
+ new String[] {
+ "ignore", "true"
+ });
+ addAnnotation
+ (getPAnnotatedEDataType_ModelEDataType(),
+ source,
+ new String[] {
+ "ignore", "true"
+ });
+ addAnnotation
+ (getPAnnotatedEDataType_PaEPackage(),
+ source,
+ new String[] {
+ "ignore", "true"
+ });
+ }
+
+ /**
+ * Initializes the annotations for <b>elver.jpa</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createElverAnnotations() {
+ String source = "elver.jpa";
+ addAnnotation
+ (getPAnnotatedEClass_AttributeOverrides(),
+ source,
+ new String[] {
+ "annotationName", "AttributeOverrides",
+ "annotationClass", "javax.persistence.AttributeOverrides"
+ });
+ addAnnotation
+ (getPAnnotatedEClass_PrimaryKeyJoinColumns(),
+ source,
+ new String[] {
+ "annotationName", "PrimaryKeyJoinColumns",
+ "annotationClass", "javax.persistence.PrimaryKeyJoinColumns"
+ });
+ addAnnotation
+ (getPAnnotatedEClass_SecondaryTables(),
+ source,
+ new String[] {
+ "annotationName", "SecondaryTables",
+ "annotationClass", "javax.persistence.SecondaryTables"
+ });
+ addAnnotation
+ (getPAnnotatedEClass_AssociationOverrides(),
+ source,
+ new String[] {
+ "annotationName", "AssociationOverrides",
+ "annotationClass", "javax.persistence.AssociationOverrides"
+ });
+ addAnnotation
+ (getPAnnotatedEStructuralFeature_ListIndexColumn(),
+ source,
+ new String[] {
+ "annotationName", "JoinColumns",
+ "annotationClass", "javax.persistence.JoinColumns"
+ });
+ addAnnotation
+ (getPAnnotatedEReference_PrimaryKeyJoinColumns(),
+ source,
+ new String[] {
+ "annotationName", "PrimaryKeyJoinColumns",
+ "annotationClass", "javax.persistence.PrimaryKeyJoinColumns"
+ });
+ addAnnotation
+ (getPAnnotatedEReference_AssociationOverrides(),
+ source,
+ new String[] {
+ "annotationName", "AssociationOverrides",
+ "annotationClass", "javax.persistence.AssociationOverrides"
+ });
+ addAnnotation
+ (getPAnnotatedETypedElement_AttributeOverrides(),
+ source,
+ new String[] {
+ "annotationName", "AttributeOverrides",
+ "annotationClass", "javax.persistence.AttributeOverrides"
+ });
+ addAnnotation
+ (getPAnnotatedETypedElement_JoinColumns(),
+ source,
+ new String[] {
+ "annotationName", "JoinColumns",
+ "annotationClass", "javax.persistence.JoinColumns"
+ });
+ }
+
+ /**
+ * {@see PamodelPackage#pAnnotationReference(EClass, EClass)}
+ */
+ public EReference pAnnotationReference(EClass paElementEClass, EClass pAnnotationEClass) {
+ if (PamodelPackage.eINSTANCE.getPAnnotatedEModelElement().isSuperTypeOf(paElementEClass) &&
+ PannotationPackage.eINSTANCE.getPAnnotation().isSuperTypeOf(pAnnotationEClass))
+ for (EReference r : paElementEClass.getEAllReferences()) {
+ if (r.getEReferenceType() == pAnnotationEClass)
+ return r;
+ }
+ return null;
+ }
+
+} //PamodelPackageImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/util/PamodelAdapterFactory.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/util/PamodelAdapterFactory.java
new file mode 100755
index 000000000..264e5d9e9
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/util/PamodelAdapterFactory.java
@@ -0,0 +1,275 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PamodelAdapterFactory.java,v 1.30 2011/02/21 06:40:11 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.teneo.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.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.PamodelPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage
+ * @generated
+ */
+public class PamodelAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static PamodelPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PamodelAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = PamodelPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PamodelSwitch<Adapter> modelSwitch =
+ new PamodelSwitch<Adapter>() {
+ @Override
+ public Adapter casePAnnotatedEModelElement(PAnnotatedEModelElement object) {
+ return createPAnnotatedEModelElementAdapter();
+ }
+ @Override
+ public Adapter casePAnnotatedModel(PAnnotatedModel object) {
+ return createPAnnotatedModelAdapter();
+ }
+ @Override
+ public Adapter casePAnnotatedEPackage(PAnnotatedEPackage object) {
+ return createPAnnotatedEPackageAdapter();
+ }
+ @Override
+ public Adapter casePAnnotatedEClass(PAnnotatedEClass object) {
+ return createPAnnotatedEClassAdapter();
+ }
+ @Override
+ public Adapter casePAnnotatedEStructuralFeature(PAnnotatedEStructuralFeature object) {
+ return createPAnnotatedEStructuralFeatureAdapter();
+ }
+ @Override
+ public Adapter casePAnnotatedEAttribute(PAnnotatedEAttribute object) {
+ return createPAnnotatedEAttributeAdapter();
+ }
+ @Override
+ public Adapter casePAnnotatedEReference(PAnnotatedEReference object) {
+ return createPAnnotatedEReferenceAdapter();
+ }
+ @Override
+ public Adapter casePAnnotatedETypedElement(PAnnotatedETypedElement object) {
+ return createPAnnotatedETypedElementAdapter();
+ }
+ @Override
+ public Adapter casePAnnotatedEDataType(PAnnotatedEDataType object) {
+ return createPAnnotatedEDataTypeAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEModelElement <em>PAnnotated EModel Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEModelElement
+ * @generated
+ */
+ public Adapter createPAnnotatedEModelElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedModel <em>PAnnotated Model</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedModel
+ * @generated
+ */
+ public Adapter createPAnnotatedModelAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage <em>PAnnotated EPackage</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage
+ * @generated
+ */
+ public Adapter createPAnnotatedEPackageAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass <em>PAnnotated EClass</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass
+ * @generated
+ */
+ public Adapter createPAnnotatedEClassAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature <em>PAnnotated EStructural Feature</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature
+ * @generated
+ */
+ public Adapter createPAnnotatedEStructuralFeatureAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute <em>PAnnotated EAttribute</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute
+ * @generated
+ */
+ public Adapter createPAnnotatedEAttributeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType <em>PAnnotated EData Type</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType
+ * @generated
+ */
+ public Adapter createPAnnotatedEDataTypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference <em>PAnnotated EReference</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference
+ * @generated
+ */
+ public Adapter createPAnnotatedEReferenceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement <em>PAnnotated ETyped Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement
+ * @generated
+ */
+ public Adapter createPAnnotatedETypedElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //PamodelAdapterFactory
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/util/PamodelSwitch.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/util/PamodelSwitch.java
new file mode 100755
index 000000000..88cf7b2d1
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/util/PamodelSwitch.java
@@ -0,0 +1,292 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PamodelSwitch.java,v 1.30 2011/02/21 06:40:11 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+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.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.PamodelPackage;
+
+/**
+ * <!-- begin-user-doc --> The <b>Switch</b> for the model's inheritance hierarchy. It supports the
+ * call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for
+ * each class of the model, starting with the actual class of the object and proceeding up the
+ * inheritance hierarchy until a non-null result is returned, which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage
+ * @generated
+ */
+public class PamodelSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected static PamodelPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public PamodelSwitch() {
+ if (modelPackage == null) {
+ modelPackage = PamodelPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case PamodelPackage.PANNOTATED_EMODEL_ELEMENT: {
+ PAnnotatedEModelElement pAnnotatedEModelElement = (PAnnotatedEModelElement)theEObject;
+ T result = casePAnnotatedEModelElement(pAnnotatedEModelElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PamodelPackage.PANNOTATED_MODEL: {
+ PAnnotatedModel pAnnotatedModel = (PAnnotatedModel)theEObject;
+ T result = casePAnnotatedModel(pAnnotatedModel);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PamodelPackage.PANNOTATED_EPACKAGE: {
+ PAnnotatedEPackage pAnnotatedEPackage = (PAnnotatedEPackage)theEObject;
+ T result = casePAnnotatedEPackage(pAnnotatedEPackage);
+ if (result == null) result = casePAnnotatedEModelElement(pAnnotatedEPackage);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PamodelPackage.PANNOTATED_ECLASS: {
+ PAnnotatedEClass pAnnotatedEClass = (PAnnotatedEClass)theEObject;
+ T result = casePAnnotatedEClass(pAnnotatedEClass);
+ if (result == null) result = casePAnnotatedEModelElement(pAnnotatedEClass);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE: {
+ PAnnotatedEStructuralFeature pAnnotatedEStructuralFeature = (PAnnotatedEStructuralFeature)theEObject;
+ T result = casePAnnotatedEStructuralFeature(pAnnotatedEStructuralFeature);
+ if (result == null) result = casePAnnotatedETypedElement(pAnnotatedEStructuralFeature);
+ if (result == null) result = casePAnnotatedEModelElement(pAnnotatedEStructuralFeature);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PamodelPackage.PANNOTATED_EATTRIBUTE: {
+ PAnnotatedEAttribute pAnnotatedEAttribute = (PAnnotatedEAttribute)theEObject;
+ T result = casePAnnotatedEAttribute(pAnnotatedEAttribute);
+ if (result == null) result = casePAnnotatedEStructuralFeature(pAnnotatedEAttribute);
+ if (result == null) result = casePAnnotatedETypedElement(pAnnotatedEAttribute);
+ if (result == null) result = casePAnnotatedEModelElement(pAnnotatedEAttribute);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PamodelPackage.PANNOTATED_EREFERENCE: {
+ PAnnotatedEReference pAnnotatedEReference = (PAnnotatedEReference)theEObject;
+ T result = casePAnnotatedEReference(pAnnotatedEReference);
+ if (result == null) result = casePAnnotatedEStructuralFeature(pAnnotatedEReference);
+ if (result == null) result = casePAnnotatedETypedElement(pAnnotatedEReference);
+ if (result == null) result = casePAnnotatedEModelElement(pAnnotatedEReference);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT: {
+ PAnnotatedETypedElement pAnnotatedETypedElement = (PAnnotatedETypedElement)theEObject;
+ T result = casePAnnotatedETypedElement(pAnnotatedETypedElement);
+ if (result == null) result = casePAnnotatedEModelElement(pAnnotatedETypedElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PamodelPackage.PANNOTATED_EDATA_TYPE: {
+ PAnnotatedEDataType pAnnotatedEDataType = (PAnnotatedEDataType)theEObject;
+ T result = casePAnnotatedEDataType(pAnnotatedEDataType);
+ if (result == null) result = casePAnnotatedEModelElement(pAnnotatedEDataType);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>PAnnotated EModel Element</em>'.
+ * <!-- begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate the switch. <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>PAnnotated EModel Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePAnnotatedEModelElement(PAnnotatedEModelElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>PAnnotated Model</em>'.
+ * <!-- begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate the switch. <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>PAnnotated Model</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePAnnotatedModel(PAnnotatedModel object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>PAnnotated EPackage</em>'.
+ * <!-- begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate the switch. <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>PAnnotated EPackage</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePAnnotatedEPackage(PAnnotatedEPackage object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>PAnnotated EClass</em>'.
+ * <!-- begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate the switch. <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>PAnnotated EClass</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePAnnotatedEClass(PAnnotatedEClass object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>PAnnotated EStructural Feature</em>'.
+ * <!-- begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate the switch. <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>PAnnotated EStructural Feature</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePAnnotatedEStructuralFeature(PAnnotatedEStructuralFeature object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>PAnnotated EAttribute</em>'.
+ * <!-- begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate the switch. <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>PAnnotated EAttribute</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePAnnotatedEAttribute(PAnnotatedEAttribute object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>PAnnotated EData Type</em>'.
+ * <!-- begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate the switch. <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>PAnnotated EData Type</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePAnnotatedEDataType(PAnnotatedEDataType object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>PAnnotated EReference</em>'.
+ * <!-- begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate the switch. <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>PAnnotated EReference</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePAnnotatedEReference(PAnnotatedEReference object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>PAnnotated ETyped Element</em>'.
+ * <!-- begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate the switch. <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>PAnnotated ETyped Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePAnnotatedETypedElement(PAnnotatedETypedElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will
+ * terminate the switch, but this is the last case anyway. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} // PamodelSwitch
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/util/PamodelValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/util/PamodelValidator.java
new file mode 100755
index 000000000..d0afa2574
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/util/PamodelValidator.java
@@ -0,0 +1,1192 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PamodelValidator.java,v 1.32 2011/02/21 06:40:11 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+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.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.PamodelPackage;
+
+/**
+ * <!-- begin-user-doc --> The <b>Validator</b> for the model. <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage
+ * @generated
+ */
+public class PamodelValidator extends EObjectValidator {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public static final PamodelValidator INSTANCE = new PamodelValidator();
+
+ /**
+ * A constant for the {@link org.eclipse.emf.common.util.Diagnostic#getSource() source} of diagnostic {@link org.eclipse.emf.common.util.Diagnostic#getCode() codes} from this package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.common.util.Diagnostic#getSource()
+ * @see org.eclipse.emf.common.util.Diagnostic#getCode()
+ * @generated
+ */
+ public static final String DIAGNOSTIC_SOURCE = "org.eclipse.emf.teneo.annotations.pamodel";
+
+ /**
+ * A constant with a fixed name that can be used as the base value for additional hand written constants.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ private static final int GENERATED_DIAGNOSTIC_CODE_COUNT = 0;
+
+ /**
+ * A constant with a fixed name that can be used as the base value for additional hand written constants in a derived class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected static final int DIAGNOSTIC_CODE_COUNT = GENERATED_DIAGNOSTIC_CODE_COUNT;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ public PamodelValidator() {
+ super();
+ }
+
+ /**
+ * Returns the package of this validator switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EPackage getEPackage() {
+ return PamodelPackage.eINSTANCE;
+ }
+
+ /**
+ * Calls <code>validateXXX</code> for the corresponding classifier of the model.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean validate(int classifierID, Object value,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ switch (classifierID) {
+ case PamodelPackage.PANNOTATED_EMODEL_ELEMENT:
+ return validatePAnnotatedEModelElement((PAnnotatedEModelElement)value, diagnostics, context);
+ case PamodelPackage.PANNOTATED_MODEL:
+ return validatePAnnotatedModel((PAnnotatedModel)value, diagnostics, context);
+ case PamodelPackage.PANNOTATED_EPACKAGE:
+ return validatePAnnotatedEPackage((PAnnotatedEPackage)value, diagnostics, context);
+ case PamodelPackage.PANNOTATED_ECLASS:
+ return validatePAnnotatedEClass((PAnnotatedEClass)value, diagnostics, context);
+ case PamodelPackage.PANNOTATED_ESTRUCTURAL_FEATURE:
+ return validatePAnnotatedEStructuralFeature((PAnnotatedEStructuralFeature)value, diagnostics, context);
+ case PamodelPackage.PANNOTATED_EATTRIBUTE:
+ return validatePAnnotatedEAttribute((PAnnotatedEAttribute)value, diagnostics, context);
+ case PamodelPackage.PANNOTATED_EREFERENCE:
+ return validatePAnnotatedEReference((PAnnotatedEReference)value, diagnostics, context);
+ case PamodelPackage.PANNOTATED_ETYPED_ELEMENT:
+ return validatePAnnotatedETypedElement((PAnnotatedETypedElement)value, diagnostics, context);
+ case PamodelPackage.PANNOTATED_EDATA_TYPE:
+ return validatePAnnotatedEDataType((PAnnotatedEDataType)value, diagnostics, context);
+ default:
+ return true;
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedEModelElement(
+ PAnnotatedEModelElement pAnnotatedEModelElement,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(pAnnotatedEModelElement, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(pAnnotatedEModelElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(pAnnotatedEModelElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(pAnnotatedEModelElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(pAnnotatedEModelElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(pAnnotatedEModelElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(pAnnotatedEModelElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(pAnnotatedEModelElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(pAnnotatedEModelElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEModelElement_PAnnotationElementCommutes(pAnnotatedEModelElement, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the PAnnotationElementCommutes constraint of '<em>PAnnotated EModel Element</em>'.
+ * <!-- begin-user-doc --> Check that
+ * each contained PAnnotation references the same eModelElement <!--
+ * end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedEModelElement_PAnnotationElementCommutes(
+ PAnnotatedEModelElement pAnnotatedEModelElement,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "PAnnotationElementCommutes", getObjectLabel(pAnnotatedEModelElement, context) },
+ new Object[] { pAnnotatedEModelElement },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedModel(PAnnotatedModel pAnnotatedModel,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(pAnnotatedModel, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(pAnnotatedModel, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(pAnnotatedModel, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(pAnnotatedModel, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(pAnnotatedModel, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(pAnnotatedModel, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(pAnnotatedModel, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(pAnnotatedModel, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(pAnnotatedModel, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedModel_AtMostOnePackage(pAnnotatedModel, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedModel_DistinctGenerators(pAnnotatedModel, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the AtMostOnePackage constraint of '<em>PAnnotated Model</em>'.
+ * Verifies that the model does not contain distinct PAnnotatedEPackage
+ * refering to the same EPackage.
+ *
+ * @generated
+ */
+ public boolean validatePAnnotatedModel_AtMostOnePackage(
+ PAnnotatedModel pAnnotatedModel, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "AtMostOnePackage", getObjectLabel(pAnnotatedModel, context) },
+ new Object[] { pAnnotatedModel },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Validates the DistinctGenerators constraint of '<em>PAnnotated Model</em>
+ * '. <!-- begin-user-doc --> Check that each in each scope no distinct
+ * TableGenerator or SequenceGenerator use the same name. <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ public boolean validatePAnnotatedModel_DistinctGenerators(
+ PAnnotatedModel pAnnotatedModel, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "DistinctGenerators", getObjectLabel(pAnnotatedModel, context) },
+ new Object[] { pAnnotatedModel },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedEPackage(
+ PAnnotatedEPackage pAnnotatedEPackage, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(pAnnotatedEPackage, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(pAnnotatedEPackage, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(pAnnotatedEPackage, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(pAnnotatedEPackage, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(pAnnotatedEPackage, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(pAnnotatedEPackage, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(pAnnotatedEPackage, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(pAnnotatedEPackage, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(pAnnotatedEPackage, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEModelElement_PAnnotationElementCommutes(pAnnotatedEPackage, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEPackage_AtMostOneEClass(pAnnotatedEPackage, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the AtMostOneEClass constraint of '<em>PAnnotated EPackage</em>
+ * '. Verifies that the package does not contain distinct PAnnotatedEClass
+ * refering to the same EClass.
+ *
+ * @generated
+ */
+ public boolean validatePAnnotatedEPackage_AtMostOneEClass(
+ PAnnotatedEPackage pAnnotatedEPackage, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "AtMostOneEClass", getObjectLabel(pAnnotatedEPackage, context) },
+ new Object[] { pAnnotatedEPackage },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedEClass(PAnnotatedEClass pAnnotatedEClass,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(pAnnotatedEClass, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(pAnnotatedEClass, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(pAnnotatedEClass, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(pAnnotatedEClass, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(pAnnotatedEClass, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(pAnnotatedEClass, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(pAnnotatedEClass, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(pAnnotatedEClass, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(pAnnotatedEClass, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEModelElement_PAnnotationElementCommutes(pAnnotatedEClass, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEClass_SameEFeatures(pAnnotatedEClass, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEClass_EPackageCommutes(pAnnotatedEClass, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEClass_ProperPrimaryKey(pAnnotatedEClass, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEClass_EntityOrEmbeddableOrMappedSuper(pAnnotatedEClass, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEClass_OverriddenAreDefined(pAnnotatedEClass, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEClass_ProperInheritance(pAnnotatedEClass, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEClass_ProperDiscriminator(pAnnotatedEClass, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEClass_SingleTableForSingleStrategy(pAnnotatedEClass, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEClass_ProperPKJoin(pAnnotatedEClass, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the SameEFeatures constraint of '<em>PAnnotated EClass</em>'.
+ * <!-- begin-user-doc --> Check that each of the annotated EClass features
+ * are annotated exactly once. <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedEClass_SameEFeatures(
+ PAnnotatedEClass pAnnotatedEClass, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "SameEFeatures", getObjectLabel(pAnnotatedEClass, context) },
+ new Object[] { pAnnotatedEClass },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Validates the EPackageCommutes constraint of '<em>PAnnotated EClass</em>
+ * '. Verifies that the containing (if specified) PAnnotatedEPackage
+ * corresponds to the containing EPackage of the referenced EClass (if
+ * specified).
+ *
+ * @generated
+ */
+ public boolean validatePAnnotatedEClass_EPackageCommutes(
+ PAnnotatedEClass pAnnotatedEClass, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "EPackageCommutes", getObjectLabel(pAnnotatedEClass, context) },
+ new Object[] { pAnnotatedEClass },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Validates the ProperPrimaryKey constraint of '<em>PAnnotated EClass</em>'.
+ * <!-- begin-user-doc --> EJB3-SPEC 2.1.4 <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedEClass_ProperPrimaryKey(
+ PAnnotatedEClass pAnnotatedEClass, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "ProperPrimaryKey", getObjectLabel(pAnnotatedEClass, context) },
+ new Object[] { pAnnotatedEClass },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Validates the EntityOrEmbeddableOrMappedSuper constraint of '
+ * <em>PAnnotated EClass</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ public boolean validatePAnnotatedEClass_EntityOrEmbeddableOrMappedSuper(
+ PAnnotatedEClass pAnnotatedEClass, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "EntityOrEmbeddableOrMappedSuper", getObjectLabel(pAnnotatedEClass, context) },
+ new Object[] { pAnnotatedEClass },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Validates the OverriddenAreDefined constraint of '<em>PAnnotated EClass</em>'.
+ * <!-- begin-user-doc --> EJB3-SPEC 9.1.10
+ * <p>
+ * Check that each overridden property is defined in a mapped superclass.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedEClass_OverriddenAreDefined(
+ PAnnotatedEClass pAnnotatedEClass, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "OverriddenAreDefined", getObjectLabel(pAnnotatedEClass, context) },
+ new Object[] { pAnnotatedEClass },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Validates the ProperInheritance constraint of '<em>PAnnotated EClass</em>'.
+ * <!-- begin-user-doc --> EJB3-SPEC 9.1.27 <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedEClass_ProperInheritance(
+ PAnnotatedEClass pAnnotatedEClass, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "ProperInheritance", getObjectLabel(pAnnotatedEClass, context) },
+ new Object[] { pAnnotatedEClass },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Validates the ProperDiscriminator constraint of '<em>PAnnotated EClass</em>'.
+ * <!-- begin-user-doc --> EJB3-SPEC 9.1.28
+ * EJB3-SPEC 9.1.29 <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedEClass_ProperDiscriminator(
+ PAnnotatedEClass pAnnotatedEClass, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "ProperDiscriminator", getObjectLabel(pAnnotatedEClass, context) },
+ new Object[] { pAnnotatedEClass },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Validates the SingleTableForSingleStrategy constraint of '
+ * <em>PAnnotated EClass</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ public boolean validatePAnnotatedEClass_SingleTableForSingleStrategy(
+ PAnnotatedEClass pAnnotatedEClass, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "SingleTableForSingleStrategy", getObjectLabel(pAnnotatedEClass, context) },
+ new Object[] { pAnnotatedEClass },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Validates the ProperPKJoin constraint of '<em>PAnnotated EClass</em>'.
+ * <!-- begin-user-doc --> EJB3-SPEC 9.1.30 <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedEClass_ProperPKJoin(
+ PAnnotatedEClass pAnnotatedEClass, DiagnosticChain diagnostics,
+ Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "ProperPKJoin", getObjectLabel(pAnnotatedEClass, context) },
+ new Object[] { pAnnotatedEClass },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedEStructuralFeature(
+ PAnnotatedEStructuralFeature pAnnotatedEStructuralFeature,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(pAnnotatedEStructuralFeature, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(pAnnotatedEStructuralFeature, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(pAnnotatedEStructuralFeature, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(pAnnotatedEStructuralFeature, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(pAnnotatedEStructuralFeature, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(pAnnotatedEStructuralFeature, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(pAnnotatedEStructuralFeature, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(pAnnotatedEStructuralFeature, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(pAnnotatedEStructuralFeature, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEModelElement_PAnnotationElementCommutes(pAnnotatedEStructuralFeature, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEStructuralFeature_EClassCommutes(pAnnotatedEStructuralFeature, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEStructuralFeature_TransientNotAnnotated(pAnnotatedEStructuralFeature, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the EClassCommutes constraint of '
+ * <em>PAnnotated EStructural Feature</em>'. Verifies that the containing
+ * (if specified) PAnnotatedEClass corresponds to the containing EClass of
+ * the referenced EStructuralFeature (if specified).
+ *
+ * @generated
+ */
+ public boolean validatePAnnotatedEStructuralFeature_EClassCommutes(
+ PAnnotatedEStructuralFeature pAnnotatedEStructuralFeature,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO override the constraint, if desired
+ // -> uncomment the scaffolding
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "EClassCommutes", getObjectLabel(pAnnotatedEStructuralFeature, context) },
+ new Object[] { pAnnotatedEStructuralFeature },
+ context));
+ }
+ return false;
+ }
+ return validatePAnnotatedETypedElement_EClassCommutes(pAnnotatedEStructuralFeature, diagnostics, context);
+ }
+
+ /**
+ * Validates the TransientNotAnnotated constraint of '<em>PAnnotated EStructural Feature</em>'.
+ * <!-- begin-user-doc -->
+ * EJB3-SPEC 2.1.1 <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedEStructuralFeature_TransientNotAnnotated(
+ PAnnotatedEStructuralFeature pAnnotatedEStructuralFeature,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO override the constraint, if desired
+ // -> uncomment the scaffolding
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "TransientNotAnnotated", getObjectLabel(pAnnotatedEStructuralFeature, context) },
+ new Object[] { pAnnotatedEStructuralFeature },
+ context));
+ }
+ return false;
+ }
+ return validatePAnnotatedETypedElement_TransientNotAnnotated(pAnnotatedEStructuralFeature, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedEAttribute(
+ PAnnotatedEAttribute pAnnotatedEAttribute,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(pAnnotatedEAttribute, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(pAnnotatedEAttribute, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(pAnnotatedEAttribute, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(pAnnotatedEAttribute, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(pAnnotatedEAttribute, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(pAnnotatedEAttribute, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(pAnnotatedEAttribute, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(pAnnotatedEAttribute, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(pAnnotatedEAttribute, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEModelElement_PAnnotationElementCommutes(pAnnotatedEAttribute, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEStructuralFeature_EClassCommutes(pAnnotatedEAttribute, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEStructuralFeature_TransientNotAnnotated(pAnnotatedEAttribute, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEAttribute_NotAnnotatedAsBasic(pAnnotatedEAttribute, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEAttribute_GeneratedOnId(pAnnotatedEAttribute, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEAttribute_DefinedGenerator(pAnnotatedEAttribute, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEAttribute_IdOnEntityOrMappedSuper(pAnnotatedEAttribute, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the NotAnnotatedAsBasic constraint of '<em>PAnnotated EAttribute</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedEAttribute_NotAnnotatedAsBasic(
+ PAnnotatedEAttribute pAnnotatedEAttribute,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "NotAnnotatedAsBasic", getObjectLabel(pAnnotatedEAttribute, context) },
+ new Object[] { pAnnotatedEAttribute },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Validates the GeneratedOnId constraint of '<em>PAnnotated EAttribute</em>'.
+ * <!-- begin-user-doc --> EJB3-SPEC 9.1.9 <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedEAttribute_GeneratedOnId(
+ PAnnotatedEAttribute pAnnotatedEAttribute,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "GeneratedOnId", getObjectLabel(pAnnotatedEAttribute, context) },
+ new Object[] { pAnnotatedEAttribute },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Validates the DefinedGenerator constraint of '<em>PAnnotated EAttribute</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedEAttribute_DefinedGenerator(
+ PAnnotatedEAttribute pAnnotatedEAttribute,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "DefinedGenerator", getObjectLabel(pAnnotatedEAttribute, context) },
+ new Object[] { pAnnotatedEAttribute },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Validates the IdOnEntityOrMappedSuper constraint of '<em>PAnnotated EAttribute</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedEAttribute_IdOnEntityOrMappedSuper(
+ PAnnotatedEAttribute pAnnotatedEAttribute,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "IdOnEntityOrMappedSuper", getObjectLabel(pAnnotatedEAttribute, context) },
+ new Object[] { pAnnotatedEAttribute },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedEDataType(
+ PAnnotatedEDataType pAnnotatedEDataType,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(pAnnotatedEDataType, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(pAnnotatedEDataType, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(pAnnotatedEDataType, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(pAnnotatedEDataType, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(pAnnotatedEDataType, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(pAnnotatedEDataType, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(pAnnotatedEDataType, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(pAnnotatedEDataType, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(pAnnotatedEDataType, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEModelElement_PAnnotationElementCommutes(pAnnotatedEDataType, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEDataType_NotAnnotatedAsBasic(pAnnotatedEDataType, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEDataType_GeneratedOnId(pAnnotatedEDataType, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEDataType_DefinedGenerator(pAnnotatedEDataType, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEDataType_IdOnEntityOrMappedSuper(pAnnotatedEDataType, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the NotAnnotatedAsBasic constraint of '<em>PAnnotated EData Type</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedEDataType_NotAnnotatedAsBasic(
+ PAnnotatedEDataType pAnnotatedEDataType,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "NotAnnotatedAsBasic", getObjectLabel(pAnnotatedEDataType, context) },
+ new Object[] { pAnnotatedEDataType },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Validates the GeneratedOnId constraint of '<em>PAnnotated EData Type</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedEDataType_GeneratedOnId(
+ PAnnotatedEDataType pAnnotatedEDataType,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "GeneratedOnId", getObjectLabel(pAnnotatedEDataType, context) },
+ new Object[] { pAnnotatedEDataType },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Validates the DefinedGenerator constraint of '<em>PAnnotated EData Type</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedEDataType_DefinedGenerator(
+ PAnnotatedEDataType pAnnotatedEDataType,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "DefinedGenerator", getObjectLabel(pAnnotatedEDataType, context) },
+ new Object[] { pAnnotatedEDataType },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Validates the IdOnEntityOrMappedSuper constraint of '<em>PAnnotated EData Type</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedEDataType_IdOnEntityOrMappedSuper(
+ PAnnotatedEDataType pAnnotatedEDataType,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "IdOnEntityOrMappedSuper", getObjectLabel(pAnnotatedEDataType, context) },
+ new Object[] { pAnnotatedEDataType },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Returns the resource locator that will be used to fetch messages for this validator's diagnostics.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ // TODO
+ // Specialize this to return a resource locator for messages specific to this validator.
+ // Ensure that you remove @generated or mark it @generated NOT
+ return super.getResourceLocator();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedEReference(
+ PAnnotatedEReference pAnnotatedEReference,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(pAnnotatedEReference, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(pAnnotatedEReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(pAnnotatedEReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(pAnnotatedEReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(pAnnotatedEReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(pAnnotatedEReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(pAnnotatedEReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(pAnnotatedEReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(pAnnotatedEReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEModelElement_PAnnotationElementCommutes(pAnnotatedEReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEStructuralFeature_EClassCommutes(pAnnotatedEReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEStructuralFeature_TransientNotAnnotated(pAnnotatedEReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEReference_NotAnnotatedAsEmbed(pAnnotatedEReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEReference_AssociationAgreeWithReference(pAnnotatedEReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEReference_AssociationWellFormed(pAnnotatedEReference, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the NotAnnotatedAsEmbed constraint of '<em>PAnnotated EReference</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedEReference_NotAnnotatedAsEmbed(
+ PAnnotatedEReference pAnnotatedEReference,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "NotAnnotatedAsEmbed", getObjectLabel(pAnnotatedEReference, context) },
+ new Object[] { pAnnotatedEReference },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Validates the AssociationAgreeWithReference constraint of '<em>PAnnotated EReference</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedEReference_AssociationAgreeWithReference(
+ PAnnotatedEReference pAnnotatedEReference,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "AssociationAgreeWithReference", getObjectLabel(pAnnotatedEReference, context) },
+ new Object[] { pAnnotatedEReference },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Validates the AssociationWellFormed constraint of '<em>PAnnotated EReference</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedEReference_AssociationWellFormed(
+ PAnnotatedEReference pAnnotatedEReference,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "AssociationWellFormed", getObjectLabel(pAnnotatedEReference, context) },
+ new Object[] { pAnnotatedEReference },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedETypedElement(
+ PAnnotatedETypedElement pAnnotatedETypedElement,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(pAnnotatedETypedElement, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(pAnnotatedETypedElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(pAnnotatedETypedElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(pAnnotatedETypedElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(pAnnotatedETypedElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(pAnnotatedETypedElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(pAnnotatedETypedElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(pAnnotatedETypedElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(pAnnotatedETypedElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedEModelElement_PAnnotationElementCommutes(pAnnotatedETypedElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedETypedElement_EClassCommutes(pAnnotatedETypedElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotatedETypedElement_TransientNotAnnotated(pAnnotatedETypedElement, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the EClassCommutes constraint of '<em>PAnnotated ETyped Element</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedETypedElement_EClassCommutes(
+ PAnnotatedETypedElement pAnnotatedETypedElement,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "EClassCommutes", getObjectLabel(pAnnotatedETypedElement, context) },
+ new Object[] { pAnnotatedETypedElement },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Validates the TransientNotAnnotated constraint of '<em>PAnnotated ETyped Element</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotatedETypedElement_TransientNotAnnotated(
+ PAnnotatedETypedElement pAnnotatedETypedElement,
+ DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "TransientNotAnnotated", getObjectLabel(pAnnotatedETypedElement, context) },
+ new Object[] { pAnnotatedETypedElement },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+} // PamodelValidator
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEAttributeValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEAttributeValidator.java
new file mode 100755
index 000000000..7d2d5da1f
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEAttributeValidator.java
@@ -0,0 +1,37 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedEAttributeValidator.java,v 1.3 2009/12/13 10:14:13 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel.validation;
+
+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;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface PAnnotatedEAttributeValidator {
+ boolean validate();
+
+ boolean validateModelEAttribute(EAttribute value);
+
+ boolean validateAnnotatedEAttribute(EAttribute value);
+ boolean validateBasic(Basic value);
+ boolean validateEnumerated(Enumerated value);
+ boolean validateGeneratedValue(GeneratedValue value);
+ boolean validateId(Id value);
+ boolean validateLob(Lob value);
+ boolean validateTemporal(Temporal value);
+ boolean validateVersion(Version value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEClassValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEClassValidator.java
new file mode 100755
index 000000000..2faa9ab81
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEClassValidator.java
@@ -0,0 +1,60 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedEClassValidator.java,v 1.5 2009/12/13 10:14:11 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel.validation;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature;
+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.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.Table;
+import org.eclipse.emf.teneo.annotations.pannotation.TableGenerator;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface PAnnotatedEClassValidator {
+ boolean validate();
+
+ boolean validatePaEPackage(PAnnotatedEPackage value);
+ boolean validateModelEClass(EClass value);
+
+ boolean validateAnnotatedEClass(EClass value);
+ boolean validatePaEStructuralFeatures(EList<PAnnotatedEStructuralFeature> value);
+ boolean validateAttributeOverrides(EList<AttributeOverride> value);
+ boolean validateDiscriminatorColumn(DiscriminatorColumn value);
+ boolean validateDiscriminatorValue(DiscriminatorValue value);
+ boolean validateEmbeddable(Embeddable value);
+ boolean validateMappedSuperclass(MappedSuperclass value);
+ boolean validateEntity(Entity value);
+ boolean validateIdClass(IdClass value);
+ boolean validateInheritance(Inheritance value);
+ boolean validatePrimaryKeyJoinColumns(EList<PrimaryKeyJoinColumn> value);
+ boolean validateSecondaryTables(EList<SecondaryTable> value);
+ boolean validateTable(Table value);
+ boolean validateTableGenerator(TableGenerator value);
+ boolean validateAssociationOverrides(EList<AssociationOverride> value);
+
+ boolean validateEavMapping(EAVMapping value);
+
+ boolean validateNoEAVMapping(NoEAVMapping value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEDataTypeValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEDataTypeValidator.java
new file mode 100755
index 000000000..28f91cdf9
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEDataTypeValidator.java
@@ -0,0 +1,42 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedEDataTypeValidator.java,v 1.4 2009/12/13 10:14:10 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel.validation;
+
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage;
+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;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface PAnnotatedEDataTypeValidator {
+ boolean validate();
+
+ boolean validateModelEDataType(EDataType value);
+
+ boolean validateAnnotatedEDataType(EDataType value);
+ boolean validateBasic(Basic value);
+ boolean validateEnumerated(Enumerated value);
+ boolean validateGeneratedValue(GeneratedValue value);
+ boolean validateId(Id value);
+ boolean validateLob(Lob value);
+ boolean validateTemporal(Temporal value);
+ boolean validateVersion(Version value);
+ boolean validatePaEPackage(PAnnotatedEPackage value);
+
+ boolean validateColumn(Column value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEModelElementValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEModelElementValidator.java
new file mode 100755
index 000000000..d2d515312
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEModelElementValidator.java
@@ -0,0 +1,25 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedEModelElementValidator.java,v 1.3 2009/12/13 10:14:12 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel.validation;
+
+import org.eclipse.emf.ecore.ENamedElement;
+import org.eclipse.emf.teneo.annotations.pannotation.Transient;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEModelElement}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface PAnnotatedEModelElementValidator {
+ boolean validate();
+
+ boolean validateModelElement(ENamedElement value);
+
+ boolean validateAnnotatedElement(ENamedElement value);
+ boolean validateTransient(Transient value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEPackageValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEPackageValidator.java
new file mode 100755
index 000000000..69381b7e4
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEPackageValidator.java
@@ -0,0 +1,37 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedEPackageValidator.java,v 1.4 2009/12/13 10:14:13 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel.validation;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedModel;
+import org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator;
+import org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator;
+import org.eclipse.emf.teneo.annotations.pannotation.TableGenerator;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface PAnnotatedEPackageValidator {
+ boolean validate();
+
+ boolean validatePaModel(PAnnotatedModel value);
+ boolean validateModelEPackage(EPackage value);
+
+ boolean validateAnnotatedEPackage(EPackage value);
+ boolean validatePaEClasses(EList<PAnnotatedEClass> value);
+ boolean validateSequenceGenerators(EList<SequenceGenerator> value);
+ boolean validateTableGenerators(EList<TableGenerator> value);
+ boolean validatePaEDataTypes(EList<PAnnotatedEDataType> value);
+
+ boolean validateSequenceStyleGenerators(EList<SequenceStyleGenerator> value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEReferenceValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEReferenceValidator.java
new file mode 100755
index 000000000..b983d99b9
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEReferenceValidator.java
@@ -0,0 +1,46 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedEReferenceValidator.java,v 1.4 2009/12/13 10:14:13 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel.validation;
+
+import org.eclipse.emf.common.util.EList;
+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;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface PAnnotatedEReferenceValidator {
+ boolean validate();
+
+ boolean validateModelEReference(EReference value);
+
+ boolean validateAnnotatedEReference(EReference value);
+ boolean validateEmbedded(Embedded value);
+ boolean validateEmbeddedId(EmbeddedId value);
+ boolean validateManyToMany(ManyToMany value);
+ boolean validateManyToOne(ManyToOne value);
+ boolean validateMapKey(MapKey value);
+ boolean validateOneToOne(OneToOne value);
+ boolean validateOrderBy(OrderBy value);
+ boolean validatePrimaryKeyJoinColumns(EList<PrimaryKeyJoinColumn> value);
+
+ boolean validateAssociationOverrides(EList<AssociationOverride> value);
+
+ boolean validateExternal(External value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEStructuralFeatureValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEStructuralFeatureValidator.java
new file mode 100755
index 000000000..6a64f63ee
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedEStructuralFeatureValidator.java
@@ -0,0 +1,32 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedEStructuralFeatureValidator.java,v 1.4 2009/12/13 10:14:12 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel.validation;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass;
+import org.eclipse.emf.teneo.annotations.pannotation.ForeignKey;
+import org.eclipse.emf.teneo.annotations.pannotation.ListIndexColumn;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature}. This
+ * doesn't really do anything, and it's not a real EMF artifact. It was generated by the
+ * org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. This can
+ * be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface PAnnotatedEStructuralFeatureValidator {
+ boolean validate();
+
+ boolean validatePaEClass(PAnnotatedEClass value);
+
+ boolean validateModelEStructuralFeature(EStructuralFeature value);
+
+ boolean validateAnnotatedEStructuralFeature(EStructuralFeature value);
+
+ boolean validateForeignKey(ForeignKey value);
+
+ boolean validateListIndexColumn(ListIndexColumn value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedETypedElementValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedETypedElementValidator.java
new file mode 100755
index 000000000..acb0fc17e
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedETypedElementValidator.java
@@ -0,0 +1,34 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedETypedElementValidator.java,v 1.2 2009/12/13 10:14:11 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel.validation;
+
+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;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedETypedElement}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface PAnnotatedETypedElementValidator {
+ boolean validate();
+
+ boolean validateAttributeOverrides(EList<AttributeOverride> value);
+ boolean validateJoinTable(JoinTable value);
+ boolean validateOneToMany(OneToMany value);
+ boolean validateSequenceGenerator(SequenceGenerator value);
+ boolean validateTableGenerators(EList<TableGenerator> value);
+ boolean validateJoinColumns(EList<JoinColumn> value);
+ boolean validateColumn(Column value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedModelValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedModelValidator.java
new file mode 100755
index 000000000..b6598154f
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pamodel/validation/PAnnotatedModelValidator.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotatedModelValidator.java,v 1.2 2009/12/13 10:14:11 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pamodel.validation;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEPackage;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedModel}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface PAnnotatedModelValidator {
+ boolean validate();
+
+ boolean validatePaEPackages(EList<PAnnotatedEPackage> value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/AssociationOverride.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/AssociationOverride.java
new file mode 100755
index 000000000..d4b1d7ccb
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/AssociationOverride.java
@@ -0,0 +1,69 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: AssociationOverride.java,v 1.8 2010/02/06 18:25:56 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Association Override</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.AssociationOverride#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.AssociationOverride#getJoinColumns <em>Join Columns</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getAssociationOverride()
+ * @model annotation="teneo/internal/Target 0='EClass'"
+ * @generated
+ */
+public interface AssociationOverride extends PAnnotation {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getAssociationOverride_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.AssociationOverride#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>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.pannotation.PannotationPackage#getAssociationOverride_JoinColumns()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ EList<JoinColumn> getJoinColumns();
+
+} // AssociationOverride
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/AttributeOverride.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/AttributeOverride.java
new file mode 100755
index 000000000..a2221aa28
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/AttributeOverride.java
@@ -0,0 +1,76 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: AttributeOverride.java,v 1.6 2007/07/04 19:28:01 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Attribute Override</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.AttributeOverride#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.AttributeOverride#getColumn <em>Column</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getAttributeOverride()
+ * @model annotation="teneo/internal/Target 0='EClass' 1='EStructuralFeature'"
+ * @generated
+ */
+public interface AttributeOverride extends PAnnotation {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getAttributeOverride_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.AttributeOverride#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>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.pannotation.PannotationPackage#getAttributeOverride_Column()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Column getColumn();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.AttributeOverride#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);
+
+} // AttributeOverride
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Basic.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Basic.java
new file mode 100755
index 000000000..58c702394
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Basic.java
@@ -0,0 +1,81 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Basic.java,v 1.5 2007/07/04 19:28:01 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Basic</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.Basic#getFetch <em>Fetch</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.Basic#isOptional <em>Optional</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getBasic()
+ * @model annotation="teneo/internal/Target 0='EAttribute'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore constraints='AllowedElementType'"
+ * @generated
+ */
+public interface Basic extends PAnnotation {
+ /**
+ * Returns the value of the '<em><b>Fetch</b></em>' attribute. The default value is <code>"EAGER"</code>.
+ * The literals are from the enumeration {@link org.eclipse.emf.teneo.annotations.pannotation.FetchType}. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Fetch</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Fetch</em>' attribute.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.FetchType
+ * @see #setFetch(FetchType)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getBasic_Fetch()
+ * @model default="EAGER"
+ * @generated
+ */
+ FetchType getFetch();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Basic#getFetch <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Fetch</em>' attribute.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.FetchType
+ * @see #getFetch()
+ * @generated
+ */
+ void setFetch(FetchType value);
+
+ /**
+ * Returns the value of the '<em><b>Optional</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Optional</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Optional</em>' attribute.
+ * @see #setOptional(boolean)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getBasic_Optional()
+ * @model default="true"
+ * @generated
+ */
+ boolean isOptional();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Basic#isOptional <em>Optional</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Optional</em>' attribute.
+ * @see #isOptional()
+ * @generated
+ */
+ void setOptional(boolean value);
+
+} // Basic
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/CascadeType.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/CascadeType.java
new file mode 100755
index 000000000..d2c2d2201
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/CascadeType.java
@@ -0,0 +1,320 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: CascadeType.java,v 1.8 2007/07/04 19:28:01 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Cascade Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getCascadeType()
+ * @model
+ * @generated
+ */
+public enum CascadeType implements Enumerator {
+ /**
+ * The '<em><b>ALL</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ALL_VALUE
+ * @generated
+ * @ordered
+ */
+ ALL(0, "ALL", "ALL"),
+
+ /**
+ * The '<em><b>PERSIST</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PERSIST_VALUE
+ * @generated
+ * @ordered
+ */
+ PERSIST(1, "PERSIST", "PERSIST"),
+
+ /**
+ * The '<em><b>MERGE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #MERGE_VALUE
+ * @generated
+ * @ordered
+ */
+ MERGE(2, "MERGE", "MERGE"),
+
+ /**
+ * The '<em><b>REMOVE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #REMOVE_VALUE
+ * @generated
+ * @ordered
+ */
+ REMOVE(3, "REMOVE", "REMOVE"),
+
+ /**
+ * The '<em><b>REFRESH</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #REFRESH_VALUE
+ * @generated
+ * @ordered
+ */
+ REFRESH(4, "REFRESH", "REFRESH"),
+
+ /**
+ * The '<em><b>NONE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #NONE_VALUE
+ * @generated
+ * @ordered
+ */
+ NONE(5, "NONE", "NONE");
+
+ /**
+ * The '<em><b>ALL</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>ALL</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ALL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int ALL_VALUE = 0;
+
+ /**
+ * The '<em><b>PERSIST</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>PERSIST</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PERSIST
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int PERSIST_VALUE = 1;
+
+ /**
+ * The '<em><b>MERGE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>MERGE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #MERGE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int MERGE_VALUE = 2;
+
+ /**
+ * The '<em><b>REMOVE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>REMOVE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #REMOVE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int REMOVE_VALUE = 3;
+
+ /**
+ * The '<em><b>REFRESH</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>REFRESH</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #REFRESH
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int REFRESH_VALUE = 4;
+
+ /**
+ * The '<em><b>NONE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>NONE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #NONE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int NONE_VALUE = 5;
+
+ /**
+ * An array of all the '<em><b>Cascade Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final CascadeType[] VALUES_ARRAY =
+ new CascadeType[] {
+ ALL,
+ PERSIST,
+ MERGE,
+ REMOVE,
+ REFRESH,
+ NONE,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Cascade Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<CascadeType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Cascade Type</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static CascadeType get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ CascadeType result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Cascade Type</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static CascadeType getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ CascadeType result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Cascade Type</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static CascadeType get(int value) {
+ switch (value) {
+ case ALL_VALUE: return ALL;
+ case PERSIST_VALUE: return PERSIST;
+ case MERGE_VALUE: return MERGE;
+ case REMOVE_VALUE: return REMOVE;
+ case REFRESH_VALUE: return REFRESH;
+ case NONE_VALUE: return NONE;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private CascadeType(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //CascadeType
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Column.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Column.java
new file mode 100755
index 000000000..e7c33acfe
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Column.java
@@ -0,0 +1,447 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Column.java,v 1.8 2009/09/13 14:45:54 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Column</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.Column#isUnique <em>Unique</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.Column#isNullable <em>Nullable</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.Column#isInsertable <em>Insertable</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.Column#isUpdatable <em>Updatable</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getColumnDefinition <em>Column Definition</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getTable <em>Table</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getLength <em>Length</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getPrecision <em>Precision</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getScale <em>Scale</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getUniqueKey <em>Unique Key</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getIndex <em>Index</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getColumn()
+ * @model annotation="teneo/internal/Target 0='EStructuralFeature'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore constraints='ScalePrecisionForNumeric LengthForString'"
+ * @generated
+ */
+public interface Column extends PAnnotation {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getColumn_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Length</b></em>' attribute.
+ * The default value is <code>"255"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Length</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Length</em>' attribute.
+ * @see #isSetLength()
+ * @see #unsetLength()
+ * @see #setLength(int)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getColumn_Length()
+ * @model default="255" unsettable="true"
+ * @generated
+ */
+ int getLength();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getLength <em>Length</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Length</em>' attribute.
+ * @see #isSetLength()
+ * @see #unsetLength()
+ * @see #getLength()
+ * @generated
+ */
+ void setLength(int value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getLength <em>Length</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #isSetLength()
+ * @see #getLength()
+ * @see #setLength(int)
+ * @generated
+ */
+ void unsetLength();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getLength <em>Length</em>}' attribute is set.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return whether the value of the '<em>Length</em>' attribute is set.
+ * @see #unsetLength()
+ * @see #getLength()
+ * @see #setLength(int)
+ * @generated
+ */
+ boolean isSetLength();
+
+ /**
+ * Returns the value of the '<em><b>Scale</b></em>' attribute. The default value is <code>"0"</code>. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Scale</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Scale</em>' attribute.
+ * @see #isSetScale()
+ * @see #unsetScale()
+ * @see #setScale(int)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getColumn_Scale()
+ * @model default="0" unsettable="true"
+ * @generated
+ */
+ int getScale();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getScale <em>Scale</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Scale</em>' attribute.
+ * @see #isSetScale()
+ * @see #unsetScale()
+ * @see #getScale()
+ * @generated
+ */
+ void setScale(int value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getScale <em>Scale</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #isSetScale()
+ * @see #getScale()
+ * @see #setScale(int)
+ * @generated
+ */
+ void unsetScale();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getScale <em>Scale</em>}' attribute is set.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return whether the value of the '<em>Scale</em>' attribute is set.
+ * @see #unsetScale()
+ * @see #getScale()
+ * @see #setScale(int)
+ * @generated
+ */
+ boolean isSetScale();
+
+ /**
+ * Returns the value of the '<em><b>Unique Key</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Unique Key</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Unique Key</em>' attribute.
+ * @see #setUniqueKey(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getColumn_UniqueKey()
+ * @model
+ * @generated
+ */
+ String getUniqueKey();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getUniqueKey <em>Unique Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Unique Key</em>' attribute.
+ * @see #getUniqueKey()
+ * @generated
+ */
+ void setUniqueKey(String value);
+
+ /**
+ * Returns the value of the '<em><b>Index</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Index</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Index</em>' attribute.
+ * @see #setIndex(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getColumn_Index()
+ * @model
+ * @generated
+ */
+ String getIndex();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getIndex <em>Index</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Index</em>' attribute.
+ * @see #getIndex()
+ * @generated
+ */
+ void setIndex(String value);
+
+ /**
+ * Returns the value of the '<em><b>Unique</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Unique</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Unique</em>' attribute.
+ * @see #setUnique(boolean)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getColumn_Unique()
+ * @model default="false"
+ * @generated
+ */
+ boolean isUnique();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#isUnique <em>Unique</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Unique</em>' attribute.
+ * @see #isUnique()
+ * @generated
+ */
+ void setUnique(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Precision</b></em>' attribute.
+ * The default value is <code>"0"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Precision</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Precision</em>' attribute.
+ * @see #isSetPrecision()
+ * @see #unsetPrecision()
+ * @see #setPrecision(int)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getColumn_Precision()
+ * @model default="0" unsettable="true"
+ * @generated
+ */
+ int getPrecision();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getPrecision <em>Precision</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Precision</em>' attribute.
+ * @see #isSetPrecision()
+ * @see #unsetPrecision()
+ * @see #getPrecision()
+ * @generated
+ */
+ void setPrecision(int value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getPrecision <em>Precision</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #isSetPrecision()
+ * @see #getPrecision()
+ * @see #setPrecision(int)
+ * @generated
+ */
+ void unsetPrecision();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getPrecision <em>Precision</em>}' attribute is set.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return whether the value of the '<em>Precision</em>' attribute is set.
+ * @see #unsetPrecision()
+ * @see #getPrecision()
+ * @see #setPrecision(int)
+ * @generated
+ */
+ boolean isSetPrecision();
+
+ /**
+ * Returns the value of the '<em><b>Nullable</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Nullable</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Nullable</em>' attribute.
+ * @see #isSetNullable()
+ * @see #unsetNullable()
+ * @see #setNullable(boolean)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getColumn_Nullable()
+ * @model default="true" unsettable="true"
+ * @generated
+ */
+ boolean isNullable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#isNullable <em>Nullable</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Nullable</em>' attribute.
+ * @see #isSetNullable()
+ * @see #unsetNullable()
+ * @see #isNullable()
+ * @generated
+ */
+ void setNullable(boolean value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#isNullable <em>Nullable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetNullable()
+ * @see #isNullable()
+ * @see #setNullable(boolean)
+ * @generated
+ */
+ void unsetNullable();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#isNullable <em>Nullable</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Nullable</em>' attribute is set.
+ * @see #unsetNullable()
+ * @see #isNullable()
+ * @see #setNullable(boolean)
+ * @generated
+ */
+ boolean isSetNullable();
+
+ /**
+ * Returns the value of the '<em><b>Insertable</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Insertable</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Insertable</em>' attribute.
+ * @see #setInsertable(boolean)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getColumn_Insertable()
+ * @model default="true"
+ * @generated
+ */
+ boolean isInsertable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#isInsertable <em>Insertable</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Insertable</em>' attribute.
+ * @see #isInsertable()
+ * @generated
+ */
+ void setInsertable(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Updatable</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Updatable</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Updatable</em>' attribute.
+ * @see #setUpdatable(boolean)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getColumn_Updatable()
+ * @model default="true"
+ * @generated
+ */
+ boolean isUpdatable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#isUpdatable <em>Updatable</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Updatable</em>' attribute.
+ * @see #isUpdatable()
+ * @generated
+ */
+ void setUpdatable(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Column Definition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Column Definition</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Column Definition</em>' attribute.
+ * @see #setColumnDefinition(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getColumn_ColumnDefinition()
+ * @model
+ * @generated
+ */
+ String getColumnDefinition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getColumnDefinition <em>Column Definition</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Column Definition</em>' attribute.
+ * @see #getColumnDefinition()
+ * @generated
+ */
+ void setColumnDefinition(String value);
+
+ /**
+ * Returns the value of the '<em><b>Table</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Table</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Table</em>' attribute.
+ * @see #setTable(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getColumn_Table()
+ * @model
+ * @generated
+ */
+ String getTable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getTable <em>Table</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Table</em>' attribute.
+ * @see #getTable()
+ * @generated
+ */
+ void setTable(String value);
+
+} // Column
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/DiscriminatorColumn.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/DiscriminatorColumn.java
new file mode 100755
index 000000000..1c65559b1
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/DiscriminatorColumn.java
@@ -0,0 +1,186 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: DiscriminatorColumn.java,v 1.6 2009/09/13 14:45:54 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Discriminator Column</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn#getDiscriminatorType <em>Discriminator Type</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn#getColumnDefinition <em>Column Definition</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn#getLength <em>Length</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn#getColumn <em>Column</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getDiscriminatorColumn()
+ * @model annotation="teneo/internal/Target 0='EClass'"
+ * @generated
+ */
+public interface DiscriminatorColumn extends PAnnotation {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * The default value is <code>"DTYPE"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getDiscriminatorColumn_Name()
+ * @model default="DTYPE"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Discriminator Type</b></em>' attribute.
+ * The default value is <code>"STRING"</code>.
+ * The literals are from the enumeration {@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Discriminator Type</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Discriminator Type</em>' attribute.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorType
+ * @see #setDiscriminatorType(DiscriminatorType)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getDiscriminatorColumn_DiscriminatorType()
+ * @model default="STRING"
+ * @generated
+ */
+ DiscriminatorType getDiscriminatorType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn#getDiscriminatorType <em>Discriminator Type</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Discriminator Type</em>' attribute.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorType
+ * @see #getDiscriminatorType()
+ * @generated
+ */
+ void setDiscriminatorType(DiscriminatorType value);
+
+ /**
+ * Returns the value of the '<em><b>Length</b></em>' attribute. The default value is <code>"31"</code>. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Length</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Length</em>' attribute.
+ * @see #isSetLength()
+ * @see #unsetLength()
+ * @see #setLength(int)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getDiscriminatorColumn_Length()
+ * @model default="31" unsettable="true"
+ * @generated
+ */
+ int getLength();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn#getLength <em>Length</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Length</em>' attribute.
+ * @see #isSetLength()
+ * @see #unsetLength()
+ * @see #getLength()
+ * @generated
+ */
+ void setLength(int value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn#getLength <em>Length</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #isSetLength()
+ * @see #getLength()
+ * @see #setLength(int)
+ * @generated
+ */
+ void unsetLength();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn#getLength <em>Length</em>}' attribute is set.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return whether the value of the '<em>Length</em>' attribute is set.
+ * @see #unsetLength()
+ * @see #getLength()
+ * @see #setLength(int)
+ * @generated
+ */
+ boolean isSetLength();
+
+ /**
+ * 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.pannotation.PannotationPackage#getDiscriminatorColumn_Column()
+ * @model containment="true"
+ * @generated
+ */
+ Column getColumn();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn#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);
+
+ /**
+ * Returns the value of the '<em><b>Column Definition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Column Definition</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Column Definition</em>' attribute.
+ * @see #setColumnDefinition(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getDiscriminatorColumn_ColumnDefinition()
+ * @model
+ * @generated
+ */
+ String getColumnDefinition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn#getColumnDefinition <em>Column Definition</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Column Definition</em>' attribute.
+ * @see #getColumnDefinition()
+ * @generated
+ */
+ void setColumnDefinition(String value);
+
+} // DiscriminatorColumn
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/DiscriminatorType.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/DiscriminatorType.java
new file mode 100755
index 000000000..727610ff3
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/DiscriminatorType.java
@@ -0,0 +1,239 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: DiscriminatorType.java,v 1.7 2007/07/04 19:28:00 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Discriminator Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getDiscriminatorType()
+ * @model
+ * @generated
+ */
+public enum DiscriminatorType implements Enumerator {
+ /**
+ * The '<em><b>STRING</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #STRING_VALUE
+ * @generated
+ * @ordered
+ */
+ STRING(0, "STRING", "STRING"),
+
+ /**
+ * The '<em><b>CHAR</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #CHAR_VALUE
+ * @generated
+ * @ordered
+ */
+ CHAR(1, "CHAR", "CHAR"),
+
+ /**
+ * The '<em><b>INTEGER</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #INTEGER_VALUE
+ * @generated
+ * @ordered
+ */
+ INTEGER(2, "INTEGER", "INTEGER");
+
+ /**
+ * The '<em><b>STRING</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>STRING</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #STRING
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int STRING_VALUE = 0;
+
+ /**
+ * The '<em><b>CHAR</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>CHAR</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #CHAR
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int CHAR_VALUE = 1;
+
+ /**
+ * The '<em><b>INTEGER</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>INTEGER</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #INTEGER
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int INTEGER_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>Discriminator Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final DiscriminatorType[] VALUES_ARRAY =
+ new DiscriminatorType[] {
+ STRING,
+ CHAR,
+ INTEGER,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Discriminator Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<DiscriminatorType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Discriminator Type</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static DiscriminatorType get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ DiscriminatorType result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Discriminator Type</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static DiscriminatorType getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ DiscriminatorType result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Discriminator Type</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static DiscriminatorType get(int value) {
+ switch (value) {
+ case STRING_VALUE: return STRING;
+ case CHAR_VALUE: return CHAR;
+ case INTEGER_VALUE: return INTEGER;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private DiscriminatorType(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //DiscriminatorType
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/DiscriminatorValue.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/DiscriminatorValue.java
new file mode 100755
index 000000000..3d5195d6f
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/DiscriminatorValue.java
@@ -0,0 +1,51 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: DiscriminatorValue.java,v 1.6 2010/02/06 18:25:56 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Discriminator Value</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorValue#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getDiscriminatorValue()
+ * @model annotation="teneo/internal/Target 0='EClass'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore constraints='NoAbstract'"
+ * @generated
+ */
+public interface DiscriminatorValue extends PAnnotation {
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getDiscriminatorValue_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorValue#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // DiscriminatorValue
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/EAVMapping.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/EAVMapping.java
new file mode 100644
index 000000000..efeb2a184
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/EAVMapping.java
@@ -0,0 +1,21 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: EAVMapping.java,v 1.1 2009/08/21 10:16:53 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EAV Mapping</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getEAVMapping()
+ * @model annotation="teneo/internal/Target 0='EClass'"
+ * @generated
+ */
+public interface EAVMapping extends PAnnotation {
+} // EAVMapping
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Embeddable.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Embeddable.java
new file mode 100755
index 000000000..18e2a7492
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Embeddable.java
@@ -0,0 +1,21 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Embeddable.java,v 1.6 2007/07/04 19:28:01 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Embeddable</b></em>'. <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getEmbeddable()
+ * @model annotation="teneo/internal/Target 0='EClass'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore constraints='NoInterface'"
+ * annotation="teneo/PeristenceMapping ignore='true'"
+ * @generated
+ */
+public interface Embeddable extends PAnnotation {
+
+} // Embeddable
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Embedded.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Embedded.java
new file mode 100755
index 000000000..c4a69248a
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Embedded.java
@@ -0,0 +1,20 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Embedded.java,v 1.5 2007/07/04 19:28:01 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Embedded</b></em>'. <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getEmbedded()
+ * @model annotation="teneo/internal/Target 0='EReference'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore constraints='EmbedByValue'"
+ * @generated
+ */
+public interface Embedded extends PAnnotation {
+
+} // Embedded
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/EmbeddedId.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/EmbeddedId.java
new file mode 100755
index 000000000..c9621f77d
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/EmbeddedId.java
@@ -0,0 +1,21 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: EmbeddedId.java,v 1.4 2007/07/04 19:28:01 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Embedded Id</b></em>'. <!-- end-user-doc
+ * -->
+ *
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getEmbeddedId()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EReference'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore constraints='EmbedByValue'"
+ * @generated
+ */
+public interface EmbeddedId extends PAnnotation{
+
+} // EmbeddedId
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Entity.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Entity.java
new file mode 100755
index 000000000..ebd467438
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Entity.java
@@ -0,0 +1,77 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Entity.java,v 1.7 2008/03/12 07:30:06 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Entity</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.Entity#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.Entity#getExtends <em>Extends</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getEntity()
+ * @model annotation="teneo/internal/Target 0='EClass'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore constraints='NoInterface NoReservedName'"
+ * @generated
+ */
+public interface Entity extends PAnnotation {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getEntity_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Entity#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Extends</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Extends</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Extends</em>' attribute.
+ * @see #setExtends(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getEntity_Extends()
+ * @model
+ * @generated
+ */
+ String getExtends();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Entity#getExtends <em>Extends</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Extends</em>' attribute.
+ * @see #getExtends()
+ * @generated
+ */
+ void setExtends(String value);
+
+} // Entity
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/EnumType.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/EnumType.java
new file mode 100755
index 000000000..91c7d8dc6
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/EnumType.java
@@ -0,0 +1,212 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: EnumType.java,v 1.7 2007/07/04 19:28:01 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Enum Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getEnumType()
+ * @model
+ * @generated
+ */
+public enum EnumType implements Enumerator {
+ /**
+ * The '<em><b>ORDINAL</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ORDINAL_VALUE
+ * @generated
+ * @ordered
+ */
+ ORDINAL(0, "ORDINAL", "ORDINAL"),
+
+ /**
+ * The '<em><b>STRING</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #STRING_VALUE
+ * @generated
+ * @ordered
+ */
+ STRING(1, "STRING", "STRING");
+
+ /**
+ * The '<em><b>ORDINAL</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>ORDINAL</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ORDINAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int ORDINAL_VALUE = 0;
+
+ /**
+ * The '<em><b>STRING</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>STRING</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #STRING
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int STRING_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>Enum Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final EnumType[] VALUES_ARRAY =
+ new EnumType[] {
+ ORDINAL,
+ STRING,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Enum Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<EnumType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Enum Type</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static EnumType get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ EnumType result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Enum Type</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static EnumType getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ EnumType result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Enum Type</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static EnumType get(int value) {
+ switch (value) {
+ case ORDINAL_VALUE: return ORDINAL;
+ case STRING_VALUE: return STRING;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EnumType(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //EnumType
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Enumerated.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Enumerated.java
new file mode 100755
index 000000000..16d56717b
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Enumerated.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Enumerated.java,v 1.6 2010/02/06 18:25:56 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Enumerated</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.Enumerated#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getEnumerated()
+ * @model annotation="teneo/internal/Target 0='EStructuralFeature'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore constraints='AllowedElementType'"
+ * @generated
+ */
+public interface Enumerated extends PAnnotation {
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute. The default value is <code>"ORDINAL"</code>.
+ * The literals are from the enumeration {@link org.eclipse.emf.teneo.annotations.pannotation.EnumType}. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.EnumType
+ * @see #setValue(EnumType)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getEnumerated_Value()
+ * @model default="ORDINAL"
+ * @generated
+ */
+ EnumType getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Enumerated#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.EnumType
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(EnumType value);
+
+} // Enumerated
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/External.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/External.java
new file mode 100755
index 000000000..df6eda7a1
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/External.java
@@ -0,0 +1,53 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: External.java,v 1.1 2008/12/16 20:40:19 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>External</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.External#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getExternal()
+ * @model annotation="teneo/internal/Target 0='EReference'"
+ * @generated
+ */
+public interface External extends PAnnotation {
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' attribute.
+ * @see #setType(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getExternal_Type()
+ * @model
+ * @generated
+ */
+ String getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.External#getType <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' attribute.
+ * @see #getType()
+ * @generated
+ */
+ void setType(String value);
+
+} // External
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/FetchType.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/FetchType.java
new file mode 100755
index 000000000..580352730
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/FetchType.java
@@ -0,0 +1,237 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: FetchType.java,v 1.8 2007/07/09 12:55:32 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Fetch Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getFetchType()
+ * @model
+ * @generated
+ */
+public enum FetchType implements Enumerator {
+ /**
+ * The '<em><b>LAZY</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #LAZY_VALUE
+ * @generated
+ * @ordered
+ */
+ LAZY(0, "LAZY", "LAZY"),
+
+ /**
+ * The '<em><b>EAGER</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #EAGER_VALUE
+ * @generated
+ * @ordered
+ */
+ EAGER(1, "EAGER", "EAGER"), /**
+ * The '<em><b>EXTRA</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #EXTRA_VALUE
+ * @generated
+ * @ordered
+ */
+ EXTRA(2, "EXTRA", "EXTRA");
+
+ /**
+ * The '<em><b>LAZY</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>LAZY</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #LAZY
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int LAZY_VALUE = 0;
+
+ /**
+ * The '<em><b>EAGER</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>EAGER</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #EAGER
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int EAGER_VALUE = 1;
+
+ /**
+ * The '<em><b>EXTRA</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>EXTRA</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #EXTRA
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int EXTRA_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>Fetch Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final FetchType[] VALUES_ARRAY =
+ new FetchType[] {
+ LAZY,
+ EAGER,
+ EXTRA,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Fetch Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<FetchType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Fetch Type</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static FetchType get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ FetchType result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Fetch Type</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static FetchType getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ FetchType result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Fetch Type</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static FetchType get(int value) {
+ switch (value) {
+ case LAZY_VALUE: return LAZY;
+ case EAGER_VALUE: return EAGER;
+ case EXTRA_VALUE: return EXTRA;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private FetchType(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //FetchType
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/ForeignKey.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/ForeignKey.java
new file mode 100755
index 000000000..e61d1f1e9
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/ForeignKey.java
@@ -0,0 +1,53 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ForeignKey.java,v 1.1 2007/07/11 17:15:10 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Foreign Key</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.ForeignKey#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getForeignKey()
+ * @model annotation="teneo/internal/Target 0='EStructuralFeature'"
+ * @generated
+ */
+public interface ForeignKey extends PAnnotation {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getForeignKey_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.ForeignKey#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+} // ForeignKey
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/GeneratedValue.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/GeneratedValue.java
new file mode 100755
index 000000000..05bc92a79
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/GeneratedValue.java
@@ -0,0 +1,80 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: GeneratedValue.java,v 1.6 2010/02/06 18:25:56 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Generated Value</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.GeneratedValue#getStrategy <em>Strategy</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.GeneratedValue#getGenerator <em>Generator</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getGeneratedValue()
+ * @model annotation="teneo/internal/Target 0='EAttribute'"
+ * @generated
+ */
+public interface GeneratedValue extends PAnnotation {
+ /**
+ * Returns the value of the '<em><b>Strategy</b></em>' attribute. The default value is <code>"AUTO"</code>.
+ * The literals are from the enumeration {@link org.eclipse.emf.teneo.annotations.pannotation.GenerationType}. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Strategy</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Strategy</em>' attribute.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.GenerationType
+ * @see #setStrategy(GenerationType)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getGeneratedValue_Strategy()
+ * @model default="AUTO"
+ * @generated
+ */
+ GenerationType getStrategy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.GeneratedValue#getStrategy <em>Strategy</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Strategy</em>' attribute.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.GenerationType
+ * @see #getStrategy()
+ * @generated
+ */
+ void setStrategy(GenerationType value);
+
+ /**
+ * Returns the value of the '<em><b>Generator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Generator</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Generator</em>' attribute.
+ * @see #setGenerator(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getGeneratedValue_Generator()
+ * @model
+ * @generated
+ */
+ String getGenerator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.GeneratedValue#getGenerator <em>Generator</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Generator</em>' attribute.
+ * @see #getGenerator()
+ * @generated
+ */
+ void setGenerator(String value);
+
+} // GeneratedValue
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/GenerationType.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/GenerationType.java
new file mode 100755
index 000000000..0490bbba9
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/GenerationType.java
@@ -0,0 +1,316 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: GenerationType.java,v 1.9 2009/06/11 04:59:36 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Generation Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getGenerationType()
+ * @model
+ * @generated
+ */
+public enum GenerationType implements Enumerator {
+ /**
+ * The '<em><b>TABLE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #TABLE_VALUE
+ * @generated
+ * @ordered
+ */
+ TABLE(0, "TABLE", "TABLE"),
+
+ /**
+ * The '<em><b>SEQUENCE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SEQUENCE_VALUE
+ * @generated
+ * @ordered
+ */
+ SEQUENCE(1, "SEQUENCE", "SEQUENCE"),
+
+ /**
+ * The '<em><b>IDENTITY</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #IDENTITY_VALUE
+ * @generated
+ * @ordered
+ */
+ IDENTITY(2, "IDENTITY", "IDENTITY"),
+
+ /**
+ * The '<em><b>AUTO</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #AUTO_VALUE
+ * @generated
+ * @ordered
+ */
+ AUTO(3, "AUTO", "AUTO"), /**
+ * The '<em><b>SEQUENCESTYLE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SEQUENCESTYLE_VALUE
+ * @generated
+ * @ordered
+ */
+ SEQUENCESTYLE(4, "SEQUENCESTYLE", "SEQUENCESTYLE"), /**
+ * The '<em><b>ASSIGNED</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ASSIGNED_VALUE
+ * @generated
+ * @ordered
+ */
+ ASSIGNED(5, "ASSIGNED", "ASSIGNED");
+
+ /**
+ * The '<em><b>TABLE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>TABLE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #TABLE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int TABLE_VALUE = 0;
+
+ /**
+ * The '<em><b>SEQUENCE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>SEQUENCE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SEQUENCE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int SEQUENCE_VALUE = 1;
+
+ /**
+ * The '<em><b>IDENTITY</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>IDENTITY</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #IDENTITY
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int IDENTITY_VALUE = 2;
+
+ /**
+ * The '<em><b>AUTO</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>AUTO</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #AUTO
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int AUTO_VALUE = 3;
+
+ /**
+ * The '<em><b>SEQUENCESTYLE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>SEQUENCESTYLE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SEQUENCESTYLE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int SEQUENCESTYLE_VALUE = 4;
+
+ /**
+ * The '<em><b>ASSIGNED</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>ASSIGNED</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ASSIGNED
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int ASSIGNED_VALUE = 5;
+
+ /**
+ * An array of all the '<em><b>Generation Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final GenerationType[] VALUES_ARRAY =
+ new GenerationType[] {
+ TABLE,
+ SEQUENCE,
+ IDENTITY,
+ AUTO,
+ SEQUENCESTYLE,
+ ASSIGNED,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Generation Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<GenerationType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Generation Type</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static GenerationType get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ GenerationType result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Generation Type</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static GenerationType getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ GenerationType result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Generation Type</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static GenerationType get(int value) {
+ switch (value) {
+ case TABLE_VALUE: return TABLE;
+ case SEQUENCE_VALUE: return SEQUENCE;
+ case IDENTITY_VALUE: return IDENTITY;
+ case AUTO_VALUE: return AUTO;
+ case SEQUENCESTYLE_VALUE: return SEQUENCESTYLE;
+ case ASSIGNED_VALUE: return ASSIGNED;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private GenerationType(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //GenerationType
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Id.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Id.java
new file mode 100755
index 000000000..ec99befde
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Id.java
@@ -0,0 +1,20 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Id.java,v 1.5 2007/07/04 19:28:01 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Id</b></em>'. <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getId()
+ * @model annotation="teneo/internal/Target 0='EAttribute'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore constraints='AllowedElementType'"
+ * @generated
+ */
+public interface Id extends PAnnotation {
+
+} // Id
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/IdClass.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/IdClass.java
new file mode 100755
index 000000000..062f8a2b7
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/IdClass.java
@@ -0,0 +1,49 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: IdClass.java,v 1.5 2007/07/04 19:28:01 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Id Class</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.IdClass#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getIdClass()
+ * @model annotation="teneo/internal/Target 0='EClass'"
+ * @generated
+ */
+public interface IdClass extends PAnnotation {
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getIdClass_Value()
+ * @model required="true"
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.IdClass#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // IdClass
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Inheritance.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Inheritance.java
new file mode 100755
index 000000000..f94b9a0d5
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Inheritance.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Inheritance.java,v 1.4 2007/07/04 19:28:01 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Inheritance</b></em>'. <!-- end-user-doc
+ * -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.Inheritance#getStrategy <em>Strategy</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getInheritance()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EClass'"
+ * @generated
+ */
+public interface Inheritance extends PAnnotation{
+ /**
+ * Returns the value of the '<em><b>Strategy</b></em>' attribute.
+ * The default value is <code>"SINGLE_TABLE"</code>.
+ * The literals are from the enumeration {@link org.eclipse.emf.teneo.annotations.pannotation.InheritanceType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Strategy</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Strategy</em>' attribute.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.InheritanceType
+ * @see #setStrategy(InheritanceType)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getInheritance_Strategy()
+ * @model default="SINGLE_TABLE"
+ * @generated
+ */
+ InheritanceType getStrategy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Inheritance#getStrategy <em>Strategy</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Strategy</em>' attribute.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.InheritanceType
+ * @see #getStrategy()
+ * @generated
+ */
+ void setStrategy(InheritanceType value);
+
+} // Inheritance
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/InheritanceType.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/InheritanceType.java
new file mode 100755
index 000000000..a1bb8c51a
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/InheritanceType.java
@@ -0,0 +1,239 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: InheritanceType.java,v 1.7 2007/07/04 19:28:01 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Inheritance Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getInheritanceType()
+ * @model
+ * @generated
+ */
+public enum InheritanceType implements Enumerator {
+ /**
+ * The '<em><b>SINGLE TABLE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SINGLE_TABLE_VALUE
+ * @generated
+ * @ordered
+ */
+ SINGLE_TABLE(0, "SINGLE_TABLE", "SINGLE_TABLE"),
+
+ /**
+ * The '<em><b>TABLE PER CLASS</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #TABLE_PER_CLASS_VALUE
+ * @generated
+ * @ordered
+ */
+ TABLE_PER_CLASS(1, "TABLE_PER_CLASS", "TABLE_PER_CLASS"),
+
+ /**
+ * The '<em><b>JOINED</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #JOINED_VALUE
+ * @generated
+ * @ordered
+ */
+ JOINED(2, "JOINED", "JOINED");
+
+ /**
+ * The '<em><b>SINGLE TABLE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>SINGLE TABLE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SINGLE_TABLE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int SINGLE_TABLE_VALUE = 0;
+
+ /**
+ * The '<em><b>TABLE PER CLASS</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>TABLE PER CLASS</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #TABLE_PER_CLASS
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int TABLE_PER_CLASS_VALUE = 1;
+
+ /**
+ * The '<em><b>JOINED</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>JOINED</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #JOINED
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int JOINED_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>Inheritance Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final InheritanceType[] VALUES_ARRAY =
+ new InheritanceType[] {
+ SINGLE_TABLE,
+ TABLE_PER_CLASS,
+ JOINED,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Inheritance Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<InheritanceType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Inheritance Type</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static InheritanceType get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ InheritanceType result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Inheritance Type</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static InheritanceType getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ InheritanceType result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Inheritance Type</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static InheritanceType get(int value) {
+ switch (value) {
+ case SINGLE_TABLE_VALUE: return SINGLE_TABLE;
+ case TABLE_PER_CLASS_VALUE: return TABLE_PER_CLASS;
+ case JOINED_VALUE: return JOINED;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private InheritanceType(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //InheritanceType
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/JoinColumn.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/JoinColumn.java
new file mode 100755
index 000000000..1db6429e7
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/JoinColumn.java
@@ -0,0 +1,264 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: JoinColumn.java,v 1.5 2008/04/13 11:10:25 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Join Column</b></em>'. <!-- end-user-doc
+ * -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#getReferencedColumnName <em>Referenced Column Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#isUnique <em>Unique</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#isNullable <em>Nullable</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#isInsertable <em>Insertable</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#isUpdatable <em>Updatable</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#getColumnDefinition <em>Column Definition</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#getTable <em>Table</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getJoinColumn()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EClass' 1='EReference'"
+ * annotation="http://annotation.elver.org/internal/Collection name='JoinColumns'"
+ * @generated
+ */
+public interface JoinColumn extends PAnnotation{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getJoinColumn_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Unique</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Unique</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Unique</em>' attribute.
+ * @see #setUnique(boolean)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getJoinColumn_Unique()
+ * @model default="false"
+ * @generated
+ */
+ boolean isUnique();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#isUnique <em>Unique</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Unique</em>' attribute.
+ * @see #isUnique()
+ * @generated
+ */
+ void setUnique(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Nullable</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Nullable</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Nullable</em>' attribute.
+ * @see #isSetNullable()
+ * @see #unsetNullable()
+ * @see #setNullable(boolean)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getJoinColumn_Nullable()
+ * @model default="true" unsettable="true"
+ * @generated
+ */
+ boolean isNullable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#isNullable <em>Nullable</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Nullable</em>' attribute.
+ * @see #isSetNullable()
+ * @see #unsetNullable()
+ * @see #isNullable()
+ * @generated
+ */
+ void setNullable(boolean value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#isNullable <em>Nullable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetNullable()
+ * @see #isNullable()
+ * @see #setNullable(boolean)
+ * @generated
+ */
+ void unsetNullable();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#isNullable <em>Nullable</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Nullable</em>' attribute is set.
+ * @see #unsetNullable()
+ * @see #isNullable()
+ * @see #setNullable(boolean)
+ * @generated
+ */
+ boolean isSetNullable();
+
+ /**
+ * Returns the value of the '<em><b>Insertable</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Insertable</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Insertable</em>' attribute.
+ * @see #setInsertable(boolean)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getJoinColumn_Insertable()
+ * @model default="true"
+ * @generated
+ */
+ boolean isInsertable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#isInsertable <em>Insertable</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Insertable</em>' attribute.
+ * @see #isInsertable()
+ * @generated
+ */
+ void setInsertable(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Updatable</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Updatable</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Updatable</em>' attribute.
+ * @see #setUpdatable(boolean)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getJoinColumn_Updatable()
+ * @model default="true"
+ * @generated
+ */
+ boolean isUpdatable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#isUpdatable <em>Updatable</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Updatable</em>' attribute.
+ * @see #isUpdatable()
+ * @generated
+ */
+ void setUpdatable(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Column Definition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Column Definition</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Column Definition</em>' attribute.
+ * @see #setColumnDefinition(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getJoinColumn_ColumnDefinition()
+ * @model
+ * @generated
+ */
+ String getColumnDefinition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#getColumnDefinition <em>Column Definition</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Column Definition</em>' attribute.
+ * @see #getColumnDefinition()
+ * @generated
+ */
+ void setColumnDefinition(String value);
+
+ /**
+ * Returns the value of the '<em><b>Table</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Table</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Table</em>' attribute.
+ * @see #setTable(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getJoinColumn_Table()
+ * @model
+ * @generated
+ */
+ String getTable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#getTable <em>Table</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Table</em>' attribute.
+ * @see #getTable()
+ * @generated
+ */
+ void setTable(String value);
+
+ /**
+ * Returns the value of the '<em><b>Referenced Column Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Referenced Column Name</em>' attribute isn't clear, there really should be more of
+ * a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Referenced Column Name</em>' attribute.
+ * @see #setReferencedColumnName(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getJoinColumn_ReferencedColumnName()
+ * @model
+ * @generated
+ */
+ String getReferencedColumnName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#getReferencedColumnName <em>Referenced Column Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Referenced Column Name</em>' attribute.
+ * @see #getReferencedColumnName()
+ * @generated
+ */
+ void setReferencedColumnName(String value);
+
+} // JoinColumn
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/JoinTable.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/JoinTable.java
new file mode 100755
index 000000000..85873ae61
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/JoinTable.java
@@ -0,0 +1,154 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: JoinTable.java,v 1.6 2007/07/04 19:28:01 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Join Table</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.JoinTable#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.JoinTable#getCatalog <em>Catalog</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.JoinTable#getSchema <em>Schema</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.JoinTable#getJoinColumns <em>Join Columns</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.JoinTable#getInverseJoinColumns <em>Inverse Join Columns</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.JoinTable#getUniqueConstraints <em>Unique Constraints</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getJoinTable()
+ * @model annotation="teneo/internal/Target 0='EStructuralFeature'"
+ * @generated
+ */
+public interface JoinTable extends PAnnotation {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getJoinTable_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinTable#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Catalog</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Catalog</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Catalog</em>' attribute.
+ * @see #setCatalog(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getJoinTable_Catalog()
+ * @model
+ * @generated
+ */
+ String getCatalog();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinTable#getCatalog <em>Catalog</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Catalog</em>' attribute.
+ * @see #getCatalog()
+ * @generated
+ */
+ void setCatalog(String value);
+
+ /**
+ * Returns the value of the '<em><b>Schema</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Schema</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Schema</em>' attribute.
+ * @see #setSchema(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getJoinTable_Schema()
+ * @model
+ * @generated
+ */
+ String getSchema();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinTable#getSchema <em>Schema</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Schema</em>' attribute.
+ * @see #getSchema()
+ * @generated
+ */
+ void setSchema(String value);
+
+ /**
+ * 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.pannotation.PannotationPackage#getJoinTable_JoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ EList<JoinColumn> getJoinColumns();
+
+ /**
+ * Returns the value of the '<em><b>Inverse 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>Inverse 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>Inverse Join Columns</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getJoinTable_InverseJoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ EList<JoinColumn> getInverseJoinColumns();
+
+ /**
+ * Returns the value of the '<em><b>Unique Constraints</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Unique Constraints</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>Unique Constraints</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getJoinTable_UniqueConstraints()
+ * @model containment="true"
+ * @generated
+ */
+ EList<UniqueConstraint> getUniqueConstraints();
+
+} // JoinTable
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/ListIndexColumn.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/ListIndexColumn.java
new file mode 100644
index 000000000..aaa131fce
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/ListIndexColumn.java
@@ -0,0 +1,53 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ListIndexColumn.java,v 1.1 2009/12/13 10:14:16 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>List Index Column</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.ListIndexColumn#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getListIndexColumn()
+ * @model annotation="teneo/internal/Target 0='EStructuralFeature'"
+ * @generated
+ */
+public interface ListIndexColumn extends PAnnotation {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getListIndexColumn_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.ListIndexColumn#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+} // ListIndexColumn
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Lob.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Lob.java
new file mode 100755
index 000000000..00923c97b
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Lob.java
@@ -0,0 +1,20 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Lob.java,v 1.5 2007/07/04 19:28:01 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Lob</b></em>'. <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getLob()
+ * @model annotation="teneo/internal/Target 0='EAttribute'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore constraints='AllowedType'"
+ * @generated
+ */
+public interface Lob extends PAnnotation {
+
+} // Lob
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/LobType.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/LobType.java
new file mode 100755
index 000000000..0765ab360
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/LobType.java
@@ -0,0 +1,137 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: LobType.java,v 1.6 2008/05/27 07:42:23 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.AbstractEnumerator;
+
+/**
+ * <!-- begin-user-doc --> A representation of the literals of the enumeration '<em><b>Lob Type</b></em>',
+ * and utility methods for working with them. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getLobType()
+ * @model
+ * @generated
+ */
+public final class LobType extends AbstractEnumerator {
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final String copyright =
+ "Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others.\nAll rights reserved. This program and the accompanying materials\nare made available under the terms of the Eclipse Public\nLicense v1.0\nwhich accompanies this distribution, and is available at\nhttp://www.eclipse.org/legal/epl-v10.html\n\nContributors:\n Martin Taal\n";
+
+ /**
+ * The '<em><b>BLOB</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>BLOB</b></em>' literal object isn't clear, there really should
+ * be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #BLOB_LITERAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int BLOB = 0;
+
+ /**
+ * The '<em><b>CLOB</b></em>' literal value. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>CLOB</b></em>' literal object isn't clear, there really should
+ * be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #CLOB_LITERAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int CLOB = 1;
+
+ /**
+ * The '<em><b>BLOB</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #BLOB
+ * @generated
+ * @ordered
+ */
+ public static final LobType BLOB_LITERAL = new LobType(BLOB, "BLOB");
+
+ /**
+ * The '<em><b>CLOB</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #CLOB
+ * @generated
+ * @ordered
+ */
+ public static final LobType CLOB_LITERAL = new LobType(CLOB, "CLOB");
+
+ /**
+ * An array of all the '<em><b>Lob Type</b></em>' enumerators. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ private static final LobType[] VALUES_ARRAY = new LobType[] { BLOB_LITERAL, CLOB_LITERAL, };
+
+ /**
+ * A public read-only list of all the '<em><b>Lob Type</b></em>' enumerators. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final List<LobType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Lob Type</b></em>' literal with the specified name. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static LobType get(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ LobType result = VALUES_ARRAY[i];
+ if (result.toString().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Lob Type</b></em>' literal with the specified value. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static LobType get(int value) {
+ switch (value) {
+ case BLOB:
+ return BLOB_LITERAL;
+ case CLOB:
+ return CLOB_LITERAL;
+ }
+ return null;
+ }
+
+ /**
+ * Only this class can construct instances. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private LobType(int value, String name) {
+ super(value, name);
+ }
+
+} // LobType
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/ManyToMany.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/ManyToMany.java
new file mode 100755
index 000000000..70d41ffa4
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/ManyToMany.java
@@ -0,0 +1,158 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ManyToMany.java,v 1.12 2008/08/11 20:42:23 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Many To Many</b></em>'. <!-- end-user-doc
+ * -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToMany#getTargetEntity <em>Target Entity</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToMany#getCascade <em>Cascade</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToMany#getFetch <em>Fetch</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToMany#getMappedBy <em>Mapped By</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getManyToMany()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EReference'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore constraints='IsManyValued'"
+ * @generated
+ */
+public interface ManyToMany extends PAnnotation {
+ /**
+ * Returns the value of the '<em><b>Fetch</b></em>' attribute. The default value is <code>"LAZY"</code>. The
+ * literals are from the enumeration {@link org.eclipse.emf.teneo.annotations.pannotation.FetchType}. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Fetch</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Fetch</em>' attribute.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.FetchType
+ * @see #setFetch(FetchType)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getManyToMany_Fetch()
+ * @model default="LAZY"
+ * @generated
+ */
+ FetchType getFetch();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToMany#getFetch <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Fetch</em>' attribute.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.FetchType
+ * @see #getFetch()
+ * @generated
+ */
+ void setFetch(FetchType value);
+
+ /**
+ * Returns the value of the '<em><b>Target Entity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target Entity</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Target Entity</em>' attribute.
+ * @see #setTargetEntity(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getManyToMany_TargetEntity()
+ * @model
+ * @generated
+ */
+ String getTargetEntity();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToMany#getTargetEntity <em>Target Entity</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Target Entity</em>' attribute.
+ * @see #getTargetEntity()
+ * @generated
+ */
+ void setTargetEntity(String value);
+
+ /**
+ * Returns the value of the '<em><b>Cascade</b></em>' attribute list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.CascadeType}.
+ * The literals are from the enumeration {@link org.eclipse.emf.teneo.annotations.pannotation.CascadeType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade</em>' attribute list isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Cascade</em>' attribute list.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.CascadeType
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getManyToMany_Cascade()
+ * @model
+ * @generated
+ */
+ EList<CascadeType> getCascade();
+
+ /**
+ * Returns the value of the '<em><b>Mapped By</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mapped By</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Mapped By</em>' attribute.
+ * @see #setMappedBy(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getManyToMany_MappedBy()
+ * @model
+ * @generated
+ */
+ String getMappedBy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToMany#getMappedBy <em>Mapped By</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Mapped By</em>' attribute.
+ * @see #getMappedBy()
+ * @generated
+ */
+ void setMappedBy(String value);
+
+ /**
+ * Returns the value of the '<em><b>Indexed</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Indexed</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Indexed</em>' attribute.
+ * @see #setIndexed(boolean)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getManyToMany_Indexed()
+ * @model default="true"
+ * @generated
+ */
+ boolean isIndexed();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToMany#isIndexed <em>Indexed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Indexed</em>' attribute.
+ * @see #isIndexed()
+ * @generated
+ */
+ void setIndexed(boolean value);
+
+ /** Returns true if this one to many should be modeled as a list */
+ boolean isList();
+
+} // ManyToMany
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/ManyToOne.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/ManyToOne.java
new file mode 100755
index 000000000..b111d01c1
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/ManyToOne.java
@@ -0,0 +1,154 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ManyToOne.java,v 1.6 2008/09/21 19:03:18 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Many To One</b></em>'. <!-- end-user-doc
+ * -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToOne#getTargetEntity <em>Target Entity</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToOne#getCascade <em>Cascade</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToOne#getFetch <em>Fetch</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToOne#isOptional <em>Optional</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getManyToOne()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EReference'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore constraints='IsNotManyValued'"
+ * @generated
+ */
+public interface ManyToOne extends PAnnotation{
+ /**
+ * Returns the value of the '<em><b>Fetch</b></em>' attribute. The default value is <code>"EAGER"</code>.
+ * The literals are from the enumeration {@link org.eclipse.emf.teneo.annotations.pannotation.FetchType}. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Fetch</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Fetch</em>' attribute.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.FetchType
+ * @see #setFetch(FetchType)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getManyToOne_Fetch()
+ * @model default="EAGER"
+ * @generated
+ */
+ FetchType getFetch();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToOne#getFetch <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Fetch</em>' attribute.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.FetchType
+ * @see #isSetFetch()
+ * @see #unsetFetch()
+ * @see #getFetch()
+ * @generated
+ */
+ void setFetch(FetchType value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToOne#getFetch <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetFetch()
+ * @see #getFetch()
+ * @see #setFetch(FetchType)
+ * @generated
+ */
+ void unsetFetch();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToOne#getFetch <em>Fetch</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Fetch</em>' attribute is set.
+ * @see #unsetFetch()
+ * @see #getFetch()
+ * @see #setFetch(FetchType)
+ * @generated
+ */
+ boolean isSetFetch();
+
+ /**
+ * Returns the value of the '<em><b>Optional</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Optional</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Optional</em>' attribute.
+ * @see #setOptional(boolean)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getManyToOne_Optional()
+ * @model default="true"
+ * @generated
+ */
+ boolean isOptional();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToOne#isOptional <em>Optional</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Optional</em>' attribute.
+ * @see #isOptional()
+ * @generated
+ */
+ void setOptional(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Target Entity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target Entity</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Target Entity</em>' attribute.
+ * @see #setTargetEntity(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getManyToOne_TargetEntity()
+ * @model
+ * @generated
+ */
+ String getTargetEntity();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToOne#getTargetEntity <em>Target Entity</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Target Entity</em>' attribute.
+ * @see #getTargetEntity()
+ * @generated
+ */
+ void setTargetEntity(String value);
+
+ /**
+ * Returns the value of the '<em><b>Cascade</b></em>' attribute list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.CascadeType}.
+ * The literals are from the enumeration {@link org.eclipse.emf.teneo.annotations.pannotation.CascadeType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade</em>' attribute list isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Cascade</em>' attribute list.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.CascadeType
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getManyToOne_Cascade()
+ * @model
+ * @generated
+ */
+ EList<CascadeType> getCascade();
+
+} // ManyToOne
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/MapKey.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/MapKey.java
new file mode 100755
index 000000000..4122483e0
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/MapKey.java
@@ -0,0 +1,49 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: MapKey.java,v 1.5 2007/07/04 19:28:01 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Map Key</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.MapKey#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getMapKey()
+ * @model annotation="teneo/internal/Target 0='EStructuralFeature'"
+ * @generated
+ */
+public interface MapKey extends PAnnotation {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getMapKey_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.MapKey#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+} // MapKey
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/MappedSuperclass.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/MappedSuperclass.java
new file mode 100755
index 000000000..a18596d43
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/MappedSuperclass.java
@@ -0,0 +1,21 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: MappedSuperclass.java,v 1.6 2010/02/06 18:25:56 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Mapped Superclass</b></em>'. <!--
+ * end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getMappedSuperclass()
+ * @model annotation="teneo/internal/Target 0='EClass'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore constraints='NoInterface'"
+ * @generated
+ */
+public interface MappedSuperclass extends PAnnotation {
+
+} // MappedSuperclass
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/NoEAVMapping.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/NoEAVMapping.java
new file mode 100644
index 000000000..e02cb617b
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/NoEAVMapping.java
@@ -0,0 +1,21 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: NoEAVMapping.java,v 1.1 2009/09/11 20:45:03 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>No EAV Mapping</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getNoEAVMapping()
+ * @model annotation="teneo/internal/Target 0='EClass'"
+ * @generated
+ */
+public interface NoEAVMapping extends PAnnotation {
+} // NoEAVMapping
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/OneToMany.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/OneToMany.java
new file mode 100755
index 000000000..413b49b2d
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/OneToMany.java
@@ -0,0 +1,184 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: OneToMany.java,v 1.10 2008/08/11 20:42:23 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>One To Many</b></em>'. <!-- end-user-doc
+ * -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.OneToMany#getTargetEntity <em>Target Entity</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.OneToMany#getCascade <em>Cascade</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.OneToMany#getFetch <em>Fetch</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.OneToMany#getMappedBy <em>Mapped By</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getOneToMany()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore constraints='IsManyValued'"
+ * @generated
+ */
+public interface OneToMany extends PAnnotation {
+ /**
+ * Returns the value of the '<em><b>Fetch</b></em>' attribute. The default value is <code>"LAZY"</code>. The
+ * literals are from the enumeration {@link org.eclipse.emf.teneo.annotations.pannotation.FetchType}. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Fetch</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Fetch</em>' attribute.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.FetchType
+ * @see #setFetch(FetchType)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getOneToMany_Fetch()
+ * @model default="LAZY"
+ * @generated
+ */
+ FetchType getFetch();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.OneToMany#getFetch <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Fetch</em>' attribute.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.FetchType
+ * @see #getFetch()
+ * @generated
+ */
+ void setFetch(FetchType value);
+
+ /**
+ * Returns the value of the '<em><b>Target Entity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target Entity</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Target Entity</em>' attribute.
+ * @see #setTargetEntity(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getOneToMany_TargetEntity()
+ * @model
+ * @generated
+ */
+ String getTargetEntity();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.OneToMany#getTargetEntity <em>Target Entity</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Target Entity</em>' attribute.
+ * @see #getTargetEntity()
+ * @generated
+ */
+ void setTargetEntity(String value);
+
+ /**
+ * Returns the value of the '<em><b>Cascade</b></em>' attribute list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.CascadeType}.
+ * The literals are from the enumeration {@link org.eclipse.emf.teneo.annotations.pannotation.CascadeType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade</em>' attribute list isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Cascade</em>' attribute list.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.CascadeType
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getOneToMany_Cascade()
+ * @model
+ * @generated
+ */
+ EList<CascadeType> getCascade();
+
+ /**
+ * Returns the value of the '<em><b>Mapped By</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mapped By</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Mapped By</em>' attribute.
+ * @see #setMappedBy(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getOneToMany_MappedBy()
+ * @model
+ * @generated
+ */
+ String getMappedBy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.OneToMany#getMappedBy <em>Mapped By</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Mapped By</em>' attribute.
+ * @see #getMappedBy()
+ * @generated
+ */
+ void setMappedBy(String value);
+
+ /**
+ * Returns the value of the '<em><b>Indexed</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Indexed</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Indexed</em>' attribute.
+ * @see #setIndexed(boolean)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getOneToMany_Indexed()
+ * @model default="true"
+ * @generated
+ */
+ boolean isIndexed();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.OneToMany#isIndexed <em>Indexed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Indexed</em>' attribute.
+ * @see #isIndexed()
+ * @generated
+ */
+ void setIndexed(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Unique</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Unique</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Unique</em>' attribute.
+ * @see #setUnique(boolean)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getOneToMany_Unique()
+ * @model default="true"
+ * @generated
+ */
+ boolean isUnique();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.OneToMany#isUnique <em>Unique</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Unique</em>' attribute.
+ * @see #isUnique()
+ * @generated
+ */
+ void setUnique(boolean value);
+
+ /** Returns true if this one to many should be modeled as a list */
+ boolean isList();
+} // OneToMany
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/OneToOne.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/OneToOne.java
new file mode 100755
index 000000000..91bc52020
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/OneToOne.java
@@ -0,0 +1,179 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: OneToOne.java,v 1.7 2008/09/21 19:03:18 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>One To One</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.OneToOne#getTargetEntity <em>Target Entity</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.OneToOne#getCascade <em>Cascade</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.OneToOne#getFetch <em>Fetch</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.OneToOne#isOptional <em>Optional</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.OneToOne#getMappedBy <em>Mapped By</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getOneToOne()
+ * @model annotation="teneo/internal/Target 0='EReference'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore constraints='IsNotManyValued'"
+ * @generated
+ */
+public interface OneToOne extends PAnnotation {
+ /**
+ * Returns the value of the '<em><b>Fetch</b></em>' attribute. The default value is <code>"EAGER"</code>.
+ * The literals are from the enumeration {@link org.eclipse.emf.teneo.annotations.pannotation.FetchType}. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Fetch</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Fetch</em>' attribute.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.FetchType
+ * @see #setFetch(FetchType)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getOneToOne_Fetch()
+ * @model default="EAGER"
+ * @generated
+ */
+ FetchType getFetch();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.OneToOne#getFetch <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Fetch</em>' attribute.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.FetchType
+ * @see #isSetFetch()
+ * @see #unsetFetch()
+ * @see #getFetch()
+ * @generated
+ */
+ void setFetch(FetchType value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.OneToOne#getFetch <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetFetch()
+ * @see #getFetch()
+ * @see #setFetch(FetchType)
+ * @generated
+ */
+ void unsetFetch();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.OneToOne#getFetch <em>Fetch</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Fetch</em>' attribute is set.
+ * @see #unsetFetch()
+ * @see #getFetch()
+ * @see #setFetch(FetchType)
+ * @generated
+ */
+ boolean isSetFetch();
+
+ /**
+ * Returns the value of the '<em><b>Optional</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Optional</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Optional</em>' attribute.
+ * @see #setOptional(boolean)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getOneToOne_Optional()
+ * @model default="true"
+ * @generated
+ */
+ boolean isOptional();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.OneToOne#isOptional <em>Optional</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Optional</em>' attribute.
+ * @see #isOptional()
+ * @generated
+ */
+ void setOptional(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Target Entity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target Entity</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Target Entity</em>' attribute.
+ * @see #setTargetEntity(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getOneToOne_TargetEntity()
+ * @model
+ * @generated
+ */
+ String getTargetEntity();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.OneToOne#getTargetEntity <em>Target Entity</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Target Entity</em>' attribute.
+ * @see #getTargetEntity()
+ * @generated
+ */
+ void setTargetEntity(String value);
+
+ /**
+ * Returns the value of the '<em><b>Cascade</b></em>' attribute list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.CascadeType}.
+ * The literals are from the enumeration {@link org.eclipse.emf.teneo.annotations.pannotation.CascadeType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cascade</em>' attribute list isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Cascade</em>' attribute list.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.CascadeType
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getOneToOne_Cascade()
+ * @model
+ * @generated
+ */
+ EList<CascadeType> getCascade();
+
+ /**
+ * Returns the value of the '<em><b>Mapped By</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mapped By</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Mapped By</em>' attribute.
+ * @see #setMappedBy(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getOneToOne_MappedBy()
+ * @model
+ * @generated
+ */
+ String getMappedBy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.OneToOne#getMappedBy <em>Mapped By</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Mapped By</em>' attribute.
+ * @see #getMappedBy()
+ * @generated
+ */
+ void setMappedBy(String value);
+
+} // OneToOne
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/OptimizerType.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/OptimizerType.java
new file mode 100755
index 000000000..27198bde8
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/OptimizerType.java
@@ -0,0 +1,239 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: OptimizerType.java,v 1.1 2008/10/13 05:35:42 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Optimizer Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getOptimizerType()
+ * @model
+ * @generated
+ */
+public enum OptimizerType implements Enumerator {
+ /**
+ * The '<em><b>NONE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #NONE_VALUE
+ * @generated
+ * @ordered
+ */
+ NONE(0, "NONE", "NONE"),
+
+ /**
+ * The '<em><b>HILO</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #HILO_VALUE
+ * @generated
+ * @ordered
+ */
+ HILO(1, "HILO", "HILO"),
+
+ /**
+ * The '<em><b>POOLED</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #POOLED_VALUE
+ * @generated
+ * @ordered
+ */
+ POOLED(2, "POOLED", "POOLED");
+
+ /**
+ * The '<em><b>NONE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>NONE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #NONE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int NONE_VALUE = 0;
+
+ /**
+ * The '<em><b>HILO</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>HILO</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #HILO
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int HILO_VALUE = 1;
+
+ /**
+ * The '<em><b>POOLED</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>POOLED</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #POOLED
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int POOLED_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>Optimizer Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final OptimizerType[] VALUES_ARRAY =
+ new OptimizerType[] {
+ NONE,
+ HILO,
+ POOLED,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Optimizer Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<OptimizerType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Optimizer Type</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static OptimizerType get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ OptimizerType result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Optimizer Type</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static OptimizerType getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ OptimizerType result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Optimizer Type</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static OptimizerType get(int value) {
+ switch (value) {
+ case NONE_VALUE: return NONE;
+ case HILO_VALUE: return HILO;
+ case POOLED_VALUE: return POOLED;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private OptimizerType(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //OptimizerType
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/OrderBy.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/OrderBy.java
new file mode 100755
index 000000000..86c50d1d1
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/OrderBy.java
@@ -0,0 +1,50 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: OrderBy.java,v 1.5 2007/07/04 19:28:01 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Order By</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.OrderBy#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getOrderBy()
+ * @model annotation="teneo/internal/Target 0='EReference'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore constraints='WellFormedOrder IsManyValued'"
+ * @generated
+ */
+public interface OrderBy extends PAnnotation {
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getOrderBy_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.OrderBy#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // OrderBy
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/PAnnotation.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/PAnnotation.java
new file mode 100755
index 000000000..37798eaa0
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/PAnnotation.java
@@ -0,0 +1,91 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotation.java,v 1.7 2011/02/21 06:40:11 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EModelElement;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>PAnnotation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.PAnnotation#getEModelElement <em>EModel Element</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.PAnnotation#isGenerated <em>Generated</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getPAnnotation()
+ * @model abstract="true"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore constraints='CompatibleEModelElementType AnnotationIsSupported'"
+ * @generated
+ */
+public interface PAnnotation extends EObject {
+ /**
+ * Returns the value of the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc
+ * -->
+ * <p>
+ * If the meaning of the '<em>EModel 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>EModel Element</em>' reference.
+ * @see #setEModelElement(EModelElement)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getPAnnotation_EModelElement()
+ * @model required="true"
+ * annotation="teneo/internal/PersistenceMapping ignore='true'"
+ * @generated
+ */
+ EModelElement getEModelElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.PAnnotation#getEModelElement <em>EModel Element</em>}' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>EModel Element</em>' reference.
+ * @see #getEModelElement()
+ * @generated
+ */
+ void setEModelElement(EModelElement value);
+
+ /**
+ * Returns the value of the '<em><b>Generated</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Generated</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Generated</em>' attribute.
+ * @see #setGenerated(boolean)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getPAnnotation_Generated()
+ * @model default="true"
+ * @generated
+ */
+ boolean isGenerated();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.PAnnotation#isGenerated <em>Generated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Generated</em>' attribute.
+ * @see #isGenerated()
+ * @generated
+ */
+ void setGenerated(boolean value);
+
+ /** Return the java annotation, any importStatements are added to the passed list */
+ String getJavaAnnotation(List<String> importStatements);
+
+ /** Return the class name of the annotation */
+ String getAnnotationClassName();
+} // PAnnotation
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/PannotationFactory.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/PannotationFactory.java
new file mode 100755
index 000000000..0800889bd
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/PannotationFactory.java
@@ -0,0 +1,360 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PannotationFactory.java,v 1.14 2009/12/13 10:14:17 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+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.pannotation.PannotationPackage
+ * @generated
+ */
+public interface PannotationFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ PannotationFactory eINSTANCE = org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Attribute Override</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Attribute Override</em>'.
+ * @generated
+ */
+ AttributeOverride createAttributeOverride();
+
+ /**
+ * Returns a new object of class '<em>Basic</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Basic</em>'.
+ * @generated
+ */
+ Basic createBasic();
+
+ /**
+ * Returns a new object of class '<em>Column</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Column</em>'.
+ * @generated
+ */
+ Column createColumn();
+
+ /**
+ * Returns a new object of class '<em>Discriminator Column</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Discriminator Column</em>'.
+ * @generated
+ */
+ DiscriminatorColumn createDiscriminatorColumn();
+
+ /**
+ * Returns a new object of class '<em>Discriminator Value</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Discriminator Value</em>'.
+ * @generated
+ */
+ DiscriminatorValue createDiscriminatorValue();
+
+ /**
+ * Returns a new object of class '<em>Embeddable</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Embeddable</em>'.
+ * @generated
+ */
+ Embeddable createEmbeddable();
+
+ /**
+ * Returns a new object of class '<em>Mapped Superclass</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Mapped Superclass</em>'.
+ * @generated
+ */
+ MappedSuperclass createMappedSuperclass();
+
+ /**
+ * Returns a new object of class '<em>Embedded</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Embedded</em>'.
+ * @generated
+ */
+ Embedded createEmbedded();
+
+ /**
+ * Returns a new object of class '<em>Embedded Id</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Embedded Id</em>'.
+ * @generated
+ */
+ EmbeddedId createEmbeddedId();
+
+ /**
+ * Returns a new object of class '<em>Enumerated</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Enumerated</em>'.
+ * @generated
+ */
+ Enumerated createEnumerated();
+
+ /**
+ * Returns a new object of class '<em>Entity</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Entity</em>'.
+ * @generated
+ */
+ Entity createEntity();
+
+ /**
+ * Returns a new object of class '<em>Generated Value</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Generated Value</em>'.
+ * @generated
+ */
+ GeneratedValue createGeneratedValue();
+
+ /**
+ * Returns a new object of class '<em>Id</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Id</em>'.
+ * @generated
+ */
+ Id createId();
+
+ /**
+ * Returns a new object of class '<em>Id Class</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Id Class</em>'.
+ * @generated
+ */
+ IdClass createIdClass();
+
+ /**
+ * Returns a new object of class '<em>Inheritance</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Inheritance</em>'.
+ * @generated
+ */
+ Inheritance createInheritance();
+
+ /**
+ * Returns a new object of class '<em>Join Column</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Join Column</em>'.
+ * @generated
+ */
+ JoinColumn createJoinColumn();
+
+ /**
+ * Returns a new object of class '<em>Join Table</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Join Table</em>'.
+ * @generated
+ */
+ JoinTable createJoinTable();
+
+ /**
+ * Returns a new object of class '<em>Lob</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Lob</em>'.
+ * @generated
+ */
+ Lob createLob();
+
+ /**
+ * Returns a new object of class '<em>Many To Many</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Many To Many</em>'.
+ * @generated
+ */
+ ManyToMany createManyToMany();
+
+ /**
+ * Returns a new object of class '<em>Many To One</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Many To One</em>'.
+ * @generated
+ */
+ ManyToOne createManyToOne();
+
+ /**
+ * Returns a new object of class '<em>Map Key</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Map Key</em>'.
+ * @generated
+ */
+ MapKey createMapKey();
+
+ /**
+ * Returns a new object of class '<em>One To Many</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>One To Many</em>'.
+ * @generated
+ */
+ OneToMany createOneToMany();
+
+ /**
+ * Returns a new object of class '<em>One To One</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>One To One</em>'.
+ * @generated
+ */
+ OneToOne createOneToOne();
+
+ /**
+ * Returns a new object of class '<em>Order By</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Order By</em>'.
+ * @generated
+ */
+ OrderBy createOrderBy();
+
+ /**
+ * Returns a new object of class '<em>Primary Key Join Column</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Primary Key Join Column</em>'.
+ * @generated
+ */
+ PrimaryKeyJoinColumn createPrimaryKeyJoinColumn();
+
+ /**
+ * Returns a new object of class '<em>Secondary Table</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Secondary Table</em>'.
+ * @generated
+ */
+ SecondaryTable createSecondaryTable();
+
+ /**
+ * Returns a new object of class '<em>Sequence Generator</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Sequence Generator</em>'.
+ * @generated
+ */
+ SequenceGenerator createSequenceGenerator();
+
+ /**
+ * Returns a new object of class '<em>Table</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Table</em>'.
+ * @generated
+ */
+ Table createTable();
+
+ /**
+ * Returns a new object of class '<em>Table Generator</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Table Generator</em>'.
+ * @generated
+ */
+ TableGenerator createTableGenerator();
+
+ /**
+ * Returns a new object of class '<em>Temporal</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Temporal</em>'.
+ * @generated
+ */
+ Temporal createTemporal();
+
+ /**
+ * Returns a new object of class '<em>Transient</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Transient</em>'.
+ * @generated
+ */
+ Transient createTransient();
+
+ /**
+ * Returns a new object of class '<em>Unique Constraint</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Unique Constraint</em>'.
+ * @generated
+ */
+ UniqueConstraint createUniqueConstraint();
+
+ /**
+ * Returns a new object of class '<em>Version</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Version</em>'.
+ * @generated
+ */
+ Version createVersion();
+
+ /**
+ * Returns a new object of class '<em>Foreign Key</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Foreign Key</em>'.
+ * @generated
+ */
+ ForeignKey createForeignKey();
+
+ /**
+ * Returns a new object of class '<em>Sequence Style Generator</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Sequence Style Generator</em>'.
+ * @generated
+ */
+ SequenceStyleGenerator createSequenceStyleGenerator();
+
+ /**
+ * Returns a new object of class '<em>External</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>External</em>'.
+ * @generated
+ */
+ External createExternal();
+
+ /**
+ * Returns a new object of class '<em>EAV Mapping</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>EAV Mapping</em>'.
+ * @generated
+ */
+ EAVMapping createEAVMapping();
+
+ /**
+ * Returns a new object of class '<em>No EAV Mapping</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>No EAV Mapping</em>'.
+ * @generated
+ */
+ NoEAVMapping createNoEAVMapping();
+
+ /**
+ * Returns a new object of class '<em>List Index Column</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>List Index Column</em>'.
+ * @generated
+ */
+ ListIndexColumn createListIndexColumn();
+
+ /**
+ * Returns a new object of class '<em>Association Override</em>'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return a new object of class '<em>Association Override</em>'.
+ * @generated
+ */
+ AssociationOverride createAssociationOverride();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ PannotationPackage getPannotationPackage();
+
+} // PannotationFactory
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/PannotationPackage.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/PannotationPackage.java
new file mode 100755
index 000000000..30a0a942e
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/PannotationPackage.java
@@ -0,0 +1,5370 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PannotationPackage.java,v 1.22 2011/02/21 06:40:11 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc --> The <b>Package</b> for the model. It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationFactory
+ * @model kind="package"
+ * annotation="http://www.eclipse.org/emf/2004/EmfaticAnnotationMap Target='teneo/internal/Target' Unsupported='teneo/internal/Unsupported'"
+ * annotation="teneo.mapping.source 0='http://annotation.elver.org/' 1='http://ejb.elver.org/'"
+ * @generated
+ */
+public interface PannotationPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "pannotation";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/emf/teneo/elver/2005/PAnnotation";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "org.elver.annotation";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ PannotationPackage eINSTANCE = org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.PAnnotationImpl <em>PAnnotation</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PAnnotationImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getPAnnotation()
+ * @generated
+ */
+ int PANNOTATION = 0;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PANNOTATION__EMODEL_ELEMENT = 0;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATION__GENERATED = 1;
+
+ /**
+ * The number of structural features of the '<em>PAnnotation</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PANNOTATION_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.AttributeOverrideImpl <em>Attribute Override</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.AttributeOverrideImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getAttributeOverride()
+ * @generated
+ */
+ int ATTRIBUTE_OVERRIDE = 1;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE_OVERRIDE__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE_OVERRIDE__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE_OVERRIDE__NAME = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Column</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE_OVERRIDE__COLUMN = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Attribute Override</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE_OVERRIDE_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.BasicImpl <em>Basic</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.BasicImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getBasic()
+ * @generated
+ */
+ int BASIC = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ColumnImpl <em>Column</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.ColumnImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getColumn()
+ * @generated
+ */
+ int COLUMN = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.DiscriminatorColumnImpl <em>Discriminator Column</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.DiscriminatorColumnImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getDiscriminatorColumn()
+ * @generated
+ */
+ int DISCRIMINATOR_COLUMN = 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.DiscriminatorValueImpl <em>Discriminator Value</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.DiscriminatorValueImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getDiscriminatorValue()
+ * @generated
+ */
+ int DISCRIMINATOR_VALUE = 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.EmbeddableImpl <em>Embeddable</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.EmbeddableImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getEmbeddable()
+ * @generated
+ */
+ int EMBEDDABLE = 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.MappedSuperclassImpl <em>Mapped Superclass</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.MappedSuperclassImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getMappedSuperclass()
+ * @generated
+ */
+ int MAPPED_SUPERCLASS = 22;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.EmbeddedImpl <em>Embedded</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.EmbeddedImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getEmbedded()
+ * @generated
+ */
+ int EMBEDDED = 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.EmbeddedIdImpl <em>Embedded Id</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.EmbeddedIdImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getEmbeddedId()
+ * @generated
+ */
+ int EMBEDDED_ID = 9;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.EnumeratedImpl <em>Enumerated</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.EnumeratedImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getEnumerated()
+ * @generated
+ */
+ int ENUMERATED = 11;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.EntityImpl <em>Entity</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.EntityImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getEntity()
+ * @generated
+ */
+ int ENTITY = 10;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.GeneratedValueImpl <em>Generated Value</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.GeneratedValueImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getGeneratedValue()
+ * @generated
+ */
+ int GENERATED_VALUE = 12;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.IdImpl <em>Id</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.IdImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getId()
+ * @generated
+ */
+ int ID = 13;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.IdClassImpl <em>Id Class</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.IdClassImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getIdClass()
+ * @generated
+ */
+ int ID_CLASS = 14;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.InheritanceImpl <em>Inheritance</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.InheritanceImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getInheritance()
+ * @generated
+ */
+ int INHERITANCE = 15;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.JoinColumnImpl <em>Join Column</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.JoinColumnImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getJoinColumn()
+ * @generated
+ */
+ int JOIN_COLUMN = 16;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.JoinTableImpl <em>Join Table</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.JoinTableImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getJoinTable()
+ * @generated
+ */
+ int JOIN_TABLE = 17;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.LobImpl <em>Lob</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.LobImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getLob()
+ * @generated
+ */
+ int LOB = 18;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ManyToManyImpl <em>Many To Many</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.ManyToManyImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getManyToMany()
+ * @generated
+ */
+ int MANY_TO_MANY = 19;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ManyToOneImpl <em>Many To One</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.ManyToOneImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getManyToOne()
+ * @generated
+ */
+ int MANY_TO_ONE = 20;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.MapKeyImpl <em>Map Key</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.MapKeyImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getMapKey()
+ * @generated
+ */
+ int MAP_KEY = 21;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.OneToManyImpl <em>One To Many</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.OneToManyImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getOneToMany()
+ * @generated
+ */
+ int ONE_TO_MANY = 23;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.OneToOneImpl <em>One To One</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.OneToOneImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getOneToOne()
+ * @generated
+ */
+ int ONE_TO_ONE = 24;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.OrderByImpl <em>Order By</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.OrderByImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getOrderBy()
+ * @generated
+ */
+ int ORDER_BY = 25;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.PrimaryKeyJoinColumnImpl <em>Primary Key Join Column</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PrimaryKeyJoinColumnImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getPrimaryKeyJoinColumn()
+ * @generated
+ */
+ int PRIMARY_KEY_JOIN_COLUMN = 26;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.SecondaryTableImpl <em>Secondary Table</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.SecondaryTableImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getSecondaryTable()
+ * @generated
+ */
+ int SECONDARY_TABLE = 27;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.SequenceGeneratorImpl <em>Sequence Generator</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.SequenceGeneratorImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getSequenceGenerator()
+ * @generated
+ */
+ int SEQUENCE_GENERATOR = 28;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.TableImpl <em>Table</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.TableImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getTable()
+ * @generated
+ */
+ int TABLE = 29;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.TableGeneratorImpl <em>Table Generator</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.TableGeneratorImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getTableGenerator()
+ * @generated
+ */
+ int TABLE_GENERATOR = 30;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.TemporalImpl <em>Temporal</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.TemporalImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getTemporal()
+ * @generated
+ */
+ int TEMPORAL = 31;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.TransientImpl <em>Transient</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.TransientImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getTransient()
+ * @generated
+ */
+ int TRANSIENT = 32;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.UniqueConstraintImpl <em>Unique Constraint</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.UniqueConstraintImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getUniqueConstraint()
+ * @generated
+ */
+ int UNIQUE_CONSTRAINT = 33;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.VersionImpl <em>Version</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.VersionImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getVersion()
+ * @generated
+ */
+ int VERSION = 34;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.AssociationOverrideImpl <em>Association Override</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.AssociationOverrideImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getAssociationOverride()
+ * @generated
+ */
+ int ASSOCIATION_OVERRIDE = 2;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_OVERRIDE__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_OVERRIDE__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_OVERRIDE__NAME = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_OVERRIDE__JOIN_COLUMNS = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Association Override</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSOCIATION_OVERRIDE_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BASIC__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASIC__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Fetch</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASIC__FETCH = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Optional</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASIC__OPTIONAL = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Basic</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASIC_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLUMN__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLUMN__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLUMN__NAME = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Unique</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLUMN__UNIQUE = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Nullable</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLUMN__NULLABLE = PANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Insertable</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLUMN__INSERTABLE = PANNOTATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Updatable</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLUMN__UPDATABLE = PANNOTATION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Column Definition</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLUMN__COLUMN_DEFINITION = PANNOTATION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Table</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLUMN__TABLE = PANNOTATION_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Length</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLUMN__LENGTH = PANNOTATION_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Precision</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLUMN__PRECISION = PANNOTATION_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Scale</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLUMN__SCALE = PANNOTATION_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Unique Key</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLUMN__UNIQUE_KEY = PANNOTATION_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Index</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLUMN__INDEX = PANNOTATION_FEATURE_COUNT + 11;
+
+ /**
+ * The number of structural features of the '<em>Column</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLUMN_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 12;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DISCRIMINATOR_COLUMN__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DISCRIMINATOR_COLUMN__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DISCRIMINATOR_COLUMN__NAME = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Discriminator Type</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Column Definition</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DISCRIMINATOR_COLUMN__COLUMN_DEFINITION = PANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Length</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DISCRIMINATOR_COLUMN__LENGTH = PANNOTATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DISCRIMINATOR_COLUMN__COLUMN = PANNOTATION_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Discriminator Column</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DISCRIMINATOR_COLUMN_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DISCRIMINATOR_VALUE__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DISCRIMINATOR_VALUE__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DISCRIMINATOR_VALUE__VALUE = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Discriminator Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DISCRIMINATOR_VALUE_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMBEDDABLE__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EMBEDDABLE__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The number of structural features of the '<em>Embeddable</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EMBEDDABLE_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMBEDDED__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EMBEDDED__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The number of structural features of the '<em>Embedded</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EMBEDDED_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EMBEDDED_ID__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EMBEDDED_ID__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The number of structural features of the '<em>Embedded Id</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EMBEDDED_ID_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENTITY__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENTITY__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENTITY__NAME = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Extends</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENTITY__EXTENDS = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Entity</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENTITY_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ENUMERATED__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATED__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATED__VALUE = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Enumerated</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENUMERATED_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GENERATED_VALUE__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERATED_VALUE__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Strategy</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERATED_VALUE__STRATEGY = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Generator</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERATED_VALUE__GENERATOR = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Generated Value</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERATED_VALUE_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ID__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ID__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The number of structural features of the the '<em>Id</em>' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ID_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ID_CLASS__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ID_CLASS__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ID_CLASS__VALUE = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Id Class</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ID_CLASS_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int INHERITANCE__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INHERITANCE__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Strategy</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INHERITANCE__STRATEGY = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Inheritance</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INHERITANCE_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int JOIN_COLUMN__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int JOIN_COLUMN__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int JOIN_COLUMN__NAME = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Referenced Column Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int JOIN_COLUMN__REFERENCED_COLUMN_NAME = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Unique</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int JOIN_COLUMN__UNIQUE = PANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Nullable</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int JOIN_COLUMN__NULLABLE = PANNOTATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Insertable</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int JOIN_COLUMN__INSERTABLE = PANNOTATION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Updatable</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int JOIN_COLUMN__UPDATABLE = PANNOTATION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Column Definition</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int JOIN_COLUMN__COLUMN_DEFINITION = PANNOTATION_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Table</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int JOIN_COLUMN__TABLE = PANNOTATION_FEATURE_COUNT + 7;
+
+ /**
+ * The number of structural features of the '<em>Join Column</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int JOIN_COLUMN_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int JOIN_TABLE__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int JOIN_TABLE__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int JOIN_TABLE__NAME = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Catalog</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int JOIN_TABLE__CATALOG = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Schema</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int JOIN_TABLE__SCHEMA = PANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int JOIN_TABLE__JOIN_COLUMNS = PANNOTATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Inverse Join Columns</b></em>' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int JOIN_TABLE__INVERSE_JOIN_COLUMNS = PANNOTATION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Unique Constraints</b></em>' containment reference list.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int JOIN_TABLE__UNIQUE_CONSTRAINTS = PANNOTATION_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Join Table</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int JOIN_TABLE_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOB__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOB__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The number of structural features of the the '<em>Lob</em>' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LOB_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MANY_TO_MANY__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANY_TO_MANY__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Target Entity</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MANY_TO_MANY__TARGET_ENTITY = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Cascade</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MANY_TO_MANY__CASCADE = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Fetch</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANY_TO_MANY__FETCH = PANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Mapped By</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANY_TO_MANY__MAPPED_BY = PANNOTATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Indexed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANY_TO_MANY__INDEXED = PANNOTATION_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Many To Many</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANY_TO_MANY_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MANY_TO_ONE__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANY_TO_ONE__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Target Entity</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MANY_TO_ONE__TARGET_ENTITY = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Cascade</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MANY_TO_ONE__CASCADE = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Fetch</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANY_TO_ONE__FETCH = PANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Optional</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANY_TO_ONE__OPTIONAL = PANNOTATION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Many To One</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANY_TO_ONE_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MAP_KEY__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MAP_KEY__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MAP_KEY__NAME = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Map Key</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MAP_KEY_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MAPPED_SUPERCLASS__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MAPPED_SUPERCLASS__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The number of structural features of the '<em>Mapped Superclass</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MAPPED_SUPERCLASS_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ONE_TO_MANY__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ONE_TO_MANY__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Target Entity</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ONE_TO_MANY__TARGET_ENTITY = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Cascade</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ONE_TO_MANY__CASCADE = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Fetch</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ONE_TO_MANY__FETCH = PANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Mapped By</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ONE_TO_MANY__MAPPED_BY = PANNOTATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Indexed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ONE_TO_MANY__INDEXED = PANNOTATION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Unique</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ONE_TO_MANY__UNIQUE = PANNOTATION_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>One To Many</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ONE_TO_MANY_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ONE_TO_ONE__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ONE_TO_ONE__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Target Entity</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ONE_TO_ONE__TARGET_ENTITY = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Cascade</b></em>' attribute list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ONE_TO_ONE__CASCADE = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Fetch</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ONE_TO_ONE__FETCH = PANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Optional</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ONE_TO_ONE__OPTIONAL = PANNOTATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Mapped By</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ONE_TO_ONE__MAPPED_BY = PANNOTATION_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>One To One</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ONE_TO_ONE_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ORDER_BY__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ORDER_BY__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ORDER_BY__VALUE = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Order By</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ORDER_BY_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PRIMARY_KEY_JOIN_COLUMN__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIMARY_KEY_JOIN_COLUMN__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIMARY_KEY_JOIN_COLUMN__NAME = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Referenced Column Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Column Definition</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIMARY_KEY_JOIN_COLUMN__COLUMN_DEFINITION = PANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Primary Key Join Column</em>' class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRIMARY_KEY_JOIN_COLUMN_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SECONDARY_TABLE__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECONDARY_TABLE__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECONDARY_TABLE__NAME = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Catalog</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECONDARY_TABLE__CATALOG = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Schema</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECONDARY_TABLE__SCHEMA = PANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Pk Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECONDARY_TABLE__PK_JOIN_COLUMNS = PANNOTATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Unique Constraints</b></em>' containment reference list.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECONDARY_TABLE__UNIQUE_CONSTRAINTS = PANNOTATION_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Secondary Table</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SECONDARY_TABLE_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_GENERATOR__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_GENERATOR__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_GENERATOR__NAME = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Sequence Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_GENERATOR__SEQUENCE_NAME = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Initial Value</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_GENERATOR__INITIAL_VALUE = PANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Allocation Size</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_GENERATOR__ALLOCATION_SIZE = PANNOTATION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Sequence Generator</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_GENERATOR_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TABLE__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TABLE__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TABLE__NAME = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Catalog</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TABLE__CATALOG = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Schema</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TABLE__SCHEMA = PANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Unique Constraints</b></em>' containment reference list.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TABLE__UNIQUE_CONSTRAINTS = PANNOTATION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Table</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TABLE_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TABLE_GENERATOR__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TABLE_GENERATOR__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TABLE_GENERATOR__NAME = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Table</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TABLE_GENERATOR__TABLE = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Catalog</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TABLE_GENERATOR__CATALOG = PANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Schema</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TABLE_GENERATOR__SCHEMA = PANNOTATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Pk Column Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TABLE_GENERATOR__PK_COLUMN_NAME = PANNOTATION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Value Column Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TABLE_GENERATOR__VALUE_COLUMN_NAME = PANNOTATION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Pk Column Value</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TABLE_GENERATOR__PK_COLUMN_VALUE = PANNOTATION_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Initial Value</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TABLE_GENERATOR__INITIAL_VALUE = PANNOTATION_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Allocation Size</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TABLE_GENERATOR__ALLOCATION_SIZE = PANNOTATION_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Unique Constraints</b></em>' containment reference list.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TABLE_GENERATOR__UNIQUE_CONSTRAINTS = PANNOTATION_FEATURE_COUNT + 9;
+
+ /**
+ * The number of structural features of the '<em>Table Generator</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TABLE_GENERATOR_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TEMPORAL__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPORAL__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPORAL__VALUE = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Temporal</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEMPORAL_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TRANSIENT__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSIENT__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The number of structural features of the '<em>Transient</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSIENT_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UNIQUE_CONSTRAINT__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNIQUE_CONSTRAINT__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Column Names</b></em>' attribute list.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNIQUE_CONSTRAINT__COLUMN_NAMES = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Unique Constraint</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNIQUE_CONSTRAINT_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ int VERSION__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERSION__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The number of structural features of the '<em>Version</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VERSION_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ForeignKeyImpl <em>Foreign Key</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.ForeignKeyImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getForeignKey()
+ * @generated
+ */
+ int FOREIGN_KEY = 35;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FOREIGN_KEY__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FOREIGN_KEY__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FOREIGN_KEY__NAME = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Foreign Key</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FOREIGN_KEY_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.SequenceStyleGeneratorImpl <em>Sequence Style Generator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.SequenceStyleGeneratorImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getSequenceStyleGenerator()
+ * @generated
+ */
+ int SEQUENCE_STYLE_GENERATOR = 36;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_STYLE_GENERATOR__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_STYLE_GENERATOR__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_STYLE_GENERATOR__NAME = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Sequence Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_STYLE_GENERATOR__SEQUENCE_NAME = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Initial Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_STYLE_GENERATOR__INITIAL_VALUE = PANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Increment Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_STYLE_GENERATOR__INCREMENT_SIZE = PANNOTATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Optimizer</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_STYLE_GENERATOR__OPTIMIZER = PANNOTATION_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Sequence Style Generator</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_STYLE_GENERATOR_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ExternalImpl <em>External</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.ExternalImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getExternal()
+ * @generated
+ */
+ int EXTERNAL = 37;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL__TYPE = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>External</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTERNAL_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.EAVMappingImpl <em>EAV Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.EAVMappingImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getEAVMapping()
+ * @generated
+ */
+ int EAV_MAPPING = 38;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EAV_MAPPING__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EAV_MAPPING__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The number of structural features of the '<em>EAV Mapping</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EAV_MAPPING_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.NoEAVMappingImpl <em>No EAV Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.NoEAVMappingImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getNoEAVMapping()
+ * @generated
+ */
+ int NO_EAV_MAPPING = 39;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NO_EAV_MAPPING__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NO_EAV_MAPPING__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The number of structural features of the '<em>No EAV Mapping</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NO_EAV_MAPPING_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ListIndexColumnImpl <em>List Index Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.ListIndexColumnImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getListIndexColumn()
+ * @generated
+ */
+ int LIST_INDEX_COLUMN = 40;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIST_INDEX_COLUMN__EMODEL_ELEMENT = PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIST_INDEX_COLUMN__GENERATED = PANNOTATION__GENERATED;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIST_INDEX_COLUMN__NAME = PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>List Index Column</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIST_INDEX_COLUMN_FEATURE_COUNT = PANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.FetchType <em>Fetch Type</em>}' enum.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.FetchType
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getFetchType()
+ * @generated
+ */
+ int FETCH_TYPE = 44;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorType <em>Discriminator Type</em>}' enum.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorType
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getDiscriminatorType()
+ * @generated
+ */
+ int DISCRIMINATOR_TYPE = 42;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.EnumType <em>Enum Type</em>}' enum.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.EnumType
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getEnumType()
+ * @generated
+ */
+ int ENUM_TYPE = 43;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.InheritanceType <em>Inheritance Type</em>}' enum.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.InheritanceType
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getInheritanceType()
+ * @generated
+ */
+ int INHERITANCE_TYPE = 46;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.CascadeType <em>Cascade Type</em>}' enum.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.CascadeType
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getCascadeType()
+ * @generated
+ */
+ int CASCADE_TYPE = 41;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.TemporalType <em>Temporal Type</em>}' enum.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.TemporalType
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getTemporalType()
+ * @generated
+ */
+ int TEMPORAL_TYPE = 47;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.OptimizerType <em>Optimizer Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.OptimizerType
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getOptimizerType()
+ * @generated
+ */
+ int OPTIMIZER_TYPE = 48;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.annotations.pannotation.GenerationType <em>Generation Type</em>}' enum.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.GenerationType
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getGenerationType()
+ * @generated
+ */
+ int GENERATION_TYPE = 45;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.PAnnotation <em>PAnnotation</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>PAnnotation</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PAnnotation
+ * @generated
+ */
+ EClass getPAnnotation();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.teneo.annotations.pannotation.PAnnotation#getEModelElement <em>EModel Element</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>EModel Element</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PAnnotation#getEModelElement()
+ * @see #getPAnnotation()
+ * @generated
+ */
+ EReference getPAnnotation_EModelElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.PAnnotation#isGenerated <em>Generated</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Generated</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PAnnotation#isGenerated()
+ * @see #getPAnnotation()
+ * @generated
+ */
+ EAttribute getPAnnotation_Generated();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.AttributeOverride <em>Attribute Override</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Attribute Override</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.AttributeOverride
+ * @generated
+ */
+ EClass getAttributeOverride();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.AttributeOverride#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.AttributeOverride#getName()
+ * @see #getAttributeOverride()
+ * @generated
+ */
+ EAttribute getAttributeOverride_Name();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pannotation.AttributeOverride#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.pannotation.AttributeOverride#getColumn()
+ * @see #getAttributeOverride()
+ * @generated
+ */
+ EReference getAttributeOverride_Column();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.Basic <em>Basic</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Basic</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Basic
+ * @generated
+ */
+ EClass getBasic();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.Basic#getFetch <em>Fetch</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Fetch</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Basic#getFetch()
+ * @see #getBasic()
+ * @generated
+ */
+ EAttribute getBasic_Fetch();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.Basic#isOptional <em>Optional</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Optional</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Basic#isOptional()
+ * @see #getBasic()
+ * @generated
+ */
+ EAttribute getBasic_Optional();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.Column <em>Column</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Column</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Column
+ * @generated
+ */
+ EClass getColumn();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Column#getName()
+ * @see #getColumn()
+ * @generated
+ */
+ EAttribute getColumn_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getLength <em>Length</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Length</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Column#getLength()
+ * @see #getColumn()
+ * @generated
+ */
+ EAttribute getColumn_Length();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getScale <em>Scale</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Scale</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Column#getScale()
+ * @see #getColumn()
+ * @generated
+ */
+ EAttribute getColumn_Scale();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getUniqueKey <em>Unique Key</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unique Key</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Column#getUniqueKey()
+ * @see #getColumn()
+ * @generated
+ */
+ EAttribute getColumn_UniqueKey();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getIndex <em>Index</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Index</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Column#getIndex()
+ * @see #getColumn()
+ * @generated
+ */
+ EAttribute getColumn_Index();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#isUnique <em>Unique</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unique</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Column#isUnique()
+ * @see #getColumn()
+ * @generated
+ */
+ EAttribute getColumn_Unique();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getPrecision <em>Precision</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Precision</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Column#getPrecision()
+ * @see #getColumn()
+ * @generated
+ */
+ EAttribute getColumn_Precision();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#isNullable <em>Nullable</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Nullable</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Column#isNullable()
+ * @see #getColumn()
+ * @generated
+ */
+ EAttribute getColumn_Nullable();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#isInsertable <em>Insertable</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Insertable</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Column#isInsertable()
+ * @see #getColumn()
+ * @generated
+ */
+ EAttribute getColumn_Insertable();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#isUpdatable <em>Updatable</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Updatable</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Column#isUpdatable()
+ * @see #getColumn()
+ * @generated
+ */
+ EAttribute getColumn_Updatable();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getColumnDefinition <em>Column Definition</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Column Definition</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Column#getColumnDefinition()
+ * @see #getColumn()
+ * @generated
+ */
+ EAttribute getColumn_ColumnDefinition();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.Column#getTable <em>Table</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Table</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Column#getTable()
+ * @see #getColumn()
+ * @generated
+ */
+ EAttribute getColumn_Table();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn <em>Discriminator Column</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Discriminator Column</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn
+ * @generated
+ */
+ EClass getDiscriminatorColumn();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn#getName()
+ * @see #getDiscriminatorColumn()
+ * @generated
+ */
+ EAttribute getDiscriminatorColumn_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn#getDiscriminatorType <em>Discriminator Type</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Discriminator Type</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn#getDiscriminatorType()
+ * @see #getDiscriminatorColumn()
+ * @generated
+ */
+ EAttribute getDiscriminatorColumn_DiscriminatorType();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn#getLength <em>Length</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Length</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn#getLength()
+ * @see #getDiscriminatorColumn()
+ * @generated
+ */
+ EAttribute getDiscriminatorColumn_Length();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn#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.pannotation.DiscriminatorColumn#getColumn()
+ * @see #getDiscriminatorColumn()
+ * @generated
+ */
+ EReference getDiscriminatorColumn_Column();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorValue <em>Discriminator Value</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Discriminator Value</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorValue
+ * @generated
+ */
+ EClass getDiscriminatorValue();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorValue#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorValue#getValue()
+ * @see #getDiscriminatorValue()
+ * @generated
+ */
+ EAttribute getDiscriminatorValue_Value();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn#getColumnDefinition <em>Column Definition</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Column Definition</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn#getColumnDefinition()
+ * @see #getDiscriminatorColumn()
+ * @generated
+ */
+ EAttribute getDiscriminatorColumn_ColumnDefinition();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.Embeddable <em>Embeddable</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Embeddable</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Embeddable
+ * @generated
+ */
+ EClass getEmbeddable();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.MappedSuperclass <em>Mapped Superclass</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Mapped Superclass</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.MappedSuperclass
+ * @generated
+ */
+ EClass getMappedSuperclass();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.Embedded <em>Embedded</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Embedded</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Embedded
+ * @generated
+ */
+ EClass getEmbedded();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.EmbeddedId <em>Embedded Id</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Embedded Id</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.EmbeddedId
+ * @generated
+ */
+ EClass getEmbeddedId();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.Enumerated <em>Enumerated</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Enumerated</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Enumerated
+ * @generated
+ */
+ EClass getEnumerated();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.Enumerated#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Enumerated#getValue()
+ * @see #getEnumerated()
+ * @generated
+ */
+ EAttribute getEnumerated_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.Entity <em>Entity</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Entity</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Entity
+ * @generated
+ */
+ EClass getEntity();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.Entity#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Entity#getName()
+ * @see #getEntity()
+ * @generated
+ */
+ EAttribute getEntity_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.Entity#getExtends <em>Extends</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Extends</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Entity#getExtends()
+ * @see #getEntity()
+ * @generated
+ */
+ EAttribute getEntity_Extends();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.GeneratedValue <em>Generated Value</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Generated Value</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.GeneratedValue
+ * @generated
+ */
+ EClass getGeneratedValue();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.GeneratedValue#getStrategy <em>Strategy</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Strategy</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.GeneratedValue#getStrategy()
+ * @see #getGeneratedValue()
+ * @generated
+ */
+ EAttribute getGeneratedValue_Strategy();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.GeneratedValue#getGenerator <em>Generator</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Generator</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.GeneratedValue#getGenerator()
+ * @see #getGeneratedValue()
+ * @generated
+ */
+ EAttribute getGeneratedValue_Generator();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.Id <em>Id</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Id</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Id
+ * @generated
+ */
+ EClass getId();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.IdClass <em>Id Class</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Id Class</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.IdClass
+ * @generated
+ */
+ EClass getIdClass();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.IdClass#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.IdClass#getValue()
+ * @see #getIdClass()
+ * @generated
+ */
+ EAttribute getIdClass_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.Inheritance <em>Inheritance</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Inheritance</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Inheritance
+ * @generated
+ */
+ EClass getInheritance();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.Inheritance#getStrategy <em>Strategy</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Strategy</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Inheritance#getStrategy()
+ * @see #getInheritance()
+ * @generated
+ */
+ EAttribute getInheritance_Strategy();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn <em>Join Column</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Join Column</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.JoinColumn
+ * @generated
+ */
+ EClass getJoinColumn();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#getName()
+ * @see #getJoinColumn()
+ * @generated
+ */
+ EAttribute getJoinColumn_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#isUnique <em>Unique</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unique</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#isUnique()
+ * @see #getJoinColumn()
+ * @generated
+ */
+ EAttribute getJoinColumn_Unique();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#isNullable <em>Nullable</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Nullable</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#isNullable()
+ * @see #getJoinColumn()
+ * @generated
+ */
+ EAttribute getJoinColumn_Nullable();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#isInsertable <em>Insertable</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Insertable</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#isInsertable()
+ * @see #getJoinColumn()
+ * @generated
+ */
+ EAttribute getJoinColumn_Insertable();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#isUpdatable <em>Updatable</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Updatable</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#isUpdatable()
+ * @see #getJoinColumn()
+ * @generated
+ */
+ EAttribute getJoinColumn_Updatable();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#getColumnDefinition <em>Column Definition</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Column Definition</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#getColumnDefinition()
+ * @see #getJoinColumn()
+ * @generated
+ */
+ EAttribute getJoinColumn_ColumnDefinition();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#getTable <em>Table</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Table</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#getTable()
+ * @see #getJoinColumn()
+ * @generated
+ */
+ EAttribute getJoinColumn_Table();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#getReferencedColumnName <em>Referenced Column Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Referenced Column Name</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.JoinColumn#getReferencedColumnName()
+ * @see #getJoinColumn()
+ * @generated
+ */
+ EAttribute getJoinColumn_ReferencedColumnName();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinTable <em>Join Table</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Join Table</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.JoinTable
+ * @generated
+ */
+ EClass getJoinTable();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinTable#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.JoinTable#getName()
+ * @see #getJoinTable()
+ * @generated
+ */
+ EAttribute getJoinTable_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinTable#getCatalog <em>Catalog</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Catalog</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.JoinTable#getCatalog()
+ * @see #getJoinTable()
+ * @generated
+ */
+ EAttribute getJoinTable_Catalog();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinTable#getSchema <em>Schema</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Schema</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.JoinTable#getSchema()
+ * @see #getJoinTable()
+ * @generated
+ */
+ EAttribute getJoinTable_Schema();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinTable#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.pannotation.JoinTable#getJoinColumns()
+ * @see #getJoinTable()
+ * @generated
+ */
+ EReference getJoinTable_JoinColumns();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinTable#getInverseJoinColumns <em>Inverse Join Columns</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Inverse Join Columns</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.JoinTable#getInverseJoinColumns()
+ * @see #getJoinTable()
+ * @generated
+ */
+ EReference getJoinTable_InverseJoinColumns();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinTable#getUniqueConstraints <em>Unique Constraints</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Unique Constraints</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.JoinTable#getUniqueConstraints()
+ * @see #getJoinTable()
+ * @generated
+ */
+ EReference getJoinTable_UniqueConstraints();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.Lob <em>Lob</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Lob</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Lob
+ * @generated
+ */
+ EClass getLob();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToMany <em>Many To Many</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Many To Many</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.ManyToMany
+ * @generated
+ */
+ EClass getManyToMany();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToMany#getFetch <em>Fetch</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Fetch</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.ManyToMany#getFetch()
+ * @see #getManyToMany()
+ * @generated
+ */
+ EAttribute getManyToMany_Fetch();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToMany#getTargetEntity <em>Target Entity</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Target Entity</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.ManyToMany#getTargetEntity()
+ * @see #getManyToMany()
+ * @generated
+ */
+ EAttribute getManyToMany_TargetEntity();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToMany#getCascade <em>Cascade</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Cascade</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.ManyToMany#getCascade()
+ * @see #getManyToMany()
+ * @generated
+ */
+ EAttribute getManyToMany_Cascade();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToMany#getMappedBy <em>Mapped By</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Mapped By</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.ManyToMany#getMappedBy()
+ * @see #getManyToMany()
+ * @generated
+ */
+ EAttribute getManyToMany_MappedBy();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToMany#isIndexed <em>Indexed</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Indexed</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.ManyToMany#isIndexed()
+ * @see #getManyToMany()
+ * @generated
+ */
+ EAttribute getManyToMany_Indexed();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToOne <em>Many To One</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Many To One</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.ManyToOne
+ * @generated
+ */
+ EClass getManyToOne();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToOne#getFetch <em>Fetch</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Fetch</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.ManyToOne#getFetch()
+ * @see #getManyToOne()
+ * @generated
+ */
+ EAttribute getManyToOne_Fetch();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToOne#isOptional <em>Optional</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Optional</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.ManyToOne#isOptional()
+ * @see #getManyToOne()
+ * @generated
+ */
+ EAttribute getManyToOne_Optional();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToOne#getTargetEntity <em>Target Entity</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Target Entity</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.ManyToOne#getTargetEntity()
+ * @see #getManyToOne()
+ * @generated
+ */
+ EAttribute getManyToOne_TargetEntity();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToOne#getCascade <em>Cascade</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Cascade</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.ManyToOne#getCascade()
+ * @see #getManyToOne()
+ * @generated
+ */
+ EAttribute getManyToOne_Cascade();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.MapKey <em>Map Key</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Map Key</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.MapKey
+ * @generated
+ */
+ EClass getMapKey();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.MapKey#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.MapKey#getName()
+ * @see #getMapKey()
+ * @generated
+ */
+ EAttribute getMapKey_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.OneToMany <em>One To Many</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>One To Many</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.OneToMany
+ * @generated
+ */
+ EClass getOneToMany();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.OneToMany#getFetch <em>Fetch</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Fetch</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.OneToMany#getFetch()
+ * @see #getOneToMany()
+ * @generated
+ */
+ EAttribute getOneToMany_Fetch();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.OneToMany#getTargetEntity <em>Target Entity</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Target Entity</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.OneToMany#getTargetEntity()
+ * @see #getOneToMany()
+ * @generated
+ */
+ EAttribute getOneToMany_TargetEntity();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.emf.teneo.annotations.pannotation.OneToMany#getCascade <em>Cascade</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Cascade</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.OneToMany#getCascade()
+ * @see #getOneToMany()
+ * @generated
+ */
+ EAttribute getOneToMany_Cascade();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.OneToMany#getMappedBy <em>Mapped By</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Mapped By</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.OneToMany#getMappedBy()
+ * @see #getOneToMany()
+ * @generated
+ */
+ EAttribute getOneToMany_MappedBy();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.OneToMany#isIndexed <em>Indexed</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Indexed</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.OneToMany#isIndexed()
+ * @see #getOneToMany()
+ * @generated
+ */
+ EAttribute getOneToMany_Indexed();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.OneToMany#isUnique <em>Unique</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unique</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.OneToMany#isUnique()
+ * @see #getOneToMany()
+ * @generated
+ */
+ EAttribute getOneToMany_Unique();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.OneToOne <em>One To One</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>One To One</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.OneToOne
+ * @generated
+ */
+ EClass getOneToOne();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.OneToOne#getFetch <em>Fetch</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Fetch</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.OneToOne#getFetch()
+ * @see #getOneToOne()
+ * @generated
+ */
+ EAttribute getOneToOne_Fetch();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.OneToOne#isOptional <em>Optional</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Optional</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.OneToOne#isOptional()
+ * @see #getOneToOne()
+ * @generated
+ */
+ EAttribute getOneToOne_Optional();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.OneToOne#getTargetEntity <em>Target Entity</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Target Entity</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.OneToOne#getTargetEntity()
+ * @see #getOneToOne()
+ * @generated
+ */
+ EAttribute getOneToOne_TargetEntity();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.emf.teneo.annotations.pannotation.OneToOne#getCascade <em>Cascade</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Cascade</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.OneToOne#getCascade()
+ * @see #getOneToOne()
+ * @generated
+ */
+ EAttribute getOneToOne_Cascade();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.OneToOne#getMappedBy <em>Mapped By</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Mapped By</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.OneToOne#getMappedBy()
+ * @see #getOneToOne()
+ * @generated
+ */
+ EAttribute getOneToOne_MappedBy();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.OrderBy <em>Order By</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Order By</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.OrderBy
+ * @generated
+ */
+ EClass getOrderBy();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.OrderBy#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.OrderBy#getValue()
+ * @see #getOrderBy()
+ * @generated
+ */
+ EAttribute getOrderBy_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.PrimaryKeyJoinColumn <em>Primary Key Join Column</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Primary Key Join Column</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PrimaryKeyJoinColumn
+ * @generated
+ */
+ EClass getPrimaryKeyJoinColumn();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.PrimaryKeyJoinColumn#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PrimaryKeyJoinColumn#getName()
+ * @see #getPrimaryKeyJoinColumn()
+ * @generated
+ */
+ EAttribute getPrimaryKeyJoinColumn_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.PrimaryKeyJoinColumn#getColumnDefinition <em>Column Definition</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Column Definition</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PrimaryKeyJoinColumn#getColumnDefinition()
+ * @see #getPrimaryKeyJoinColumn()
+ * @generated
+ */
+ EAttribute getPrimaryKeyJoinColumn_ColumnDefinition();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.PrimaryKeyJoinColumn#getReferencedColumnName <em>Referenced Column Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Referenced Column Name</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PrimaryKeyJoinColumn#getReferencedColumnName()
+ * @see #getPrimaryKeyJoinColumn()
+ * @generated
+ */
+ EAttribute getPrimaryKeyJoinColumn_ReferencedColumnName();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable <em>Secondary Table</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Secondary Table</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable
+ * @generated
+ */
+ EClass getSecondaryTable();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable#getName()
+ * @see #getSecondaryTable()
+ * @generated
+ */
+ EAttribute getSecondaryTable_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable#getCatalog <em>Catalog</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Catalog</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable#getCatalog()
+ * @see #getSecondaryTable()
+ * @generated
+ */
+ EAttribute getSecondaryTable_Catalog();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable#getSchema <em>Schema</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Schema</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable#getSchema()
+ * @see #getSecondaryTable()
+ * @generated
+ */
+ EAttribute getSecondaryTable_Schema();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable#getPkJoinColumns <em>Pk Join Columns</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Pk Join Columns</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable#getPkJoinColumns()
+ * @see #getSecondaryTable()
+ * @generated
+ */
+ EReference getSecondaryTable_PkJoinColumns();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable#getUniqueConstraints <em>Unique Constraints</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Unique Constraints</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable#getUniqueConstraints()
+ * @see #getSecondaryTable()
+ * @generated
+ */
+ EReference getSecondaryTable_UniqueConstraints();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator <em>Sequence Generator</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Sequence Generator</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator
+ * @generated
+ */
+ EClass getSequenceGenerator();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator#getName()
+ * @see #getSequenceGenerator()
+ * @generated
+ */
+ EAttribute getSequenceGenerator_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator#getInitialValue <em>Initial Value</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Initial Value</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator#getInitialValue()
+ * @see #getSequenceGenerator()
+ * @generated
+ */
+ EAttribute getSequenceGenerator_InitialValue();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator#getSequenceName <em>Sequence Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Sequence Name</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator#getSequenceName()
+ * @see #getSequenceGenerator()
+ * @generated
+ */
+ EAttribute getSequenceGenerator_SequenceName();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator#getAllocationSize <em>Allocation Size</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Allocation Size</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator#getAllocationSize()
+ * @see #getSequenceGenerator()
+ * @generated
+ */
+ EAttribute getSequenceGenerator_AllocationSize();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.Table <em>Table</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Table</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Table
+ * @generated
+ */
+ EClass getTable();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.Table#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Table#getName()
+ * @see #getTable()
+ * @generated
+ */
+ EAttribute getTable_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.Table#getCatalog <em>Catalog</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Catalog</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Table#getCatalog()
+ * @see #getTable()
+ * @generated
+ */
+ EAttribute getTable_Catalog();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.Table#getSchema <em>Schema</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Schema</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Table#getSchema()
+ * @see #getTable()
+ * @generated
+ */
+ EAttribute getTable_Schema();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.annotations.pannotation.Table#getUniqueConstraints <em>Unique Constraints</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Unique Constraints</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Table#getUniqueConstraints()
+ * @see #getTable()
+ * @generated
+ */
+ EReference getTable_UniqueConstraints();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator <em>Table Generator</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Table Generator</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.TableGenerator
+ * @generated
+ */
+ EClass getTableGenerator();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getName()
+ * @see #getTableGenerator()
+ * @generated
+ */
+ EAttribute getTableGenerator_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getAllocationSize <em>Allocation Size</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Allocation Size</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getAllocationSize()
+ * @see #getTableGenerator()
+ * @generated
+ */
+ EAttribute getTableGenerator_AllocationSize();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getTable <em>Table</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Table</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getTable()
+ * @see #getTableGenerator()
+ * @generated
+ */
+ EAttribute getTableGenerator_Table();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getCatalog <em>Catalog</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Catalog</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getCatalog()
+ * @see #getTableGenerator()
+ * @generated
+ */
+ EAttribute getTableGenerator_Catalog();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getSchema <em>Schema</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Schema</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getSchema()
+ * @see #getTableGenerator()
+ * @generated
+ */
+ EAttribute getTableGenerator_Schema();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getPkColumnName <em>Pk Column Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Pk Column Name</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getPkColumnName()
+ * @see #getTableGenerator()
+ * @generated
+ */
+ EAttribute getTableGenerator_PkColumnName();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getValueColumnName <em>Value Column Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value Column Name</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getValueColumnName()
+ * @see #getTableGenerator()
+ * @generated
+ */
+ EAttribute getTableGenerator_ValueColumnName();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getInitialValue <em>Initial Value</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Initial Value</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getInitialValue()
+ * @see #getTableGenerator()
+ * @generated
+ */
+ EAttribute getTableGenerator_InitialValue();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getPkColumnValue <em>Pk Column Value</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Pk Column Value</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getPkColumnValue()
+ * @see #getTableGenerator()
+ * @generated
+ */
+ EAttribute getTableGenerator_PkColumnValue();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getUniqueConstraints <em>Unique Constraints</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Unique Constraints</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getUniqueConstraints()
+ * @see #getTableGenerator()
+ * @generated
+ */
+ EReference getTableGenerator_UniqueConstraints();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.Temporal <em>Temporal</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Temporal</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Temporal
+ * @generated
+ */
+ EClass getTemporal();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.Temporal#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Temporal#getValue()
+ * @see #getTemporal()
+ * @generated
+ */
+ EAttribute getTemporal_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.Transient <em>Transient</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Transient</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Transient
+ * @generated
+ */
+ EClass getTransient();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint <em>Unique Constraint</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Unique Constraint</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint
+ * @generated
+ */
+ EClass getUniqueConstraint();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint#getColumnNames <em>Column Names</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Column Names</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint#getColumnNames()
+ * @see #getUniqueConstraint()
+ * @generated
+ */
+ EAttribute getUniqueConstraint_ColumnNames();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.Version <em>Version</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Version</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Version
+ * @generated
+ */
+ EClass getVersion();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.ForeignKey <em>Foreign Key</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Foreign Key</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.ForeignKey
+ * @generated
+ */
+ EClass getForeignKey();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.ForeignKey#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.ForeignKey#getName()
+ * @see #getForeignKey()
+ * @generated
+ */
+ EAttribute getForeignKey_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator <em>Sequence Style Generator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Sequence Style Generator</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator
+ * @generated
+ */
+ EClass getSequenceStyleGenerator();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator#getName()
+ * @see #getSequenceStyleGenerator()
+ * @generated
+ */
+ EAttribute getSequenceStyleGenerator_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator#getSequenceName <em>Sequence Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Sequence Name</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator#getSequenceName()
+ * @see #getSequenceStyleGenerator()
+ * @generated
+ */
+ EAttribute getSequenceStyleGenerator_SequenceName();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator#getInitialValue <em>Initial Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Initial Value</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator#getInitialValue()
+ * @see #getSequenceStyleGenerator()
+ * @generated
+ */
+ EAttribute getSequenceStyleGenerator_InitialValue();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator#getIncrementSize <em>Increment Size</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Increment Size</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator#getIncrementSize()
+ * @see #getSequenceStyleGenerator()
+ * @generated
+ */
+ EAttribute getSequenceStyleGenerator_IncrementSize();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator#getOptimizer <em>Optimizer</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Optimizer</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator#getOptimizer()
+ * @see #getSequenceStyleGenerator()
+ * @generated
+ */
+ EAttribute getSequenceStyleGenerator_Optimizer();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.External <em>External</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>External</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.External
+ * @generated
+ */
+ EClass getExternal();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.External#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Type</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.External#getType()
+ * @see #getExternal()
+ * @generated
+ */
+ EAttribute getExternal_Type();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.EAVMapping <em>EAV Mapping</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>EAV Mapping</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.EAVMapping
+ * @generated
+ */
+ EClass getEAVMapping();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.NoEAVMapping <em>No EAV Mapping</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>No EAV Mapping</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.NoEAVMapping
+ * @generated
+ */
+ EClass getNoEAVMapping();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.ListIndexColumn <em>List Index Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>List Index Column</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.ListIndexColumn
+ * @generated
+ */
+ EClass getListIndexColumn();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.ListIndexColumn#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.ListIndexColumn#getName()
+ * @see #getListIndexColumn()
+ * @generated
+ */
+ EAttribute getListIndexColumn_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.annotations.pannotation.AssociationOverride <em>Association Override</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Association Override</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.AssociationOverride
+ * @generated
+ */
+ EClass getAssociationOverride();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.annotations.pannotation.AssociationOverride#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.AssociationOverride#getName()
+ * @see #getAssociationOverride()
+ * @generated
+ */
+ EAttribute getAssociationOverride_Name();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.annotations.pannotation.AssociationOverride#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.pannotation.AssociationOverride#getJoinColumns()
+ * @see #getAssociationOverride()
+ * @generated
+ */
+ EReference getAssociationOverride_JoinColumns();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.emf.teneo.annotations.pannotation.FetchType <em>Fetch Type</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Fetch Type</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.FetchType
+ * @generated
+ */
+ EEnum getFetchType();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorType <em>Discriminator Type</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Discriminator Type</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorType
+ * @generated
+ */
+ EEnum getDiscriminatorType();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.emf.teneo.annotations.pannotation.EnumType <em>Enum Type</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Enum Type</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.EnumType
+ * @generated
+ */
+ EEnum getEnumType();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.emf.teneo.annotations.pannotation.InheritanceType <em>Inheritance Type</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Inheritance Type</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.InheritanceType
+ * @generated
+ */
+ EEnum getInheritanceType();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.emf.teneo.annotations.pannotation.CascadeType <em>Cascade Type</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Cascade Type</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.CascadeType
+ * @generated
+ */
+ EEnum getCascadeType();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.emf.teneo.annotations.pannotation.TemporalType <em>Temporal Type</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Temporal Type</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.TemporalType
+ * @generated
+ */
+ EEnum getTemporalType();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.emf.teneo.annotations.pannotation.OptimizerType <em>Optimizer Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Optimizer Type</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.OptimizerType
+ * @generated
+ */
+ EEnum getOptimizerType();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.emf.teneo.annotations.pannotation.GenerationType <em>Generation Type</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Generation Type</em>'.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.GenerationType
+ * @generated
+ */
+ EEnum getGenerationType();
+
+ /**
+ * 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
+ */
+ PannotationFactory getPannotationFactory();
+
+ /**
+ * <!-- 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.pannotation.impl.PAnnotationImpl <em>PAnnotation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PAnnotationImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getPAnnotation()
+ * @generated
+ */
+ EClass PANNOTATION = eINSTANCE.getPAnnotation();
+
+ /**
+ * The meta object literal for the '<em><b>EModel Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PANNOTATION__EMODEL_ELEMENT = eINSTANCE.getPAnnotation_EModelElement();
+
+ /**
+ * The meta object literal for the '<em><b>Generated</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PANNOTATION__GENERATED = eINSTANCE.getPAnnotation_Generated();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.AttributeOverrideImpl <em>Attribute Override</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.AttributeOverrideImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getAttributeOverride()
+ * @generated
+ */
+ EClass ATTRIBUTE_OVERRIDE = eINSTANCE.getAttributeOverride();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ATTRIBUTE_OVERRIDE__NAME = eINSTANCE.getAttributeOverride_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Column</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ATTRIBUTE_OVERRIDE__COLUMN = eINSTANCE.getAttributeOverride_Column();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.AssociationOverrideImpl <em>Association Override</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.AssociationOverrideImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getAssociationOverride()
+ * @generated
+ */
+ EClass ASSOCIATION_OVERRIDE = eINSTANCE.getAssociationOverride();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ASSOCIATION_OVERRIDE__NAME = eINSTANCE.getAssociationOverride_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Join Columns</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ASSOCIATION_OVERRIDE__JOIN_COLUMNS = eINSTANCE.getAssociationOverride_JoinColumns();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.BasicImpl <em>Basic</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.BasicImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getBasic()
+ * @generated
+ */
+ EClass BASIC = eINSTANCE.getBasic();
+
+ /**
+ * The meta object literal for the '<em><b>Fetch</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute BASIC__FETCH = eINSTANCE.getBasic_Fetch();
+
+ /**
+ * The meta object literal for the '<em><b>Optional</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute BASIC__OPTIONAL = eINSTANCE.getBasic_Optional();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ColumnImpl <em>Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.ColumnImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getColumn()
+ * @generated
+ */
+ EClass COLUMN = eINSTANCE.getColumn();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute COLUMN__NAME = eINSTANCE.getColumn_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Unique</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute COLUMN__UNIQUE = eINSTANCE.getColumn_Unique();
+
+ /**
+ * The meta object literal for the '<em><b>Nullable</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute COLUMN__NULLABLE = eINSTANCE.getColumn_Nullable();
+
+ /**
+ * The meta object literal for the '<em><b>Insertable</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute COLUMN__INSERTABLE = eINSTANCE.getColumn_Insertable();
+
+ /**
+ * The meta object literal for the '<em><b>Updatable</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute COLUMN__UPDATABLE = eINSTANCE.getColumn_Updatable();
+
+ /**
+ * The meta object literal for the '<em><b>Column Definition</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute COLUMN__COLUMN_DEFINITION = eINSTANCE.getColumn_ColumnDefinition();
+
+ /**
+ * The meta object literal for the '<em><b>Table</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute COLUMN__TABLE = eINSTANCE.getColumn_Table();
+
+ /**
+ * The meta object literal for the '<em><b>Length</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute COLUMN__LENGTH = eINSTANCE.getColumn_Length();
+
+ /**
+ * The meta object literal for the '<em><b>Precision</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute COLUMN__PRECISION = eINSTANCE.getColumn_Precision();
+
+ /**
+ * The meta object literal for the '<em><b>Scale</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute COLUMN__SCALE = eINSTANCE.getColumn_Scale();
+
+ /**
+ * The meta object literal for the '<em><b>Unique Key</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute COLUMN__UNIQUE_KEY = eINSTANCE.getColumn_UniqueKey();
+
+ /**
+ * The meta object literal for the '<em><b>Index</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute COLUMN__INDEX = eINSTANCE.getColumn_Index();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.DiscriminatorColumnImpl <em>Discriminator Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.DiscriminatorColumnImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getDiscriminatorColumn()
+ * @generated
+ */
+ EClass DISCRIMINATOR_COLUMN = eINSTANCE.getDiscriminatorColumn();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DISCRIMINATOR_COLUMN__NAME = eINSTANCE.getDiscriminatorColumn_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Discriminator Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE = eINSTANCE.getDiscriminatorColumn_DiscriminatorType();
+
+ /**
+ * The meta object literal for the '<em><b>Column Definition</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DISCRIMINATOR_COLUMN__COLUMN_DEFINITION = eINSTANCE.getDiscriminatorColumn_ColumnDefinition();
+
+ /**
+ * The meta object literal for the '<em><b>Length</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DISCRIMINATOR_COLUMN__LENGTH = eINSTANCE.getDiscriminatorColumn_Length();
+
+ /**
+ * The meta object literal for the '<em><b>Column</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DISCRIMINATOR_COLUMN__COLUMN = eINSTANCE.getDiscriminatorColumn_Column();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.DiscriminatorValueImpl <em>Discriminator Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.DiscriminatorValueImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getDiscriminatorValue()
+ * @generated
+ */
+ EClass DISCRIMINATOR_VALUE = eINSTANCE.getDiscriminatorValue();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DISCRIMINATOR_VALUE__VALUE = eINSTANCE.getDiscriminatorValue_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.EmbeddableImpl <em>Embeddable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.EmbeddableImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getEmbeddable()
+ * @generated
+ */
+ EClass EMBEDDABLE = eINSTANCE.getEmbeddable();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.EmbeddedImpl <em>Embedded</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.EmbeddedImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getEmbedded()
+ * @generated
+ */
+ EClass EMBEDDED = eINSTANCE.getEmbedded();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.EmbeddedIdImpl <em>Embedded Id</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.EmbeddedIdImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getEmbeddedId()
+ * @generated
+ */
+ EClass EMBEDDED_ID = eINSTANCE.getEmbeddedId();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.EntityImpl <em>Entity</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.EntityImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getEntity()
+ * @generated
+ */
+ EClass ENTITY = eINSTANCE.getEntity();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ENTITY__NAME = eINSTANCE.getEntity_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Extends</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ENTITY__EXTENDS = eINSTANCE.getEntity_Extends();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.EnumeratedImpl <em>Enumerated</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.EnumeratedImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getEnumerated()
+ * @generated
+ */
+ EClass ENUMERATED = eINSTANCE.getEnumerated();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ENUMERATED__VALUE = eINSTANCE.getEnumerated_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.GeneratedValueImpl <em>Generated Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.GeneratedValueImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getGeneratedValue()
+ * @generated
+ */
+ EClass GENERATED_VALUE = eINSTANCE.getGeneratedValue();
+
+ /**
+ * The meta object literal for the '<em><b>Strategy</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute GENERATED_VALUE__STRATEGY = eINSTANCE.getGeneratedValue_Strategy();
+
+ /**
+ * The meta object literal for the '<em><b>Generator</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute GENERATED_VALUE__GENERATOR = eINSTANCE.getGeneratedValue_Generator();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.IdImpl <em>Id</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.IdImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getId()
+ * @generated
+ */
+ EClass ID = eINSTANCE.getId();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.IdClassImpl <em>Id Class</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.IdClassImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getIdClass()
+ * @generated
+ */
+ EClass ID_CLASS = eINSTANCE.getIdClass();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ID_CLASS__VALUE = eINSTANCE.getIdClass_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.InheritanceImpl <em>Inheritance</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.InheritanceImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getInheritance()
+ * @generated
+ */
+ EClass INHERITANCE = eINSTANCE.getInheritance();
+
+ /**
+ * The meta object literal for the '<em><b>Strategy</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute INHERITANCE__STRATEGY = eINSTANCE.getInheritance_Strategy();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.JoinColumnImpl <em>Join Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.JoinColumnImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getJoinColumn()
+ * @generated
+ */
+ EClass JOIN_COLUMN = eINSTANCE.getJoinColumn();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute JOIN_COLUMN__NAME = eINSTANCE.getJoinColumn_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Referenced Column Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute JOIN_COLUMN__REFERENCED_COLUMN_NAME = eINSTANCE.getJoinColumn_ReferencedColumnName();
+
+ /**
+ * The meta object literal for the '<em><b>Unique</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute JOIN_COLUMN__UNIQUE = eINSTANCE.getJoinColumn_Unique();
+
+ /**
+ * The meta object literal for the '<em><b>Nullable</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute JOIN_COLUMN__NULLABLE = eINSTANCE.getJoinColumn_Nullable();
+
+ /**
+ * The meta object literal for the '<em><b>Insertable</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute JOIN_COLUMN__INSERTABLE = eINSTANCE.getJoinColumn_Insertable();
+
+ /**
+ * The meta object literal for the '<em><b>Updatable</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute JOIN_COLUMN__UPDATABLE = eINSTANCE.getJoinColumn_Updatable();
+
+ /**
+ * The meta object literal for the '<em><b>Column Definition</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute JOIN_COLUMN__COLUMN_DEFINITION = eINSTANCE.getJoinColumn_ColumnDefinition();
+
+ /**
+ * The meta object literal for the '<em><b>Table</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute JOIN_COLUMN__TABLE = eINSTANCE.getJoinColumn_Table();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.JoinTableImpl <em>Join Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.JoinTableImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getJoinTable()
+ * @generated
+ */
+ EClass JOIN_TABLE = eINSTANCE.getJoinTable();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute JOIN_TABLE__NAME = eINSTANCE.getJoinTable_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Catalog</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute JOIN_TABLE__CATALOG = eINSTANCE.getJoinTable_Catalog();
+
+ /**
+ * The meta object literal for the '<em><b>Schema</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute JOIN_TABLE__SCHEMA = eINSTANCE.getJoinTable_Schema();
+
+ /**
+ * The meta object literal for the '<em><b>Join Columns</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference JOIN_TABLE__JOIN_COLUMNS = eINSTANCE.getJoinTable_JoinColumns();
+
+ /**
+ * The meta object literal for the '<em><b>Inverse Join Columns</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference JOIN_TABLE__INVERSE_JOIN_COLUMNS = eINSTANCE.getJoinTable_InverseJoinColumns();
+
+ /**
+ * The meta object literal for the '<em><b>Unique Constraints</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference JOIN_TABLE__UNIQUE_CONSTRAINTS = eINSTANCE.getJoinTable_UniqueConstraints();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.LobImpl <em>Lob</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.LobImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getLob()
+ * @generated
+ */
+ EClass LOB = eINSTANCE.getLob();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ManyToManyImpl <em>Many To Many</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.ManyToManyImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getManyToMany()
+ * @generated
+ */
+ EClass MANY_TO_MANY = eINSTANCE.getManyToMany();
+
+ /**
+ * The meta object literal for the '<em><b>Target Entity</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MANY_TO_MANY__TARGET_ENTITY = eINSTANCE.getManyToMany_TargetEntity();
+
+ /**
+ * The meta object literal for the '<em><b>Cascade</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MANY_TO_MANY__CASCADE = eINSTANCE.getManyToMany_Cascade();
+
+ /**
+ * The meta object literal for the '<em><b>Fetch</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MANY_TO_MANY__FETCH = eINSTANCE.getManyToMany_Fetch();
+
+ /**
+ * The meta object literal for the '<em><b>Mapped By</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MANY_TO_MANY__MAPPED_BY = eINSTANCE.getManyToMany_MappedBy();
+
+ /**
+ * The meta object literal for the '<em><b>Indexed</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MANY_TO_MANY__INDEXED = eINSTANCE.getManyToMany_Indexed();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ManyToOneImpl <em>Many To One</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.ManyToOneImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getManyToOne()
+ * @generated
+ */
+ EClass MANY_TO_ONE = eINSTANCE.getManyToOne();
+
+ /**
+ * The meta object literal for the '<em><b>Target Entity</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MANY_TO_ONE__TARGET_ENTITY = eINSTANCE.getManyToOne_TargetEntity();
+
+ /**
+ * The meta object literal for the '<em><b>Cascade</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MANY_TO_ONE__CASCADE = eINSTANCE.getManyToOne_Cascade();
+
+ /**
+ * The meta object literal for the '<em><b>Fetch</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MANY_TO_ONE__FETCH = eINSTANCE.getManyToOne_Fetch();
+
+ /**
+ * The meta object literal for the '<em><b>Optional</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MANY_TO_ONE__OPTIONAL = eINSTANCE.getManyToOne_Optional();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.MapKeyImpl <em>Map Key</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.MapKeyImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getMapKey()
+ * @generated
+ */
+ EClass MAP_KEY = eINSTANCE.getMapKey();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MAP_KEY__NAME = eINSTANCE.getMapKey_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.MappedSuperclassImpl <em>Mapped Superclass</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.MappedSuperclassImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getMappedSuperclass()
+ * @generated
+ */
+ EClass MAPPED_SUPERCLASS = eINSTANCE.getMappedSuperclass();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.OneToManyImpl <em>One To Many</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.OneToManyImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getOneToMany()
+ * @generated
+ */
+ EClass ONE_TO_MANY = eINSTANCE.getOneToMany();
+
+ /**
+ * The meta object literal for the '<em><b>Target Entity</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ONE_TO_MANY__TARGET_ENTITY = eINSTANCE.getOneToMany_TargetEntity();
+
+ /**
+ * The meta object literal for the '<em><b>Cascade</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ONE_TO_MANY__CASCADE = eINSTANCE.getOneToMany_Cascade();
+
+ /**
+ * The meta object literal for the '<em><b>Fetch</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ONE_TO_MANY__FETCH = eINSTANCE.getOneToMany_Fetch();
+
+ /**
+ * The meta object literal for the '<em><b>Mapped By</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ONE_TO_MANY__MAPPED_BY = eINSTANCE.getOneToMany_MappedBy();
+
+ /**
+ * The meta object literal for the '<em><b>Indexed</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ONE_TO_MANY__INDEXED = eINSTANCE.getOneToMany_Indexed();
+
+ /**
+ * The meta object literal for the '<em><b>Unique</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ONE_TO_MANY__UNIQUE = eINSTANCE.getOneToMany_Unique();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.OneToOneImpl <em>One To One</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.OneToOneImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getOneToOne()
+ * @generated
+ */
+ EClass ONE_TO_ONE = eINSTANCE.getOneToOne();
+
+ /**
+ * The meta object literal for the '<em><b>Target Entity</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ONE_TO_ONE__TARGET_ENTITY = eINSTANCE.getOneToOne_TargetEntity();
+
+ /**
+ * The meta object literal for the '<em><b>Cascade</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ONE_TO_ONE__CASCADE = eINSTANCE.getOneToOne_Cascade();
+
+ /**
+ * The meta object literal for the '<em><b>Fetch</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ONE_TO_ONE__FETCH = eINSTANCE.getOneToOne_Fetch();
+
+ /**
+ * The meta object literal for the '<em><b>Optional</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ONE_TO_ONE__OPTIONAL = eINSTANCE.getOneToOne_Optional();
+
+ /**
+ * The meta object literal for the '<em><b>Mapped By</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ONE_TO_ONE__MAPPED_BY = eINSTANCE.getOneToOne_MappedBy();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.OrderByImpl <em>Order By</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.OrderByImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getOrderBy()
+ * @generated
+ */
+ EClass ORDER_BY = eINSTANCE.getOrderBy();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ORDER_BY__VALUE = eINSTANCE.getOrderBy_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.PrimaryKeyJoinColumnImpl <em>Primary Key Join Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PrimaryKeyJoinColumnImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getPrimaryKeyJoinColumn()
+ * @generated
+ */
+ EClass PRIMARY_KEY_JOIN_COLUMN = eINSTANCE.getPrimaryKeyJoinColumn();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PRIMARY_KEY_JOIN_COLUMN__NAME = eINSTANCE.getPrimaryKeyJoinColumn_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Referenced Column Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME = eINSTANCE.getPrimaryKeyJoinColumn_ReferencedColumnName();
+
+ /**
+ * The meta object literal for the '<em><b>Column Definition</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PRIMARY_KEY_JOIN_COLUMN__COLUMN_DEFINITION = eINSTANCE.getPrimaryKeyJoinColumn_ColumnDefinition();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.SecondaryTableImpl <em>Secondary Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.SecondaryTableImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getSecondaryTable()
+ * @generated
+ */
+ EClass SECONDARY_TABLE = eINSTANCE.getSecondaryTable();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SECONDARY_TABLE__NAME = eINSTANCE.getSecondaryTable_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Catalog</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SECONDARY_TABLE__CATALOG = eINSTANCE.getSecondaryTable_Catalog();
+
+ /**
+ * The meta object literal for the '<em><b>Schema</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SECONDARY_TABLE__SCHEMA = eINSTANCE.getSecondaryTable_Schema();
+
+ /**
+ * The meta object literal for the '<em><b>Pk Join Columns</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SECONDARY_TABLE__PK_JOIN_COLUMNS = eINSTANCE.getSecondaryTable_PkJoinColumns();
+
+ /**
+ * The meta object literal for the '<em><b>Unique Constraints</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SECONDARY_TABLE__UNIQUE_CONSTRAINTS = eINSTANCE.getSecondaryTable_UniqueConstraints();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.SequenceGeneratorImpl <em>Sequence Generator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.SequenceGeneratorImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getSequenceGenerator()
+ * @generated
+ */
+ EClass SEQUENCE_GENERATOR = eINSTANCE.getSequenceGenerator();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SEQUENCE_GENERATOR__NAME = eINSTANCE.getSequenceGenerator_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Sequence Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SEQUENCE_GENERATOR__SEQUENCE_NAME = eINSTANCE.getSequenceGenerator_SequenceName();
+
+ /**
+ * The meta object literal for the '<em><b>Initial Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SEQUENCE_GENERATOR__INITIAL_VALUE = eINSTANCE.getSequenceGenerator_InitialValue();
+
+ /**
+ * The meta object literal for the '<em><b>Allocation Size</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SEQUENCE_GENERATOR__ALLOCATION_SIZE = eINSTANCE.getSequenceGenerator_AllocationSize();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.TableImpl <em>Table</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.TableImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getTable()
+ * @generated
+ */
+ EClass TABLE = eINSTANCE.getTable();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TABLE__NAME = eINSTANCE.getTable_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Catalog</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TABLE__CATALOG = eINSTANCE.getTable_Catalog();
+
+ /**
+ * The meta object literal for the '<em><b>Schema</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TABLE__SCHEMA = eINSTANCE.getTable_Schema();
+
+ /**
+ * The meta object literal for the '<em><b>Unique Constraints</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TABLE__UNIQUE_CONSTRAINTS = eINSTANCE.getTable_UniqueConstraints();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.TableGeneratorImpl <em>Table Generator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.TableGeneratorImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getTableGenerator()
+ * @generated
+ */
+ EClass TABLE_GENERATOR = eINSTANCE.getTableGenerator();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TABLE_GENERATOR__NAME = eINSTANCE.getTableGenerator_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Table</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TABLE_GENERATOR__TABLE = eINSTANCE.getTableGenerator_Table();
+
+ /**
+ * The meta object literal for the '<em><b>Catalog</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TABLE_GENERATOR__CATALOG = eINSTANCE.getTableGenerator_Catalog();
+
+ /**
+ * The meta object literal for the '<em><b>Schema</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TABLE_GENERATOR__SCHEMA = eINSTANCE.getTableGenerator_Schema();
+
+ /**
+ * The meta object literal for the '<em><b>Pk Column Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TABLE_GENERATOR__PK_COLUMN_NAME = eINSTANCE.getTableGenerator_PkColumnName();
+
+ /**
+ * The meta object literal for the '<em><b>Value Column Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TABLE_GENERATOR__VALUE_COLUMN_NAME = eINSTANCE.getTableGenerator_ValueColumnName();
+
+ /**
+ * The meta object literal for the '<em><b>Pk Column Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TABLE_GENERATOR__PK_COLUMN_VALUE = eINSTANCE.getTableGenerator_PkColumnValue();
+
+ /**
+ * The meta object literal for the '<em><b>Initial Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TABLE_GENERATOR__INITIAL_VALUE = eINSTANCE.getTableGenerator_InitialValue();
+
+ /**
+ * The meta object literal for the '<em><b>Allocation Size</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TABLE_GENERATOR__ALLOCATION_SIZE = eINSTANCE.getTableGenerator_AllocationSize();
+
+ /**
+ * The meta object literal for the '<em><b>Unique Constraints</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TABLE_GENERATOR__UNIQUE_CONSTRAINTS = eINSTANCE.getTableGenerator_UniqueConstraints();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.TemporalImpl <em>Temporal</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.TemporalImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getTemporal()
+ * @generated
+ */
+ EClass TEMPORAL = eINSTANCE.getTemporal();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TEMPORAL__VALUE = eINSTANCE.getTemporal_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.TransientImpl <em>Transient</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.TransientImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getTransient()
+ * @generated
+ */
+ EClass TRANSIENT = eINSTANCE.getTransient();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.UniqueConstraintImpl <em>Unique Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.UniqueConstraintImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getUniqueConstraint()
+ * @generated
+ */
+ EClass UNIQUE_CONSTRAINT = eINSTANCE.getUniqueConstraint();
+
+ /**
+ * The meta object literal for the '<em><b>Column Names</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute UNIQUE_CONSTRAINT__COLUMN_NAMES = eINSTANCE.getUniqueConstraint_ColumnNames();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.VersionImpl <em>Version</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.VersionImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getVersion()
+ * @generated
+ */
+ EClass VERSION = eINSTANCE.getVersion();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ForeignKeyImpl <em>Foreign Key</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.ForeignKeyImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getForeignKey()
+ * @generated
+ */
+ EClass FOREIGN_KEY = eINSTANCE.getForeignKey();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FOREIGN_KEY__NAME = eINSTANCE.getForeignKey_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.SequenceStyleGeneratorImpl <em>Sequence Style Generator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.SequenceStyleGeneratorImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getSequenceStyleGenerator()
+ * @generated
+ */
+ EClass SEQUENCE_STYLE_GENERATOR = eINSTANCE.getSequenceStyleGenerator();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SEQUENCE_STYLE_GENERATOR__NAME = eINSTANCE.getSequenceStyleGenerator_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Sequence Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SEQUENCE_STYLE_GENERATOR__SEQUENCE_NAME = eINSTANCE.getSequenceStyleGenerator_SequenceName();
+
+ /**
+ * The meta object literal for the '<em><b>Initial Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SEQUENCE_STYLE_GENERATOR__INITIAL_VALUE = eINSTANCE.getSequenceStyleGenerator_InitialValue();
+
+ /**
+ * The meta object literal for the '<em><b>Increment Size</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SEQUENCE_STYLE_GENERATOR__INCREMENT_SIZE = eINSTANCE.getSequenceStyleGenerator_IncrementSize();
+
+ /**
+ * The meta object literal for the '<em><b>Optimizer</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SEQUENCE_STYLE_GENERATOR__OPTIMIZER = eINSTANCE.getSequenceStyleGenerator_Optimizer();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ExternalImpl <em>External</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.ExternalImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getExternal()
+ * @generated
+ */
+ EClass EXTERNAL = eINSTANCE.getExternal();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EXTERNAL__TYPE = eINSTANCE.getExternal_Type();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.EAVMappingImpl <em>EAV Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.EAVMappingImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getEAVMapping()
+ * @generated
+ */
+ EClass EAV_MAPPING = eINSTANCE.getEAVMapping();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.NoEAVMappingImpl <em>No EAV Mapping</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.NoEAVMappingImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getNoEAVMapping()
+ * @generated
+ */
+ EClass NO_EAV_MAPPING = eINSTANCE.getNoEAVMapping();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ListIndexColumnImpl <em>List Index Column</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.ListIndexColumnImpl
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getListIndexColumn()
+ * @generated
+ */
+ EClass LIST_INDEX_COLUMN = eINSTANCE.getListIndexColumn();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LIST_INDEX_COLUMN__NAME = eINSTANCE.getListIndexColumn_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.CascadeType <em>Cascade Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.CascadeType
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getCascadeType()
+ * @generated
+ */
+ EEnum CASCADE_TYPE = eINSTANCE.getCascadeType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorType <em>Discriminator Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorType
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getDiscriminatorType()
+ * @generated
+ */
+ EEnum DISCRIMINATOR_TYPE = eINSTANCE.getDiscriminatorType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.EnumType <em>Enum Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.EnumType
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getEnumType()
+ * @generated
+ */
+ EEnum ENUM_TYPE = eINSTANCE.getEnumType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.FetchType <em>Fetch Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.FetchType
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getFetchType()
+ * @generated
+ */
+ EEnum FETCH_TYPE = eINSTANCE.getFetchType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.GenerationType <em>Generation Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.GenerationType
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getGenerationType()
+ * @generated
+ */
+ EEnum GENERATION_TYPE = eINSTANCE.getGenerationType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.InheritanceType <em>Inheritance Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.InheritanceType
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getInheritanceType()
+ * @generated
+ */
+ EEnum INHERITANCE_TYPE = eINSTANCE.getInheritanceType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.TemporalType <em>Temporal Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.TemporalType
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getTemporalType()
+ * @generated
+ */
+ EEnum TEMPORAL_TYPE = eINSTANCE.getTemporalType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.annotations.pannotation.OptimizerType <em>Optimizer Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.OptimizerType
+ * @see org.eclipse.emf.teneo.annotations.pannotation.impl.PannotationPackageImpl#getOptimizerType()
+ * @generated
+ */
+ EEnum OPTIMIZER_TYPE = eINSTANCE.getOptimizerType();
+
+ }
+
+ /**
+ * @return Returns the eModelElement s types the given annotation applies to. Returns null if the given EClass is
+ * not annotation Class.
+ */
+ EClass[] getTargets(EClass pAnnotationEClass);
+
+ /**
+ * @param pAnnotationEClass
+ * EClass of the annotation.
+ * @param targetElementEClass
+ * EClass of the target.
+ * @return Returns true if and only pAnnotationEClass is the EClass of a PAnnotation and targetElementEClass is the
+ * EClass of a possible target of such annotation.
+ */
+ boolean isTarget(EClass pAnnotationEClass, EClass targetElementEClass);
+
+} // PannotationPackage
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/PrimaryKeyJoinColumn.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/PrimaryKeyJoinColumn.java
new file mode 100755
index 000000000..b6b7b93ae
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/PrimaryKeyJoinColumn.java
@@ -0,0 +1,102 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PrimaryKeyJoinColumn.java,v 1.6 2007/07/04 19:28:01 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Primary Key Join Column</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.PrimaryKeyJoinColumn#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.PrimaryKeyJoinColumn#getReferencedColumnName <em>Referenced Column Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.PrimaryKeyJoinColumn#getColumnDefinition <em>Column Definition</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getPrimaryKeyJoinColumn()
+ * @model annotation="teneo/internal/Target 0='EClass' 1='EReference'"
+ * @generated
+ */
+public interface PrimaryKeyJoinColumn extends PAnnotation {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getPrimaryKeyJoinColumn_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.PrimaryKeyJoinColumn#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Column Definition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Column Definition</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Column Definition</em>' attribute.
+ * @see #setColumnDefinition(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getPrimaryKeyJoinColumn_ColumnDefinition()
+ * @model
+ * @generated
+ */
+ String getColumnDefinition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.PrimaryKeyJoinColumn#getColumnDefinition <em>Column Definition</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Column Definition</em>' attribute.
+ * @see #getColumnDefinition()
+ * @generated
+ */
+ void setColumnDefinition(String value);
+
+ /**
+ * Returns the value of the '<em><b>Referenced Column Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Referenced Column Name</em>' attribute isn't clear, there really should be more of
+ * a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Referenced Column Name</em>' attribute.
+ * @see #setReferencedColumnName(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getPrimaryKeyJoinColumn_ReferencedColumnName()
+ * @model
+ * @generated
+ */
+ String getReferencedColumnName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.PrimaryKeyJoinColumn#getReferencedColumnName <em>Referenced Column Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Referenced Column Name</em>' attribute.
+ * @see #getReferencedColumnName()
+ * @generated
+ */
+ void setReferencedColumnName(String value);
+
+} // PrimaryKeyJoinColumn
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/SecondaryTable.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/SecondaryTable.java
new file mode 100755
index 000000000..ef9c9ad29
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/SecondaryTable.java
@@ -0,0 +1,138 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SecondaryTable.java,v 1.7 2007/07/04 19:28:01 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Secondary Table</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable#getCatalog <em>Catalog</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable#getSchema <em>Schema</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable#getPkJoinColumns <em>Pk Join Columns</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable#getUniqueConstraints <em>Unique Constraints</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getSecondaryTable()
+ * @model annotation="teneo/internal/Target 0='EClass'"
+ * @generated
+ */
+public interface SecondaryTable extends PAnnotation {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getSecondaryTable_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Catalog</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Catalog</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Catalog</em>' attribute.
+ * @see #setCatalog(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getSecondaryTable_Catalog()
+ * @model
+ * @generated
+ */
+ String getCatalog();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable#getCatalog <em>Catalog</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Catalog</em>' attribute.
+ * @see #getCatalog()
+ * @generated
+ */
+ void setCatalog(String value);
+
+ /**
+ * Returns the value of the '<em><b>Schema</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Schema</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Schema</em>' attribute.
+ * @see #setSchema(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getSecondaryTable_Schema()
+ * @model
+ * @generated
+ */
+ String getSchema();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable#getSchema <em>Schema</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Schema</em>' attribute.
+ * @see #getSchema()
+ * @generated
+ */
+ void setSchema(String value);
+
+ /**
+ * Returns the value of the '<em><b>Pk 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>Pk 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>Pk Join Columns</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getSecondaryTable_PkJoinColumns()
+ * @model containment="true"
+ * @generated
+ */
+ EList<PrimaryKeyJoinColumn> getPkJoinColumns();
+
+ /**
+ * Returns the value of the '<em><b>Unique Constraints</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Unique Constraints</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>Unique Constraints</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getSecondaryTable_UniqueConstraints()
+ * @model containment="true"
+ * @generated
+ */
+ EList<UniqueConstraint> getUniqueConstraints();
+
+} // SecondaryTable
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/SequenceGenerator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/SequenceGenerator.java
new file mode 100755
index 000000000..30fbc7a34
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/SequenceGenerator.java
@@ -0,0 +1,184 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SequenceGenerator.java,v 1.8 2008/10/13 05:35:42 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Sequence Generator</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator#getSequenceName <em>Sequence Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator#getInitialValue <em>Initial Value</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator#getAllocationSize <em>Allocation Size</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getSequenceGenerator()
+ * @model annotation="teneo/internal/Target 0='EClass' 1='EStructuralFeature' 2='EPackage'"
+ * @generated
+ */
+public interface SequenceGenerator extends PAnnotation {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getSequenceGenerator_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Initial Value</b></em>' attribute.
+ * The default value is <code>"1"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Initial Value</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Initial Value</em>' attribute.
+ * @see #isSetInitialValue()
+ * @see #unsetInitialValue()
+ * @see #setInitialValue(int)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getSequenceGenerator_InitialValue()
+ * @model default="1" unsettable="true"
+ * @generated
+ */
+ int getInitialValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator#getInitialValue <em>Initial Value</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Initial Value</em>' attribute.
+ * @see #isSetInitialValue()
+ * @see #unsetInitialValue()
+ * @see #getInitialValue()
+ * @generated
+ */
+ void setInitialValue(int value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator#getInitialValue <em>Initial Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetInitialValue()
+ * @see #getInitialValue()
+ * @see #setInitialValue(int)
+ * @generated
+ */
+ void unsetInitialValue();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator#getInitialValue <em>Initial Value</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Initial Value</em>' attribute is set.
+ * @see #unsetInitialValue()
+ * @see #getInitialValue()
+ * @see #setInitialValue(int)
+ * @generated
+ */
+ boolean isSetInitialValue();
+
+ /**
+ * Returns the value of the '<em><b>Sequence Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Sequence Name</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Sequence Name</em>' attribute.
+ * @see #setSequenceName(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getSequenceGenerator_SequenceName()
+ * @model
+ * @generated
+ */
+ String getSequenceName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator#getSequenceName <em>Sequence Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Sequence Name</em>' attribute.
+ * @see #getSequenceName()
+ * @generated
+ */
+ void setSequenceName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Allocation Size</b></em>' attribute.
+ * The default value is <code>"50"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Allocation Size</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Allocation Size</em>' attribute.
+ * @see #isSetAllocationSize()
+ * @see #unsetAllocationSize()
+ * @see #setAllocationSize(int)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getSequenceGenerator_AllocationSize()
+ * @model default="50" unsettable="true"
+ * @generated
+ */
+ int getAllocationSize();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator#getAllocationSize <em>Allocation Size</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Allocation Size</em>' attribute.
+ * @see #isSetAllocationSize()
+ * @see #unsetAllocationSize()
+ * @see #getAllocationSize()
+ * @generated
+ */
+ void setAllocationSize(int value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator#getAllocationSize <em>Allocation Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetAllocationSize()
+ * @see #getAllocationSize()
+ * @see #setAllocationSize(int)
+ * @generated
+ */
+ void unsetAllocationSize();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator#getAllocationSize <em>Allocation Size</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Allocation Size</em>' attribute is set.
+ * @see #unsetAllocationSize()
+ * @see #getAllocationSize()
+ * @see #setAllocationSize(int)
+ * @generated
+ */
+ boolean isSetAllocationSize();
+
+} // SequenceGenerator
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/SequenceStyleGenerator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/SequenceStyleGenerator.java
new file mode 100755
index 000000000..afeba449e
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/SequenceStyleGenerator.java
@@ -0,0 +1,167 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SequenceStyleGenerator.java,v 1.1 2008/10/13 05:35:42 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sequence Style Generator</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator#getSequenceName <em>Sequence Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator#getInitialValue <em>Initial Value</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator#getIncrementSize <em>Increment Size</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator#getOptimizer <em>Optimizer</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getSequenceStyleGenerator()
+ * @model annotation="teneo/internal/Target 0='EClass' 1='EStructuralFeature' 2='EPackage'"
+ * @generated
+ */
+public interface SequenceStyleGenerator extends PAnnotation {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getSequenceStyleGenerator_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Sequence Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Sequence Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Sequence Name</em>' attribute.
+ * @see #setSequenceName(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getSequenceStyleGenerator_SequenceName()
+ * @model
+ * @generated
+ */
+ String getSequenceName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator#getSequenceName <em>Sequence Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Sequence Name</em>' attribute.
+ * @see #getSequenceName()
+ * @generated
+ */
+ void setSequenceName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Initial Value</b></em>' attribute.
+ * The default value is <code>"1"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Initial Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Initial Value</em>' attribute.
+ * @see #setInitialValue(int)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getSequenceStyleGenerator_InitialValue()
+ * @model default="1"
+ * @generated
+ */
+ int getInitialValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator#getInitialValue <em>Initial Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Initial Value</em>' attribute.
+ * @see #getInitialValue()
+ * @generated
+ */
+ void setInitialValue(int value);
+
+ /**
+ * Returns the value of the '<em><b>Increment Size</b></em>' attribute.
+ * The default value is <code>"50"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Increment Size</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Increment Size</em>' attribute.
+ * @see #setIncrementSize(int)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getSequenceStyleGenerator_IncrementSize()
+ * @model default="50"
+ * @generated
+ */
+ int getIncrementSize();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator#getIncrementSize <em>Increment Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Increment Size</em>' attribute.
+ * @see #getIncrementSize()
+ * @generated
+ */
+ void setIncrementSize(int value);
+
+ /**
+ * Returns the value of the '<em><b>Optimizer</b></em>' attribute.
+ * The default value is <code>"NONE"</code>.
+ * The literals are from the enumeration {@link org.eclipse.emf.teneo.annotations.pannotation.OptimizerType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Optimizer</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Optimizer</em>' attribute.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.OptimizerType
+ * @see #setOptimizer(OptimizerType)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getSequenceStyleGenerator_Optimizer()
+ * @model default="NONE"
+ * @generated
+ */
+ OptimizerType getOptimizer();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator#getOptimizer <em>Optimizer</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Optimizer</em>' attribute.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.OptimizerType
+ * @see #getOptimizer()
+ * @generated
+ */
+ void setOptimizer(OptimizerType value);
+
+} // SequenceStyleGenerator
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Table.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Table.java
new file mode 100755
index 000000000..8fcd1584f
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Table.java
@@ -0,0 +1,120 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Table.java,v 1.6 2007/07/04 19:28:01 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Table</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.Table#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.Table#getCatalog <em>Catalog</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.Table#getSchema <em>Schema</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.Table#getUniqueConstraints <em>Unique Constraints</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getTable()
+ * @model annotation="teneo/internal/Target 0='EClass'"
+ * @generated
+ */
+public interface Table extends PAnnotation {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getTable_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Table#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Catalog</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Catalog</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Catalog</em>' attribute.
+ * @see #setCatalog(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getTable_Catalog()
+ * @model
+ * @generated
+ */
+ String getCatalog();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Table#getCatalog <em>Catalog</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Catalog</em>' attribute.
+ * @see #getCatalog()
+ * @generated
+ */
+ void setCatalog(String value);
+
+ /**
+ * Returns the value of the '<em><b>Schema</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Schema</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Schema</em>' attribute.
+ * @see #setSchema(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getTable_Schema()
+ * @model
+ * @generated
+ */
+ String getSchema();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Table#getSchema <em>Schema</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Schema</em>' attribute.
+ * @see #getSchema()
+ * @generated
+ */
+ void setSchema(String value);
+
+ /**
+ * Returns the value of the '<em><b>Unique Constraints</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Unique Constraints</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>Unique Constraints</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getTable_UniqueConstraints()
+ * @model containment="true"
+ * @generated
+ */
+ EList<UniqueConstraint> getUniqueConstraints();
+
+} // Table
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/TableGenerator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/TableGenerator.java
new file mode 100755
index 000000000..66590983b
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/TableGenerator.java
@@ -0,0 +1,304 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TableGenerator.java,v 1.6 2007/07/04 19:28:01 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Table Generator</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getTable <em>Table</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getCatalog <em>Catalog</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getSchema <em>Schema</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getPkColumnName <em>Pk Column Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getValueColumnName <em>Value Column Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getPkColumnValue <em>Pk Column Value</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getInitialValue <em>Initial Value</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getAllocationSize <em>Allocation Size</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getUniqueConstraints <em>Unique Constraints</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getTableGenerator()
+ * @model annotation="teneo/internal/Target 0='EClass' 1='EStructuralFeature' 2='EPackage'"
+ * @generated
+ */
+public interface TableGenerator extends PAnnotation {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getTableGenerator_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Allocation Size</b></em>' attribute.
+ * The default value is <code>"50"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Allocation Size</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Allocation Size</em>' attribute.
+ * @see #setAllocationSize(int)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getTableGenerator_AllocationSize()
+ * @model default="50"
+ * @generated
+ */
+ int getAllocationSize();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getAllocationSize <em>Allocation Size</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Allocation Size</em>' attribute.
+ * @see #getAllocationSize()
+ * @generated
+ */
+ void setAllocationSize(int value);
+
+ /**
+ * Returns the value of the '<em><b>Table</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Table</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Table</em>' attribute.
+ * @see #setTable(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getTableGenerator_Table()
+ * @model
+ * @generated
+ */
+ String getTable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getTable <em>Table</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Table</em>' attribute.
+ * @see #getTable()
+ * @generated
+ */
+ void setTable(String value);
+
+ /**
+ * Returns the value of the '<em><b>Catalog</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Catalog</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Catalog</em>' attribute.
+ * @see #setCatalog(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getTableGenerator_Catalog()
+ * @model
+ * @generated
+ */
+ String getCatalog();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getCatalog <em>Catalog</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Catalog</em>' attribute.
+ * @see #getCatalog()
+ * @generated
+ */
+ void setCatalog(String value);
+
+ /**
+ * Returns the value of the '<em><b>Schema</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Schema</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Schema</em>' attribute.
+ * @see #setSchema(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getTableGenerator_Schema()
+ * @model
+ * @generated
+ */
+ String getSchema();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getSchema <em>Schema</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Schema</em>' attribute.
+ * @see #getSchema()
+ * @generated
+ */
+ void setSchema(String value);
+
+ /**
+ * Returns the value of the '<em><b>Pk Column Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pk Column Name</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Pk Column Name</em>' attribute.
+ * @see #setPkColumnName(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getTableGenerator_PkColumnName()
+ * @model
+ * @generated
+ */
+ String getPkColumnName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getPkColumnName <em>Pk Column Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Pk Column Name</em>' attribute.
+ * @see #getPkColumnName()
+ * @generated
+ */
+ void setPkColumnName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Value Column Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value Column Name</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value Column Name</em>' attribute.
+ * @see #setValueColumnName(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getTableGenerator_ValueColumnName()
+ * @model
+ * @generated
+ */
+ String getValueColumnName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getValueColumnName <em>Value Column Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value Column Name</em>' attribute.
+ * @see #getValueColumnName()
+ * @generated
+ */
+ void setValueColumnName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Initial Value</b></em>' attribute.
+ * The default value is <code>"0"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Initial Value</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Initial Value</em>' attribute.
+ * @see #isSetInitialValue()
+ * @see #unsetInitialValue()
+ * @see #setInitialValue(int)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getTableGenerator_InitialValue()
+ * @model default="0" unsettable="true"
+ * @generated
+ */
+ int getInitialValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getInitialValue <em>Initial Value</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Initial Value</em>' attribute.
+ * @see #isSetInitialValue()
+ * @see #unsetInitialValue()
+ * @see #getInitialValue()
+ * @generated
+ */
+ void setInitialValue(int value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getInitialValue <em>Initial Value</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #isSetInitialValue()
+ * @see #getInitialValue()
+ * @see #setInitialValue(int)
+ * @generated
+ */
+ void unsetInitialValue();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getInitialValue <em>Initial Value</em>}' attribute is set.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return whether the value of the '<em>Initial Value</em>' attribute is set.
+ * @see #unsetInitialValue()
+ * @see #getInitialValue()
+ * @see #setInitialValue(int)
+ * @generated
+ */
+ boolean isSetInitialValue();
+
+ /**
+ * Returns the value of the '<em><b>Pk Column Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pk Column Value</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Pk Column Value</em>' attribute.
+ * @see #setPkColumnValue(String)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getTableGenerator_PkColumnValue()
+ * @model
+ * @generated
+ */
+ String getPkColumnValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator#getPkColumnValue <em>Pk Column Value</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Pk Column Value</em>' attribute.
+ * @see #getPkColumnValue()
+ * @generated
+ */
+ void setPkColumnValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Unique Constraints</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Unique Constraints</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>Unique Constraints</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getTableGenerator_UniqueConstraints()
+ * @model containment="true"
+ * @generated
+ */
+ EList<UniqueConstraint> getUniqueConstraints();
+
+} // TableGenerator
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Temporal.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Temporal.java
new file mode 100755
index 000000000..9a7646d25
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Temporal.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Temporal.java,v 1.6 2010/02/06 18:25:56 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Temporal</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.Temporal#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getTemporal()
+ * @model annotation="teneo/internal/Target 0='EAttribute'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore constraints='AllowedElementType'"
+ * @generated
+ */
+public interface Temporal extends PAnnotation {
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute. The default value is <code>"TIMESTAMP"</code>.
+ * The literals are from the enumeration {@link org.eclipse.emf.teneo.annotations.pannotation.TemporalType}. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.TemporalType
+ * @see #setValue(TemporalType)
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getTemporal_Value()
+ * @model default="TIMESTAMP"
+ * @generated
+ */
+ TemporalType getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.annotations.pannotation.Temporal#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.TemporalType
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(TemporalType value);
+
+} // Temporal
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/TemporalType.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/TemporalType.java
new file mode 100755
index 000000000..a2f36773e
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/TemporalType.java
@@ -0,0 +1,239 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TemporalType.java,v 1.6 2007/07/04 19:28:01 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Temporal Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getTemporalType()
+ * @model
+ * @generated
+ */
+public enum TemporalType implements Enumerator {
+ /**
+ * The '<em><b>DATE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #DATE_VALUE
+ * @generated
+ * @ordered
+ */
+ DATE(0, "DATE", "DATE"),
+
+ /**
+ * The '<em><b>TIME</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #TIME_VALUE
+ * @generated
+ * @ordered
+ */
+ TIME(1, "TIME", "TIME"),
+
+ /**
+ * The '<em><b>TIMESTAMP</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #TIMESTAMP_VALUE
+ * @generated
+ * @ordered
+ */
+ TIMESTAMP(2, "TIMESTAMP", "TIMESTAMP");
+
+ /**
+ * The '<em><b>DATE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>DATE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #DATE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int DATE_VALUE = 0;
+
+ /**
+ * The '<em><b>TIME</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>TIME</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #TIME
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int TIME_VALUE = 1;
+
+ /**
+ * The '<em><b>TIMESTAMP</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>TIMESTAMP</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #TIMESTAMP
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int TIMESTAMP_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>Temporal Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final TemporalType[] VALUES_ARRAY =
+ new TemporalType[] {
+ DATE,
+ TIME,
+ TIMESTAMP,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Temporal Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<TemporalType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Temporal Type</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static TemporalType get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ TemporalType result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Temporal Type</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static TemporalType getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ TemporalType result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Temporal Type</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static TemporalType get(int value) {
+ switch (value) {
+ case DATE_VALUE: return DATE;
+ case TIME_VALUE: return TIME;
+ case TIMESTAMP_VALUE: return TIMESTAMP;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private TemporalType(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //TemporalType
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Transient.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Transient.java
new file mode 100755
index 000000000..fdd01e9d4
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Transient.java
@@ -0,0 +1,19 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Transient.java,v 1.5 2007/07/04 19:28:01 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Transient</b></em>'. <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getTransient()
+ * @model annotation="teneo/internal/Target 0='EModelElement'"
+ * @generated
+ */
+public interface Transient extends PAnnotation {
+
+} // Transient
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/UniqueConstraint.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/UniqueConstraint.java
new file mode 100755
index 000000000..371006795
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/UniqueConstraint.java
@@ -0,0 +1,43 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: UniqueConstraint.java,v 1.5 2007/07/04 19:28:01 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Unique Constraint</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint#getColumnNames <em>Column Names</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getUniqueConstraint()
+ * @model
+ * @generated
+ */
+public interface UniqueConstraint extends PAnnotation{
+ /**
+ * Returns the value of the '<em><b>Column Names</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Column Names</em>' attribute list isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Column Names</em>' attribute list.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getUniqueConstraint_ColumnNames()
+ * @model required="true"
+ * @generated
+ */
+ EList<String> getColumnNames();
+
+} // UniqueConstraint
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Version.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Version.java
new file mode 100755
index 000000000..2bd2ea4da
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/Version.java
@@ -0,0 +1,20 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Version.java,v 1.5 2007/07/04 19:28:01 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Version</b></em>'. <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage#getVersion()
+ * @model annotation="teneo/internal/Target 0='EAttribute'"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore constraints='AllowedElementType'"
+ * @generated
+ */
+public interface Version extends PAnnotation {
+
+} // Version
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/AssociationOverrideImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/AssociationOverrideImpl.java
new file mode 100755
index 000000000..6d31e7771
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/AssociationOverrideImpl.java
@@ -0,0 +1,206 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: AssociationOverrideImpl.java,v 1.7 2007/11/14 16:37:54 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.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.pannotation.AssociationOverride;
+import org.eclipse.emf.teneo.annotations.pannotation.JoinColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Association Override</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.AssociationOverrideImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.AssociationOverrideImpl#getJoinColumns <em>Join Columns</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AssociationOverrideImpl extends PAnnotationImpl implements AssociationOverride {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getJoinColumns() <em>Join Columns</em>}' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getJoinColumns()
+ * @generated
+ * @ordered
+ */
+ protected EList<JoinColumn> joinColumns;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected AssociationOverrideImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.ASSOCIATION_OVERRIDE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.ASSOCIATION_OVERRIDE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<JoinColumn> getJoinColumns() {
+ if (joinColumns == null) {
+ joinColumns = new EObjectContainmentEList<JoinColumn>(JoinColumn.class, this, PannotationPackage.ASSOCIATION_OVERRIDE__JOIN_COLUMNS);
+ }
+ return joinColumns;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PannotationPackage.ASSOCIATION_OVERRIDE__JOIN_COLUMNS:
+ return ((InternalEList<?>)getJoinColumns()).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 PannotationPackage.ASSOCIATION_OVERRIDE__NAME:
+ return getName();
+ case PannotationPackage.ASSOCIATION_OVERRIDE__JOIN_COLUMNS:
+ return getJoinColumns();
+ }
+ 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 PannotationPackage.ASSOCIATION_OVERRIDE__NAME:
+ setName((String)newValue);
+ return;
+ case PannotationPackage.ASSOCIATION_OVERRIDE__JOIN_COLUMNS:
+ getJoinColumns().clear();
+ getJoinColumns().addAll((Collection<? extends JoinColumn>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.ASSOCIATION_OVERRIDE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PannotationPackage.ASSOCIATION_OVERRIDE__JOIN_COLUMNS:
+ getJoinColumns().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.ASSOCIATION_OVERRIDE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case PannotationPackage.ASSOCIATION_OVERRIDE__JOIN_COLUMNS:
+ return joinColumns != null && !joinColumns.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+} // AssociationOverrideImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/AttributeOverrideImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/AttributeOverrideImpl.java
new file mode 100755
index 000000000..51d04f343
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/AttributeOverrideImpl.java
@@ -0,0 +1,244 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: AttributeOverrideImpl.java,v 1.7 2007/11/14 16:37:53 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.annotations.pannotation.AttributeOverride;
+import org.eclipse.emf.teneo.annotations.pannotation.Column;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Attribute Override</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.AttributeOverrideImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.AttributeOverrideImpl#getColumn <em>Column</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AttributeOverrideImpl extends PAnnotationImpl implements AttributeOverride {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #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 AttributeOverrideImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.ATTRIBUTE_OVERRIDE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.ATTRIBUTE_OVERRIDE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- 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, PannotationPackage.ATTRIBUTE_OVERRIDE__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 - PannotationPackage.ATTRIBUTE_OVERRIDE__COLUMN, null, msgs);
+ if (newColumn != null)
+ msgs = ((InternalEObject)newColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PannotationPackage.ATTRIBUTE_OVERRIDE__COLUMN, null, msgs);
+ msgs = basicSetColumn(newColumn, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.ATTRIBUTE_OVERRIDE__COLUMN, newColumn, newColumn));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PannotationPackage.ATTRIBUTE_OVERRIDE__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 PannotationPackage.ATTRIBUTE_OVERRIDE__NAME:
+ return getName();
+ case PannotationPackage.ATTRIBUTE_OVERRIDE__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 PannotationPackage.ATTRIBUTE_OVERRIDE__NAME:
+ setName((String)newValue);
+ return;
+ case PannotationPackage.ATTRIBUTE_OVERRIDE__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 PannotationPackage.ATTRIBUTE_OVERRIDE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PannotationPackage.ATTRIBUTE_OVERRIDE__COLUMN:
+ setColumn((Column)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.ATTRIBUTE_OVERRIDE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case PannotationPackage.ATTRIBUTE_OVERRIDE__COLUMN:
+ return column != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AttributeOverrideImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/BasicImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/BasicImpl.java
new file mode 100755
index 000000000..f14475eb1
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/BasicImpl.java
@@ -0,0 +1,218 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: BasicImpl.java,v 1.8 2009/06/11 04:59:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.annotations.pannotation.Basic;
+import org.eclipse.emf.teneo.annotations.pannotation.FetchType;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Basic</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.BasicImpl#getFetch <em>Fetch</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.BasicImpl#isOptional <em>Optional</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BasicImpl extends PAnnotationImpl implements Basic {
+ /**
+ * The default value of the '{@link #getFetch() <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFetch()
+ * @generated
+ * @ordered
+ */
+ protected static final FetchType FETCH_EDEFAULT = FetchType.EAGER;
+
+ /**
+ * The cached value of the '{@link #getFetch() <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFetch()
+ * @generated
+ * @ordered
+ */
+ protected FetchType fetch = FETCH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isOptional() <em>Optional</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isOptional()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean OPTIONAL_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isOptional() <em>Optional</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isOptional()
+ * @generated
+ * @ordered
+ */
+ protected boolean optional = OPTIONAL_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BasicImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.BASIC;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FetchType getFetch() {
+ return fetch;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFetch(FetchType newFetch) {
+ FetchType oldFetch = fetch;
+ fetch = newFetch == null ? FETCH_EDEFAULT : newFetch;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.BASIC__FETCH, oldFetch, fetch));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isOptional() {
+ return optional;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOptional(boolean newOptional) {
+ boolean oldOptional = optional;
+ optional = newOptional;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.BASIC__OPTIONAL, oldOptional, optional));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PannotationPackage.BASIC__FETCH:
+ return getFetch();
+ case PannotationPackage.BASIC__OPTIONAL:
+ return isOptional();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PannotationPackage.BASIC__FETCH:
+ setFetch((FetchType)newValue);
+ return;
+ case PannotationPackage.BASIC__OPTIONAL:
+ setOptional((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.BASIC__FETCH:
+ setFetch(FETCH_EDEFAULT);
+ return;
+ case PannotationPackage.BASIC__OPTIONAL:
+ setOptional(OPTIONAL_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.BASIC__FETCH:
+ return fetch != FETCH_EDEFAULT;
+ case PannotationPackage.BASIC__OPTIONAL:
+ return optional != OPTIONAL_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (fetch: ");
+ result.append(fetch);
+ result.append(", optional: ");
+ result.append(optional);
+ result.append(')');
+ return result.toString();
+ }
+
+} //BasicImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/ColumnImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/ColumnImpl.java
new file mode 100755
index 000000000..9bfc79935
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/ColumnImpl.java
@@ -0,0 +1,857 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ColumnImpl.java,v 1.11 2009/09/13 14:45:54 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.annotations.pannotation.Column;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Column</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ColumnImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ColumnImpl#isUnique <em>Unique</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ColumnImpl#isNullable <em>Nullable</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ColumnImpl#isInsertable <em>Insertable</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ColumnImpl#isUpdatable <em>Updatable</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ColumnImpl#getColumnDefinition <em>Column Definition</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ColumnImpl#getTable <em>Table</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ColumnImpl#getLength <em>Length</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ColumnImpl#getPrecision <em>Precision</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ColumnImpl#getScale <em>Scale</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ColumnImpl#getUniqueKey <em>Unique Key</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ColumnImpl#getIndex <em>Index</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ColumnImpl extends PAnnotationImpl implements Column {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isUnique() <em>Unique</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isUnique()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean UNIQUE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isUnique() <em>Unique</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isUnique()
+ * @generated
+ * @ordered
+ */
+ protected boolean unique = UNIQUE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isNullable() <em>Nullable</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isNullable()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean NULLABLE_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isNullable() <em>Nullable</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isNullable()
+ * @generated
+ * @ordered
+ */
+ protected boolean nullable = NULLABLE_EDEFAULT;
+
+ /**
+ * This is true if the Nullable attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean nullableESet;
+
+ /**
+ * The default value of the '{@link #isInsertable() <em>Insertable</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isInsertable()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean INSERTABLE_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isInsertable() <em>Insertable</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isInsertable()
+ * @generated
+ * @ordered
+ */
+ protected boolean insertable = INSERTABLE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isUpdatable() <em>Updatable</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isUpdatable()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean UPDATABLE_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isUpdatable() <em>Updatable</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isUpdatable()
+ * @generated
+ * @ordered
+ */
+ protected boolean updatable = UPDATABLE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getColumnDefinition() <em>Column Definition</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getColumnDefinition()
+ * @generated
+ * @ordered
+ */
+ protected static final String COLUMN_DEFINITION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getColumnDefinition() <em>Column Definition</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getColumnDefinition()
+ * @generated
+ * @ordered
+ */
+ protected String columnDefinition = COLUMN_DEFINITION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTable() <em>Table</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTable()
+ * @generated
+ * @ordered
+ */
+ protected static final String TABLE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTable() <em>Table</em>}' attribute.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @see #getTable()
+ * @generated
+ * @ordered
+ */
+ protected String table = TABLE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLength() <em>Length</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getLength()
+ * @generated
+ * @ordered
+ */
+ protected static final int LENGTH_EDEFAULT = 255;
+
+ /**
+ * The cached value of the '{@link #getLength() <em>Length</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getLength()
+ * @generated
+ * @ordered
+ */
+ protected int length = LENGTH_EDEFAULT;
+
+ /**
+ * This is true if the Length attribute has been set. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean lengthESet;
+
+ /**
+ * The default value of the '{@link #getPrecision() <em>Precision</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPrecision()
+ * @generated
+ * @ordered
+ */
+ protected static final int PRECISION_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getPrecision() <em>Precision</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPrecision()
+ * @generated
+ * @ordered
+ */
+ protected int precision = PRECISION_EDEFAULT;
+
+ /**
+ * This is true if the Precision attribute has been set.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean precisionESet;
+
+ /**
+ * The default value of the '{@link #getScale() <em>Scale</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getScale()
+ * @generated
+ * @ordered
+ */
+ protected static final int SCALE_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getScale() <em>Scale</em>}' attribute.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @see #getScale()
+ * @generated
+ * @ordered
+ */
+ protected int scale = SCALE_EDEFAULT;
+
+ /**
+ * This is true if the Scale attribute has been set. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean scaleESet;
+
+ /**
+ * The default value of the '{@link #getUniqueKey() <em>Unique Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUniqueKey()
+ * @generated
+ * @ordered
+ */
+ protected static final String UNIQUE_KEY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUniqueKey() <em>Unique Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUniqueKey()
+ * @generated
+ * @ordered
+ */
+ protected String uniqueKey = UNIQUE_KEY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getIndex() <em>Index</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIndex()
+ * @generated
+ * @ordered
+ */
+ protected static final String INDEX_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getIndex() <em>Index</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIndex()
+ * @generated
+ * @ordered
+ */
+ protected String index = INDEX_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected ColumnImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.COLUMN;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.COLUMN__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public int getLength() {
+ return length;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLength(int newLength) {
+ int oldLength = length;
+ length = newLength;
+ boolean oldLengthESet = lengthESet;
+ lengthESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.COLUMN__LENGTH, oldLength, length, !oldLengthESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetLength() {
+ int oldLength = length;
+ boolean oldLengthESet = lengthESet;
+ length = LENGTH_EDEFAULT;
+ lengthESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, PannotationPackage.COLUMN__LENGTH, oldLength, LENGTH_EDEFAULT, oldLengthESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetLength() {
+ return lengthESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public int getScale() {
+ return scale;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setScale(int newScale) {
+ int oldScale = scale;
+ scale = newScale;
+ boolean oldScaleESet = scaleESet;
+ scaleESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.COLUMN__SCALE, oldScale, scale, !oldScaleESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetScale() {
+ int oldScale = scale;
+ boolean oldScaleESet = scaleESet;
+ scale = SCALE_EDEFAULT;
+ scaleESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, PannotationPackage.COLUMN__SCALE, oldScale, SCALE_EDEFAULT, oldScaleESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetScale() {
+ return scaleESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getUniqueKey() {
+ return uniqueKey;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUniqueKey(String newUniqueKey) {
+ String oldUniqueKey = uniqueKey;
+ uniqueKey = newUniqueKey;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.COLUMN__UNIQUE_KEY, oldUniqueKey, uniqueKey));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getIndex() {
+ return index;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIndex(String newIndex) {
+ String oldIndex = index;
+ index = newIndex;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.COLUMN__INDEX, oldIndex, index));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PannotationPackage.COLUMN__NAME:
+ return getName();
+ case PannotationPackage.COLUMN__UNIQUE:
+ return isUnique();
+ case PannotationPackage.COLUMN__NULLABLE:
+ return isNullable();
+ case PannotationPackage.COLUMN__INSERTABLE:
+ return isInsertable();
+ case PannotationPackage.COLUMN__UPDATABLE:
+ return isUpdatable();
+ case PannotationPackage.COLUMN__COLUMN_DEFINITION:
+ return getColumnDefinition();
+ case PannotationPackage.COLUMN__TABLE:
+ return getTable();
+ case PannotationPackage.COLUMN__LENGTH:
+ return getLength();
+ case PannotationPackage.COLUMN__PRECISION:
+ return getPrecision();
+ case PannotationPackage.COLUMN__SCALE:
+ return getScale();
+ case PannotationPackage.COLUMN__UNIQUE_KEY:
+ return getUniqueKey();
+ case PannotationPackage.COLUMN__INDEX:
+ return getIndex();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PannotationPackage.COLUMN__NAME:
+ setName((String)newValue);
+ return;
+ case PannotationPackage.COLUMN__UNIQUE:
+ setUnique((Boolean)newValue);
+ return;
+ case PannotationPackage.COLUMN__NULLABLE:
+ setNullable((Boolean)newValue);
+ return;
+ case PannotationPackage.COLUMN__INSERTABLE:
+ setInsertable((Boolean)newValue);
+ return;
+ case PannotationPackage.COLUMN__UPDATABLE:
+ setUpdatable((Boolean)newValue);
+ return;
+ case PannotationPackage.COLUMN__COLUMN_DEFINITION:
+ setColumnDefinition((String)newValue);
+ return;
+ case PannotationPackage.COLUMN__TABLE:
+ setTable((String)newValue);
+ return;
+ case PannotationPackage.COLUMN__LENGTH:
+ setLength((Integer)newValue);
+ return;
+ case PannotationPackage.COLUMN__PRECISION:
+ setPrecision((Integer)newValue);
+ return;
+ case PannotationPackage.COLUMN__SCALE:
+ setScale((Integer)newValue);
+ return;
+ case PannotationPackage.COLUMN__UNIQUE_KEY:
+ setUniqueKey((String)newValue);
+ return;
+ case PannotationPackage.COLUMN__INDEX:
+ setIndex((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.COLUMN__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PannotationPackage.COLUMN__UNIQUE:
+ setUnique(UNIQUE_EDEFAULT);
+ return;
+ case PannotationPackage.COLUMN__NULLABLE:
+ unsetNullable();
+ return;
+ case PannotationPackage.COLUMN__INSERTABLE:
+ setInsertable(INSERTABLE_EDEFAULT);
+ return;
+ case PannotationPackage.COLUMN__UPDATABLE:
+ setUpdatable(UPDATABLE_EDEFAULT);
+ return;
+ case PannotationPackage.COLUMN__COLUMN_DEFINITION:
+ setColumnDefinition(COLUMN_DEFINITION_EDEFAULT);
+ return;
+ case PannotationPackage.COLUMN__TABLE:
+ setTable(TABLE_EDEFAULT);
+ return;
+ case PannotationPackage.COLUMN__LENGTH:
+ unsetLength();
+ return;
+ case PannotationPackage.COLUMN__PRECISION:
+ unsetPrecision();
+ return;
+ case PannotationPackage.COLUMN__SCALE:
+ unsetScale();
+ return;
+ case PannotationPackage.COLUMN__UNIQUE_KEY:
+ setUniqueKey(UNIQUE_KEY_EDEFAULT);
+ return;
+ case PannotationPackage.COLUMN__INDEX:
+ setIndex(INDEX_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.COLUMN__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case PannotationPackage.COLUMN__UNIQUE:
+ return unique != UNIQUE_EDEFAULT;
+ case PannotationPackage.COLUMN__NULLABLE:
+ return isSetNullable();
+ case PannotationPackage.COLUMN__INSERTABLE:
+ return insertable != INSERTABLE_EDEFAULT;
+ case PannotationPackage.COLUMN__UPDATABLE:
+ return updatable != UPDATABLE_EDEFAULT;
+ case PannotationPackage.COLUMN__COLUMN_DEFINITION:
+ return COLUMN_DEFINITION_EDEFAULT == null ? columnDefinition != null : !COLUMN_DEFINITION_EDEFAULT.equals(columnDefinition);
+ case PannotationPackage.COLUMN__TABLE:
+ return TABLE_EDEFAULT == null ? table != null : !TABLE_EDEFAULT.equals(table);
+ case PannotationPackage.COLUMN__LENGTH:
+ return isSetLength();
+ case PannotationPackage.COLUMN__PRECISION:
+ return isSetPrecision();
+ case PannotationPackage.COLUMN__SCALE:
+ return isSetScale();
+ case PannotationPackage.COLUMN__UNIQUE_KEY:
+ return UNIQUE_KEY_EDEFAULT == null ? uniqueKey != null : !UNIQUE_KEY_EDEFAULT.equals(uniqueKey);
+ case PannotationPackage.COLUMN__INDEX:
+ return INDEX_EDEFAULT == null ? index != null : !INDEX_EDEFAULT.equals(index);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isUnique() {
+ return unique;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUnique(boolean newUnique) {
+ boolean oldUnique = unique;
+ unique = newUnique;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.COLUMN__UNIQUE, oldUnique, unique));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public int getPrecision() {
+ return precision;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPrecision(int newPrecision) {
+ int oldPrecision = precision;
+ precision = newPrecision;
+ boolean oldPrecisionESet = precisionESet;
+ precisionESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.COLUMN__PRECISION, oldPrecision, precision, !oldPrecisionESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetPrecision() {
+ int oldPrecision = precision;
+ boolean oldPrecisionESet = precisionESet;
+ precision = PRECISION_EDEFAULT;
+ precisionESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, PannotationPackage.COLUMN__PRECISION, oldPrecision, PRECISION_EDEFAULT, oldPrecisionESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetPrecision() {
+ return precisionESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isNullable() {
+ return nullable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNullable(boolean newNullable) {
+ boolean oldNullable = nullable;
+ nullable = newNullable;
+ boolean oldNullableESet = nullableESet;
+ nullableESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.COLUMN__NULLABLE, oldNullable, nullable, !oldNullableESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetNullable() {
+ boolean oldNullable = nullable;
+ boolean oldNullableESet = nullableESet;
+ nullable = NULLABLE_EDEFAULT;
+ nullableESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, PannotationPackage.COLUMN__NULLABLE, oldNullable, NULLABLE_EDEFAULT, oldNullableESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetNullable() {
+ return nullableESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isInsertable() {
+ return insertable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInsertable(boolean newInsertable) {
+ boolean oldInsertable = insertable;
+ insertable = newInsertable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.COLUMN__INSERTABLE, oldInsertable, insertable));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isUpdatable() {
+ return updatable;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUpdatable(boolean newUpdatable) {
+ boolean oldUpdatable = updatable;
+ updatable = newUpdatable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.COLUMN__UPDATABLE, oldUpdatable, updatable));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getColumnDefinition() {
+ return columnDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setColumnDefinition(String newColumnDefinition) {
+ String oldColumnDefinition = columnDefinition;
+ columnDefinition = newColumnDefinition;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.COLUMN__COLUMN_DEFINITION, oldColumnDefinition, columnDefinition));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTable() {
+ return table;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTable(String newTable) {
+ String oldTable = table;
+ table = newTable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.COLUMN__TABLE, oldTable, table));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", unique: ");
+ result.append(unique);
+ result.append(", nullable: ");
+ if (nullableESet) result.append(nullable); else result.append("<unset>");
+ result.append(", insertable: ");
+ result.append(insertable);
+ result.append(", updatable: ");
+ result.append(updatable);
+ result.append(", columnDefinition: ");
+ result.append(columnDefinition);
+ result.append(", table: ");
+ result.append(table);
+ result.append(", length: ");
+ if (lengthESet) result.append(length); else result.append("<unset>");
+ result.append(", precision: ");
+ if (precisionESet) result.append(precision); else result.append("<unset>");
+ result.append(", scale: ");
+ if (scaleESet) result.append(scale); else result.append("<unset>");
+ result.append(", uniqueKey: ");
+ result.append(uniqueKey);
+ result.append(", index: ");
+ result.append(index);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ColumnImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/DiscriminatorColumnImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/DiscriminatorColumnImpl.java
new file mode 100755
index 000000000..6a0ccad47
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/DiscriminatorColumnImpl.java
@@ -0,0 +1,441 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: DiscriminatorColumnImpl.java,v 1.9 2009/09/13 14:45:54 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.annotations.pannotation.Column;
+import org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorType;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Discriminator Column</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.DiscriminatorColumnImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.DiscriminatorColumnImpl#getDiscriminatorType <em>Discriminator Type</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.DiscriminatorColumnImpl#getColumnDefinition <em>Column Definition</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.DiscriminatorColumnImpl#getLength <em>Length</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.DiscriminatorColumnImpl#getColumn <em>Column</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DiscriminatorColumnImpl extends PAnnotationImpl implements DiscriminatorColumn {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = "DTYPE";
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDiscriminatorType() <em>Discriminator Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDiscriminatorType()
+ * @generated
+ * @ordered
+ */
+ protected static final DiscriminatorType DISCRIMINATOR_TYPE_EDEFAULT = DiscriminatorType.STRING;
+
+ /**
+ * The cached value of the '{@link #getDiscriminatorType() <em>Discriminator Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDiscriminatorType()
+ * @generated
+ * @ordered
+ */
+ protected DiscriminatorType discriminatorType = DISCRIMINATOR_TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getColumnDefinition() <em>Column Definition</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getColumnDefinition()
+ * @generated
+ * @ordered
+ */
+ protected static final String COLUMN_DEFINITION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getColumnDefinition() <em>Column Definition</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getColumnDefinition()
+ * @generated
+ * @ordered
+ */
+ protected String columnDefinition = COLUMN_DEFINITION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLength() <em>Length</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLength()
+ * @generated
+ * @ordered
+ */
+ protected static final int LENGTH_EDEFAULT = 31;
+
+ /**
+ * The cached value of the '{@link #getLength() <em>Length</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLength()
+ * @generated
+ * @ordered
+ */
+ protected int length = LENGTH_EDEFAULT;
+
+ /**
+ * This is true if the Length attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean lengthESet;
+
+ /**
+ * 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 DiscriminatorColumnImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.DISCRIMINATOR_COLUMN;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.DISCRIMINATOR_COLUMN__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DiscriminatorType getDiscriminatorType() {
+ return discriminatorType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDiscriminatorType(DiscriminatorType newDiscriminatorType) {
+ DiscriminatorType oldDiscriminatorType = discriminatorType;
+ discriminatorType = newDiscriminatorType == null ? DISCRIMINATOR_TYPE_EDEFAULT : newDiscriminatorType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE, oldDiscriminatorType, discriminatorType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getLength() {
+ return length;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLength(int newLength) {
+ int oldLength = length;
+ length = newLength;
+ boolean oldLengthESet = lengthESet;
+ lengthESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.DISCRIMINATOR_COLUMN__LENGTH, oldLength, length, !oldLengthESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetLength() {
+ int oldLength = length;
+ boolean oldLengthESet = lengthESet;
+ length = LENGTH_EDEFAULT;
+ lengthESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, PannotationPackage.DISCRIMINATOR_COLUMN__LENGTH, oldLength, LENGTH_EDEFAULT, oldLengthESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetLength() {
+ return lengthESet;
+ }
+
+ /**
+ * <!-- 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, PannotationPackage.DISCRIMINATOR_COLUMN__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 - PannotationPackage.DISCRIMINATOR_COLUMN__COLUMN, null, msgs);
+ if (newColumn != null)
+ msgs = ((InternalEObject)newColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PannotationPackage.DISCRIMINATOR_COLUMN__COLUMN, null, msgs);
+ msgs = basicSetColumn(newColumn, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.DISCRIMINATOR_COLUMN__COLUMN, newColumn, newColumn));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PannotationPackage.DISCRIMINATOR_COLUMN__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 PannotationPackage.DISCRIMINATOR_COLUMN__NAME:
+ return getName();
+ case PannotationPackage.DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE:
+ return getDiscriminatorType();
+ case PannotationPackage.DISCRIMINATOR_COLUMN__COLUMN_DEFINITION:
+ return getColumnDefinition();
+ case PannotationPackage.DISCRIMINATOR_COLUMN__LENGTH:
+ return getLength();
+ case PannotationPackage.DISCRIMINATOR_COLUMN__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 PannotationPackage.DISCRIMINATOR_COLUMN__NAME:
+ setName((String)newValue);
+ return;
+ case PannotationPackage.DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE:
+ setDiscriminatorType((DiscriminatorType)newValue);
+ return;
+ case PannotationPackage.DISCRIMINATOR_COLUMN__COLUMN_DEFINITION:
+ setColumnDefinition((String)newValue);
+ return;
+ case PannotationPackage.DISCRIMINATOR_COLUMN__LENGTH:
+ setLength((Integer)newValue);
+ return;
+ case PannotationPackage.DISCRIMINATOR_COLUMN__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 PannotationPackage.DISCRIMINATOR_COLUMN__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PannotationPackage.DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE:
+ setDiscriminatorType(DISCRIMINATOR_TYPE_EDEFAULT);
+ return;
+ case PannotationPackage.DISCRIMINATOR_COLUMN__COLUMN_DEFINITION:
+ setColumnDefinition(COLUMN_DEFINITION_EDEFAULT);
+ return;
+ case PannotationPackage.DISCRIMINATOR_COLUMN__LENGTH:
+ unsetLength();
+ return;
+ case PannotationPackage.DISCRIMINATOR_COLUMN__COLUMN:
+ setColumn((Column)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.DISCRIMINATOR_COLUMN__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case PannotationPackage.DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE:
+ return discriminatorType != DISCRIMINATOR_TYPE_EDEFAULT;
+ case PannotationPackage.DISCRIMINATOR_COLUMN__COLUMN_DEFINITION:
+ return COLUMN_DEFINITION_EDEFAULT == null ? columnDefinition != null : !COLUMN_DEFINITION_EDEFAULT.equals(columnDefinition);
+ case PannotationPackage.DISCRIMINATOR_COLUMN__LENGTH:
+ return isSetLength();
+ case PannotationPackage.DISCRIMINATOR_COLUMN__COLUMN:
+ return column != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getColumnDefinition() {
+ return columnDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setColumnDefinition(String newColumnDefinition) {
+ String oldColumnDefinition = columnDefinition;
+ columnDefinition = newColumnDefinition;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.DISCRIMINATOR_COLUMN__COLUMN_DEFINITION, oldColumnDefinition, columnDefinition));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", discriminatorType: ");
+ result.append(discriminatorType);
+ result.append(", columnDefinition: ");
+ result.append(columnDefinition);
+ result.append(", length: ");
+ if (lengthESet) result.append(length); else result.append("<unset>");
+ result.append(')');
+ return result.toString();
+ }
+
+} //DiscriminatorColumnImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/DiscriminatorValueImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/DiscriminatorValueImpl.java
new file mode 100755
index 000000000..24b277880
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/DiscriminatorValueImpl.java
@@ -0,0 +1,163 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: DiscriminatorValueImpl.java,v 1.7 2007/11/14 16:37:53 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorValue;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Discriminator Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.DiscriminatorValueImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DiscriminatorValueImpl extends PAnnotationImpl implements DiscriminatorValue {
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DiscriminatorValueImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.DISCRIMINATOR_VALUE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue) {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.DISCRIMINATOR_VALUE__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PannotationPackage.DISCRIMINATOR_VALUE__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PannotationPackage.DISCRIMINATOR_VALUE__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.DISCRIMINATOR_VALUE__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.DISCRIMINATOR_VALUE__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //DiscriminatorValueImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/EAVMappingImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/EAVMappingImpl.java
new file mode 100644
index 000000000..d6f8f7ecc
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/EAVMappingImpl.java
@@ -0,0 +1,42 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: EAVMappingImpl.java,v 1.2 2009/12/13 10:14:20 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.teneo.annotations.pannotation.EAVMapping;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EAV Mapping</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class EAVMappingImpl extends PAnnotationImpl implements EAVMapping {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EAVMappingImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.EAV_MAPPING;
+ }
+
+} //EAVMappingImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/EmbeddableImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/EmbeddableImpl.java
new file mode 100755
index 000000000..850fd2dcd
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/EmbeddableImpl.java
@@ -0,0 +1,42 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: EmbeddableImpl.java,v 1.7 2007/11/14 16:37:54 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.teneo.annotations.pannotation.Embeddable;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Embeddable</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class EmbeddableImpl extends PAnnotationImpl implements Embeddable {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EmbeddableImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.EMBEDDABLE;
+ }
+
+} //EmbeddableImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/EmbeddedIdImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/EmbeddedIdImpl.java
new file mode 100755
index 000000000..bab91b103
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/EmbeddedIdImpl.java
@@ -0,0 +1,42 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: EmbeddedIdImpl.java,v 1.7 2007/11/14 16:37:52 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.teneo.annotations.pannotation.EmbeddedId;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Embedded Id</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class EmbeddedIdImpl extends PAnnotationImpl implements EmbeddedId {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EmbeddedIdImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.EMBEDDED_ID;
+ }
+
+} //EmbeddedIdImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/EmbeddedImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/EmbeddedImpl.java
new file mode 100755
index 000000000..be0a5598b
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/EmbeddedImpl.java
@@ -0,0 +1,42 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: EmbeddedImpl.java,v 1.7 2007/11/14 16:37:54 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.teneo.annotations.pannotation.Embedded;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Embedded</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class EmbeddedImpl extends PAnnotationImpl implements Embedded {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EmbeddedImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.EMBEDDED;
+ }
+
+} //EmbeddedImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/EntityImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/EntityImpl.java
new file mode 100755
index 000000000..af5e95963
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/EntityImpl.java
@@ -0,0 +1,217 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: EntityImpl.java,v 1.8 2008/03/12 07:30:06 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.annotations.pannotation.Entity;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entity</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.EntityImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.EntityImpl#getExtends <em>Extends</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntityImpl extends PAnnotationImpl implements Entity {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getExtends() <em>Extends</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExtends()
+ * @generated
+ * @ordered
+ */
+ protected static final String EXTENDS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getExtends() <em>Extends</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExtends()
+ * @generated
+ * @ordered
+ */
+ protected String extends_ = EXTENDS_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EntityImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.ENTITY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.ENTITY__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getExtends() {
+ return extends_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExtends(String newExtends) {
+ String oldExtends = extends_;
+ extends_ = newExtends;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.ENTITY__EXTENDS, oldExtends, extends_));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PannotationPackage.ENTITY__NAME:
+ return getName();
+ case PannotationPackage.ENTITY__EXTENDS:
+ return getExtends();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PannotationPackage.ENTITY__NAME:
+ setName((String)newValue);
+ return;
+ case PannotationPackage.ENTITY__EXTENDS:
+ setExtends((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.ENTITY__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PannotationPackage.ENTITY__EXTENDS:
+ setExtends(EXTENDS_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.ENTITY__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case PannotationPackage.ENTITY__EXTENDS:
+ return EXTENDS_EDEFAULT == null ? extends_ != null : !EXTENDS_EDEFAULT.equals(extends_);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", extends: ");
+ result.append(extends_);
+ result.append(')');
+ return result.toString();
+ }
+
+} //EntityImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/EnumeratedImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/EnumeratedImpl.java
new file mode 100755
index 000000000..181562c82
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/EnumeratedImpl.java
@@ -0,0 +1,164 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: EnumeratedImpl.java,v 1.7 2007/11/14 16:37:52 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.annotations.pannotation.EnumType;
+import org.eclipse.emf.teneo.annotations.pannotation.Enumerated;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Enumerated</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.EnumeratedImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EnumeratedImpl extends PAnnotationImpl implements Enumerated {
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final EnumType VALUE_EDEFAULT = EnumType.ORDINAL;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected EnumType value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EnumeratedImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.ENUMERATED;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EnumType getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(EnumType newValue) {
+ EnumType oldValue = value;
+ value = newValue == null ? VALUE_EDEFAULT : newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.ENUMERATED__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PannotationPackage.ENUMERATED__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PannotationPackage.ENUMERATED__VALUE:
+ setValue((EnumType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.ENUMERATED__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.ENUMERATED__VALUE:
+ return value != VALUE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //EnumeratedImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/ExternalImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/ExternalImpl.java
new file mode 100755
index 000000000..b98188259
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/ExternalImpl.java
@@ -0,0 +1,163 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ExternalImpl.java,v 1.2 2009/12/13 10:14:19 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.annotations.pannotation.External;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>External</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ExternalImpl#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ExternalImpl extends PAnnotationImpl implements External {
+ /**
+ * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected static final String TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected String type = TYPE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExternalImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.EXTERNAL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(String newType) {
+ String oldType = type;
+ type = newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.EXTERNAL__TYPE, oldType, type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PannotationPackage.EXTERNAL__TYPE:
+ return getType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PannotationPackage.EXTERNAL__TYPE:
+ setType((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.EXTERNAL__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.EXTERNAL__TYPE:
+ return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (type: ");
+ result.append(type);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ExternalImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/ForeignKeyImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/ForeignKeyImpl.java
new file mode 100755
index 000000000..6b23eb0fe
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/ForeignKeyImpl.java
@@ -0,0 +1,160 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ForeignKeyImpl.java,v 1.2 2007/11/14 16:37:54 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.annotations.pannotation.ForeignKey;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Foreign Key</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ForeignKeyImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ForeignKeyImpl extends PAnnotationImpl implements ForeignKey {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected ForeignKeyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.FOREIGN_KEY;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.FOREIGN_KEY__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PannotationPackage.FOREIGN_KEY__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PannotationPackage.FOREIGN_KEY__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.FOREIGN_KEY__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.FOREIGN_KEY__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+ /** Return the class name of the annotation */
+ @Override
+ public String getAnnotationClassName() {
+ // note: this annotation should really be in the hbannotation model!
+ return "org.hibernate.annotations." + this.eClass().getName();
+ }
+
+} // ForeignKeyImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/GeneratedValueImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/GeneratedValueImpl.java
new file mode 100755
index 000000000..db6158598
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/GeneratedValueImpl.java
@@ -0,0 +1,218 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: GeneratedValueImpl.java,v 1.7 2007/11/14 16:37:54 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.annotations.pannotation.GeneratedValue;
+import org.eclipse.emf.teneo.annotations.pannotation.GenerationType;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Generated Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.GeneratedValueImpl#getStrategy <em>Strategy</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.GeneratedValueImpl#getGenerator <em>Generator</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class GeneratedValueImpl extends PAnnotationImpl implements GeneratedValue {
+ /**
+ * The default value of the '{@link #getStrategy() <em>Strategy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStrategy()
+ * @generated
+ * @ordered
+ */
+ protected static final GenerationType STRATEGY_EDEFAULT = GenerationType.AUTO;
+
+ /**
+ * The cached value of the '{@link #getStrategy() <em>Strategy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStrategy()
+ * @generated
+ * @ordered
+ */
+ protected GenerationType strategy = STRATEGY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getGenerator() <em>Generator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGenerator()
+ * @generated
+ * @ordered
+ */
+ protected static final String GENERATOR_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getGenerator() <em>Generator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGenerator()
+ * @generated
+ * @ordered
+ */
+ protected String generator = GENERATOR_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GeneratedValueImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.GENERATED_VALUE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GenerationType getStrategy() {
+ return strategy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStrategy(GenerationType newStrategy) {
+ GenerationType oldStrategy = strategy;
+ strategy = newStrategy == null ? STRATEGY_EDEFAULT : newStrategy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.GENERATED_VALUE__STRATEGY, oldStrategy, strategy));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getGenerator() {
+ return generator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setGenerator(String newGenerator) {
+ String oldGenerator = generator;
+ generator = newGenerator;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.GENERATED_VALUE__GENERATOR, oldGenerator, generator));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PannotationPackage.GENERATED_VALUE__STRATEGY:
+ return getStrategy();
+ case PannotationPackage.GENERATED_VALUE__GENERATOR:
+ return getGenerator();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PannotationPackage.GENERATED_VALUE__STRATEGY:
+ setStrategy((GenerationType)newValue);
+ return;
+ case PannotationPackage.GENERATED_VALUE__GENERATOR:
+ setGenerator((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.GENERATED_VALUE__STRATEGY:
+ setStrategy(STRATEGY_EDEFAULT);
+ return;
+ case PannotationPackage.GENERATED_VALUE__GENERATOR:
+ setGenerator(GENERATOR_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.GENERATED_VALUE__STRATEGY:
+ return strategy != STRATEGY_EDEFAULT;
+ case PannotationPackage.GENERATED_VALUE__GENERATOR:
+ return GENERATOR_EDEFAULT == null ? generator != null : !GENERATOR_EDEFAULT.equals(generator);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (strategy: ");
+ result.append(strategy);
+ result.append(", generator: ");
+ result.append(generator);
+ result.append(')');
+ return result.toString();
+ }
+
+} //GeneratedValueImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/IdClassImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/IdClassImpl.java
new file mode 100755
index 000000000..82339aa10
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/IdClassImpl.java
@@ -0,0 +1,163 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: IdClassImpl.java,v 1.7 2007/11/14 16:37:54 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.annotations.pannotation.IdClass;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Id Class</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.IdClassImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class IdClassImpl extends PAnnotationImpl implements IdClass {
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IdClassImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.ID_CLASS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue) {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.ID_CLASS__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PannotationPackage.ID_CLASS__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PannotationPackage.ID_CLASS__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.ID_CLASS__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.ID_CLASS__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //IdClassImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/IdImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/IdImpl.java
new file mode 100755
index 000000000..9abbba307
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/IdImpl.java
@@ -0,0 +1,42 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: IdImpl.java,v 1.7 2007/11/14 16:37:53 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.teneo.annotations.pannotation.Id;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Id</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class IdImpl extends PAnnotationImpl implements Id {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IdImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.ID;
+ }
+
+} //IdImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/InheritanceImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/InheritanceImpl.java
new file mode 100755
index 000000000..bd19f2fdb
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/InheritanceImpl.java
@@ -0,0 +1,165 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: InheritanceImpl.java,v 1.7 2007/11/14 16:37:54 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import java.util.List;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.annotations.pannotation.Inheritance;
+import org.eclipse.emf.teneo.annotations.pannotation.InheritanceType;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Inheritance</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.InheritanceImpl#getStrategy <em>Strategy</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class InheritanceImpl extends PAnnotationImpl implements Inheritance {
+ /**
+ * The default value of the '{@link #getStrategy() <em>Strategy</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getStrategy()
+ * @generated
+ * @ordered
+ */
+ protected static final InheritanceType STRATEGY_EDEFAULT = InheritanceType.SINGLE_TABLE;
+
+ /**
+ * The cached value of the '{@link #getStrategy() <em>Strategy</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getStrategy()
+ * @generated
+ * @ordered
+ */
+ protected InheritanceType strategy = STRATEGY_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected InheritanceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.INHERITANCE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public InheritanceType getStrategy() {
+ return strategy;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStrategy(InheritanceType newStrategy) {
+ InheritanceType oldStrategy = strategy;
+ strategy = newStrategy == null ? STRATEGY_EDEFAULT : newStrategy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.INHERITANCE__STRATEGY, oldStrategy, strategy));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PannotationPackage.INHERITANCE__STRATEGY:
+ return getStrategy();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PannotationPackage.INHERITANCE__STRATEGY:
+ setStrategy((InheritanceType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.INHERITANCE__STRATEGY:
+ setStrategy(STRATEGY_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.INHERITANCE__STRATEGY:
+ return strategy != STRATEGY_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (strategy: ");
+ result.append(strategy);
+ result.append(')');
+ return result.toString();
+ }
+
+ @Override
+ public String getJavaAnnotation(List<String> imports) {
+ if (getStrategy() == InheritanceType.SINGLE_TABLE) {
+ // the default don't display this
+ return "";
+ }
+ return super.getJavaAnnotation(imports);
+ }
+
+} // InheritanceImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/JoinColumnImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/JoinColumnImpl.java
new file mode 100755
index 000000000..5b4a6611a
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/JoinColumnImpl.java
@@ -0,0 +1,575 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: JoinColumnImpl.java,v 1.9 2009/06/11 04:59:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.annotations.pannotation.JoinColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Join Column</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.JoinColumnImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.JoinColumnImpl#getReferencedColumnName <em>Referenced Column Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.JoinColumnImpl#isUnique <em>Unique</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.JoinColumnImpl#isNullable <em>Nullable</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.JoinColumnImpl#isInsertable <em>Insertable</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.JoinColumnImpl#isUpdatable <em>Updatable</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.JoinColumnImpl#getColumnDefinition <em>Column Definition</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.JoinColumnImpl#getTable <em>Table</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class JoinColumnImpl extends PAnnotationImpl implements JoinColumn {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getReferencedColumnName() <em>Referenced Column Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReferencedColumnName()
+ * @generated
+ * @ordered
+ */
+ protected static final String REFERENCED_COLUMN_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getReferencedColumnName() <em>Referenced Column Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReferencedColumnName()
+ * @generated
+ * @ordered
+ */
+ protected String referencedColumnName = REFERENCED_COLUMN_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isUnique() <em>Unique</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isUnique()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean UNIQUE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isUnique() <em>Unique</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isUnique()
+ * @generated
+ * @ordered
+ */
+ protected boolean unique = UNIQUE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isNullable() <em>Nullable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isNullable()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean NULLABLE_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isNullable() <em>Nullable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isNullable()
+ * @generated
+ * @ordered
+ */
+ protected boolean nullable = NULLABLE_EDEFAULT;
+
+ /**
+ * This is true if the Nullable attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean nullableESet;
+
+ /**
+ * The default value of the '{@link #isInsertable() <em>Insertable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isInsertable()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean INSERTABLE_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isInsertable() <em>Insertable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isInsertable()
+ * @generated
+ * @ordered
+ */
+ protected boolean insertable = INSERTABLE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isUpdatable() <em>Updatable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isUpdatable()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean UPDATABLE_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isUpdatable() <em>Updatable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isUpdatable()
+ * @generated
+ * @ordered
+ */
+ protected boolean updatable = UPDATABLE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getColumnDefinition() <em>Column Definition</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getColumnDefinition()
+ * @generated
+ * @ordered
+ */
+ protected static final String COLUMN_DEFINITION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getColumnDefinition() <em>Column Definition</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getColumnDefinition()
+ * @generated
+ * @ordered
+ */
+ protected String columnDefinition = COLUMN_DEFINITION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTable() <em>Table</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTable()
+ * @generated
+ * @ordered
+ */
+ protected static final String TABLE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTable() <em>Table</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTable()
+ * @generated
+ * @ordered
+ */
+ protected String table = TABLE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected JoinColumnImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.JOIN_COLUMN;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.JOIN_COLUMN__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isUnique() {
+ return unique;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUnique(boolean newUnique) {
+ boolean oldUnique = unique;
+ unique = newUnique;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.JOIN_COLUMN__UNIQUE, oldUnique, unique));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isNullable() {
+ return nullable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNullable(boolean newNullable) {
+ boolean oldNullable = nullable;
+ nullable = newNullable;
+ boolean oldNullableESet = nullableESet;
+ nullableESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.JOIN_COLUMN__NULLABLE, oldNullable, nullable, !oldNullableESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetNullable() {
+ boolean oldNullable = nullable;
+ boolean oldNullableESet = nullableESet;
+ nullable = NULLABLE_EDEFAULT;
+ nullableESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, PannotationPackage.JOIN_COLUMN__NULLABLE, oldNullable, NULLABLE_EDEFAULT, oldNullableESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetNullable() {
+ return nullableESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isInsertable() {
+ return insertable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInsertable(boolean newInsertable) {
+ boolean oldInsertable = insertable;
+ insertable = newInsertable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.JOIN_COLUMN__INSERTABLE, oldInsertable, insertable));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isUpdatable() {
+ return updatable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUpdatable(boolean newUpdatable) {
+ boolean oldUpdatable = updatable;
+ updatable = newUpdatable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.JOIN_COLUMN__UPDATABLE, oldUpdatable, updatable));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getColumnDefinition() {
+ return columnDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setColumnDefinition(String newColumnDefinition) {
+ String oldColumnDefinition = columnDefinition;
+ columnDefinition = newColumnDefinition;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.JOIN_COLUMN__COLUMN_DEFINITION, oldColumnDefinition, columnDefinition));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTable() {
+ return table;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTable(String newTable) {
+ String oldTable = table;
+ table = newTable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.JOIN_COLUMN__TABLE, oldTable, table));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PannotationPackage.JOIN_COLUMN__NAME:
+ return getName();
+ case PannotationPackage.JOIN_COLUMN__REFERENCED_COLUMN_NAME:
+ return getReferencedColumnName();
+ case PannotationPackage.JOIN_COLUMN__UNIQUE:
+ return isUnique();
+ case PannotationPackage.JOIN_COLUMN__NULLABLE:
+ return isNullable();
+ case PannotationPackage.JOIN_COLUMN__INSERTABLE:
+ return isInsertable();
+ case PannotationPackage.JOIN_COLUMN__UPDATABLE:
+ return isUpdatable();
+ case PannotationPackage.JOIN_COLUMN__COLUMN_DEFINITION:
+ return getColumnDefinition();
+ case PannotationPackage.JOIN_COLUMN__TABLE:
+ return getTable();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PannotationPackage.JOIN_COLUMN__NAME:
+ setName((String)newValue);
+ return;
+ case PannotationPackage.JOIN_COLUMN__REFERENCED_COLUMN_NAME:
+ setReferencedColumnName((String)newValue);
+ return;
+ case PannotationPackage.JOIN_COLUMN__UNIQUE:
+ setUnique((Boolean)newValue);
+ return;
+ case PannotationPackage.JOIN_COLUMN__NULLABLE:
+ setNullable((Boolean)newValue);
+ return;
+ case PannotationPackage.JOIN_COLUMN__INSERTABLE:
+ setInsertable((Boolean)newValue);
+ return;
+ case PannotationPackage.JOIN_COLUMN__UPDATABLE:
+ setUpdatable((Boolean)newValue);
+ return;
+ case PannotationPackage.JOIN_COLUMN__COLUMN_DEFINITION:
+ setColumnDefinition((String)newValue);
+ return;
+ case PannotationPackage.JOIN_COLUMN__TABLE:
+ setTable((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.JOIN_COLUMN__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PannotationPackage.JOIN_COLUMN__REFERENCED_COLUMN_NAME:
+ setReferencedColumnName(REFERENCED_COLUMN_NAME_EDEFAULT);
+ return;
+ case PannotationPackage.JOIN_COLUMN__UNIQUE:
+ setUnique(UNIQUE_EDEFAULT);
+ return;
+ case PannotationPackage.JOIN_COLUMN__NULLABLE:
+ unsetNullable();
+ return;
+ case PannotationPackage.JOIN_COLUMN__INSERTABLE:
+ setInsertable(INSERTABLE_EDEFAULT);
+ return;
+ case PannotationPackage.JOIN_COLUMN__UPDATABLE:
+ setUpdatable(UPDATABLE_EDEFAULT);
+ return;
+ case PannotationPackage.JOIN_COLUMN__COLUMN_DEFINITION:
+ setColumnDefinition(COLUMN_DEFINITION_EDEFAULT);
+ return;
+ case PannotationPackage.JOIN_COLUMN__TABLE:
+ setTable(TABLE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.JOIN_COLUMN__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case PannotationPackage.JOIN_COLUMN__REFERENCED_COLUMN_NAME:
+ return REFERENCED_COLUMN_NAME_EDEFAULT == null ? referencedColumnName != null : !REFERENCED_COLUMN_NAME_EDEFAULT.equals(referencedColumnName);
+ case PannotationPackage.JOIN_COLUMN__UNIQUE:
+ return unique != UNIQUE_EDEFAULT;
+ case PannotationPackage.JOIN_COLUMN__NULLABLE:
+ return isSetNullable();
+ case PannotationPackage.JOIN_COLUMN__INSERTABLE:
+ return insertable != INSERTABLE_EDEFAULT;
+ case PannotationPackage.JOIN_COLUMN__UPDATABLE:
+ return updatable != UPDATABLE_EDEFAULT;
+ case PannotationPackage.JOIN_COLUMN__COLUMN_DEFINITION:
+ return COLUMN_DEFINITION_EDEFAULT == null ? columnDefinition != null : !COLUMN_DEFINITION_EDEFAULT.equals(columnDefinition);
+ case PannotationPackage.JOIN_COLUMN__TABLE:
+ return TABLE_EDEFAULT == null ? table != null : !TABLE_EDEFAULT.equals(table);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getReferencedColumnName() {
+ return referencedColumnName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setReferencedColumnName(String newReferencedColumnName) {
+ String oldReferencedColumnName = referencedColumnName;
+ referencedColumnName = newReferencedColumnName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.JOIN_COLUMN__REFERENCED_COLUMN_NAME, oldReferencedColumnName, referencedColumnName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", referencedColumnName: ");
+ result.append(referencedColumnName);
+ result.append(", unique: ");
+ result.append(unique);
+ result.append(", nullable: ");
+ if (nullableESet) result.append(nullable); else result.append("<unset>");
+ result.append(", insertable: ");
+ result.append(insertable);
+ result.append(", updatable: ");
+ result.append(updatable);
+ result.append(", columnDefinition: ");
+ result.append(columnDefinition);
+ result.append(", table: ");
+ result.append(table);
+ result.append(')');
+ return result.toString();
+ }
+
+} //JoinColumnImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/JoinTableImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/JoinTableImpl.java
new file mode 100755
index 000000000..dc5e3369c
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/JoinTableImpl.java
@@ -0,0 +1,402 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: JoinTableImpl.java,v 1.7 2007/11/14 16:37:54 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.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.pannotation.JoinColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.JoinTable;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+import org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Join Table</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.JoinTableImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.JoinTableImpl#getCatalog <em>Catalog</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.JoinTableImpl#getSchema <em>Schema</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.JoinTableImpl#getJoinColumns <em>Join Columns</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.JoinTableImpl#getInverseJoinColumns <em>Inverse Join Columns</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.JoinTableImpl#getUniqueConstraints <em>Unique Constraints</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class JoinTableImpl extends PAnnotationImpl implements JoinTable {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getCatalog() <em>Catalog</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCatalog()
+ * @generated
+ * @ordered
+ */
+ protected static final String CATALOG_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCatalog() <em>Catalog</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCatalog()
+ * @generated
+ * @ordered
+ */
+ protected String catalog = CATALOG_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSchema() <em>Schema</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSchema()
+ * @generated
+ * @ordered
+ */
+ protected static final String SCHEMA_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSchema() <em>Schema</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSchema()
+ * @generated
+ * @ordered
+ */
+ protected String schema = SCHEMA_EDEFAULT;
+
+ /**
+ * 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 #getInverseJoinColumns() <em>Inverse Join Columns</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInverseJoinColumns()
+ * @generated
+ * @ordered
+ */
+ protected EList<JoinColumn> inverseJoinColumns;
+
+ /**
+ * The cached value of the '{@link #getUniqueConstraints() <em>Unique Constraints</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUniqueConstraints()
+ * @generated
+ * @ordered
+ */
+ protected EList<UniqueConstraint> uniqueConstraints;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected JoinTableImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.JOIN_TABLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.JOIN_TABLE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCatalog() {
+ return catalog;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCatalog(String newCatalog) {
+ String oldCatalog = catalog;
+ catalog = newCatalog;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.JOIN_TABLE__CATALOG, oldCatalog, catalog));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getSchema() {
+ return schema;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSchema(String newSchema) {
+ String oldSchema = schema;
+ schema = newSchema;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.JOIN_TABLE__SCHEMA, oldSchema, schema));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<JoinColumn> getJoinColumns() {
+ if (joinColumns == null) {
+ joinColumns = new EObjectContainmentEList<JoinColumn>(JoinColumn.class, this, PannotationPackage.JOIN_TABLE__JOIN_COLUMNS);
+ }
+ return joinColumns;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<JoinColumn> getInverseJoinColumns() {
+ if (inverseJoinColumns == null) {
+ inverseJoinColumns = new EObjectContainmentEList<JoinColumn>(JoinColumn.class, this, PannotationPackage.JOIN_TABLE__INVERSE_JOIN_COLUMNS);
+ }
+ return inverseJoinColumns;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<UniqueConstraint> getUniqueConstraints() {
+ if (uniqueConstraints == null) {
+ uniqueConstraints = new EObjectContainmentEList<UniqueConstraint>(UniqueConstraint.class, this, PannotationPackage.JOIN_TABLE__UNIQUE_CONSTRAINTS);
+ }
+ return uniqueConstraints;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PannotationPackage.JOIN_TABLE__JOIN_COLUMNS:
+ return ((InternalEList<?>)getJoinColumns()).basicRemove(otherEnd, msgs);
+ case PannotationPackage.JOIN_TABLE__INVERSE_JOIN_COLUMNS:
+ return ((InternalEList<?>)getInverseJoinColumns()).basicRemove(otherEnd, msgs);
+ case PannotationPackage.JOIN_TABLE__UNIQUE_CONSTRAINTS:
+ return ((InternalEList<?>)getUniqueConstraints()).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 PannotationPackage.JOIN_TABLE__NAME:
+ return getName();
+ case PannotationPackage.JOIN_TABLE__CATALOG:
+ return getCatalog();
+ case PannotationPackage.JOIN_TABLE__SCHEMA:
+ return getSchema();
+ case PannotationPackage.JOIN_TABLE__JOIN_COLUMNS:
+ return getJoinColumns();
+ case PannotationPackage.JOIN_TABLE__INVERSE_JOIN_COLUMNS:
+ return getInverseJoinColumns();
+ case PannotationPackage.JOIN_TABLE__UNIQUE_CONSTRAINTS:
+ return getUniqueConstraints();
+ }
+ 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 PannotationPackage.JOIN_TABLE__NAME:
+ setName((String)newValue);
+ return;
+ case PannotationPackage.JOIN_TABLE__CATALOG:
+ setCatalog((String)newValue);
+ return;
+ case PannotationPackage.JOIN_TABLE__SCHEMA:
+ setSchema((String)newValue);
+ return;
+ case PannotationPackage.JOIN_TABLE__JOIN_COLUMNS:
+ getJoinColumns().clear();
+ getJoinColumns().addAll((Collection<? extends JoinColumn>)newValue);
+ return;
+ case PannotationPackage.JOIN_TABLE__INVERSE_JOIN_COLUMNS:
+ getInverseJoinColumns().clear();
+ getInverseJoinColumns().addAll((Collection<? extends JoinColumn>)newValue);
+ return;
+ case PannotationPackage.JOIN_TABLE__UNIQUE_CONSTRAINTS:
+ getUniqueConstraints().clear();
+ getUniqueConstraints().addAll((Collection<? extends UniqueConstraint>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.JOIN_TABLE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PannotationPackage.JOIN_TABLE__CATALOG:
+ setCatalog(CATALOG_EDEFAULT);
+ return;
+ case PannotationPackage.JOIN_TABLE__SCHEMA:
+ setSchema(SCHEMA_EDEFAULT);
+ return;
+ case PannotationPackage.JOIN_TABLE__JOIN_COLUMNS:
+ getJoinColumns().clear();
+ return;
+ case PannotationPackage.JOIN_TABLE__INVERSE_JOIN_COLUMNS:
+ getInverseJoinColumns().clear();
+ return;
+ case PannotationPackage.JOIN_TABLE__UNIQUE_CONSTRAINTS:
+ getUniqueConstraints().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.JOIN_TABLE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case PannotationPackage.JOIN_TABLE__CATALOG:
+ return CATALOG_EDEFAULT == null ? catalog != null : !CATALOG_EDEFAULT.equals(catalog);
+ case PannotationPackage.JOIN_TABLE__SCHEMA:
+ return SCHEMA_EDEFAULT == null ? schema != null : !SCHEMA_EDEFAULT.equals(schema);
+ case PannotationPackage.JOIN_TABLE__JOIN_COLUMNS:
+ return joinColumns != null && !joinColumns.isEmpty();
+ case PannotationPackage.JOIN_TABLE__INVERSE_JOIN_COLUMNS:
+ return inverseJoinColumns != null && !inverseJoinColumns.isEmpty();
+ case PannotationPackage.JOIN_TABLE__UNIQUE_CONSTRAINTS:
+ return uniqueConstraints != null && !uniqueConstraints.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", catalog: ");
+ result.append(catalog);
+ result.append(", schema: ");
+ result.append(schema);
+ result.append(')');
+ return result.toString();
+ }
+
+} //JoinTableImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/ListIndexColumnImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/ListIndexColumnImpl.java
new file mode 100644
index 000000000..d61775356
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/ListIndexColumnImpl.java
@@ -0,0 +1,163 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ListIndexColumnImpl.java,v 1.1 2009/12/13 10:14:19 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.annotations.pannotation.ListIndexColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>List Index Column</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ListIndexColumnImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ListIndexColumnImpl extends PAnnotationImpl implements ListIndexColumn {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ListIndexColumnImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.LIST_INDEX_COLUMN;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.LIST_INDEX_COLUMN__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PannotationPackage.LIST_INDEX_COLUMN__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PannotationPackage.LIST_INDEX_COLUMN__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.LIST_INDEX_COLUMN__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.LIST_INDEX_COLUMN__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ListIndexColumnImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/LobImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/LobImpl.java
new file mode 100755
index 000000000..cdc8146a4
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/LobImpl.java
@@ -0,0 +1,42 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: LobImpl.java,v 1.7 2007/11/14 16:37:53 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.teneo.annotations.pannotation.Lob;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Lob</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class LobImpl extends PAnnotationImpl implements Lob {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LobImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.LOB;
+ }
+
+} //LobImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/ManyToManyImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/ManyToManyImpl.java
new file mode 100755
index 000000000..97cd78651
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/ManyToManyImpl.java
@@ -0,0 +1,368 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ManyToManyImpl.java,v 1.15 2009/06/11 04:59:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.emf.teneo.annotations.pannotation.CascadeType;
+import org.eclipse.emf.teneo.annotations.pannotation.FetchType;
+import org.eclipse.emf.teneo.annotations.pannotation.ManyToMany;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Many To Many</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ManyToManyImpl#getTargetEntity <em>Target Entity</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ManyToManyImpl#getCascade <em>Cascade</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ManyToManyImpl#getFetch <em>Fetch</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ManyToManyImpl#getMappedBy <em>Mapped By</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ManyToManyImpl#isIndexed <em>Indexed</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ManyToManyImpl extends PAnnotationImpl implements ManyToMany {
+ /**
+ * The default value of the '{@link #getTargetEntity() <em>Target Entity</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getTargetEntity()
+ * @generated
+ * @ordered
+ */
+ protected static final String TARGET_ENTITY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTargetEntity() <em>Target Entity</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTargetEntity()
+ * @generated
+ * @ordered
+ */
+ protected String targetEntity = TARGET_ENTITY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getCascade() <em>Cascade</em>}' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getCascade()
+ * @generated
+ * @ordered
+ */
+ protected EList<CascadeType> cascade;
+
+ /**
+ * The default value of the '{@link #getFetch() <em>Fetch</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getFetch()
+ * @generated
+ * @ordered
+ */
+ protected static final FetchType FETCH_EDEFAULT = FetchType.LAZY;
+
+ /**
+ * The cached value of the '{@link #getFetch() <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @see #getFetch()
+ * @generated
+ * @ordered
+ */
+ protected FetchType fetch = FETCH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getMappedBy() <em>Mapped By</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getMappedBy()
+ * @generated
+ * @ordered
+ */
+ protected static final String MAPPED_BY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMappedBy() <em>Mapped By</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getMappedBy()
+ * @generated
+ * @ordered
+ */
+ protected String mappedBy = MAPPED_BY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isIndexed() <em>Indexed</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isIndexed()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean INDEXED_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isIndexed() <em>Indexed</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isIndexed()
+ * @generated
+ * @ordered
+ */
+ protected boolean indexed = INDEXED_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected ManyToManyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.MANY_TO_MANY;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public FetchType getFetch() {
+ return fetch;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFetch(FetchType newFetch) {
+ FetchType oldFetch = fetch;
+ fetch = newFetch == null ? FETCH_EDEFAULT : newFetch;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.MANY_TO_MANY__FETCH, oldFetch, fetch));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTargetEntity() {
+ return targetEntity;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTargetEntity(String newTargetEntity) {
+ String oldTargetEntity = targetEntity;
+ targetEntity = newTargetEntity;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.MANY_TO_MANY__TARGET_ENTITY, oldTargetEntity, targetEntity));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CascadeType> getCascade() {
+ if (cascade == null) {
+ cascade = new EDataTypeUniqueEList<CascadeType>(CascadeType.class, this, PannotationPackage.MANY_TO_MANY__CASCADE);
+ }
+ return cascade;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getMappedBy() {
+ return mappedBy;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMappedBy(String newMappedBy) {
+ String oldMappedBy = mappedBy;
+ mappedBy = newMappedBy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.MANY_TO_MANY__MAPPED_BY, oldMappedBy, mappedBy));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIndexed() {
+ return indexed;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIndexed(boolean newIndexed) {
+ boolean oldIndexed = indexed;
+ indexed = newIndexed;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.MANY_TO_MANY__INDEXED, oldIndexed, indexed));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PannotationPackage.MANY_TO_MANY__TARGET_ENTITY:
+ return getTargetEntity();
+ case PannotationPackage.MANY_TO_MANY__CASCADE:
+ return getCascade();
+ case PannotationPackage.MANY_TO_MANY__FETCH:
+ return getFetch();
+ case PannotationPackage.MANY_TO_MANY__MAPPED_BY:
+ return getMappedBy();
+ case PannotationPackage.MANY_TO_MANY__INDEXED:
+ return isIndexed();
+ }
+ 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 PannotationPackage.MANY_TO_MANY__TARGET_ENTITY:
+ setTargetEntity((String)newValue);
+ return;
+ case PannotationPackage.MANY_TO_MANY__CASCADE:
+ getCascade().clear();
+ getCascade().addAll((Collection<? extends CascadeType>)newValue);
+ return;
+ case PannotationPackage.MANY_TO_MANY__FETCH:
+ setFetch((FetchType)newValue);
+ return;
+ case PannotationPackage.MANY_TO_MANY__MAPPED_BY:
+ setMappedBy((String)newValue);
+ return;
+ case PannotationPackage.MANY_TO_MANY__INDEXED:
+ setIndexed((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.MANY_TO_MANY__TARGET_ENTITY:
+ setTargetEntity(TARGET_ENTITY_EDEFAULT);
+ return;
+ case PannotationPackage.MANY_TO_MANY__CASCADE:
+ getCascade().clear();
+ return;
+ case PannotationPackage.MANY_TO_MANY__FETCH:
+ setFetch(FETCH_EDEFAULT);
+ return;
+ case PannotationPackage.MANY_TO_MANY__MAPPED_BY:
+ setMappedBy(MAPPED_BY_EDEFAULT);
+ return;
+ case PannotationPackage.MANY_TO_MANY__INDEXED:
+ setIndexed(INDEXED_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.MANY_TO_MANY__TARGET_ENTITY:
+ return TARGET_ENTITY_EDEFAULT == null ? targetEntity != null : !TARGET_ENTITY_EDEFAULT.equals(targetEntity);
+ case PannotationPackage.MANY_TO_MANY__CASCADE:
+ return cascade != null && !cascade.isEmpty();
+ case PannotationPackage.MANY_TO_MANY__FETCH:
+ return fetch != FETCH_EDEFAULT;
+ case PannotationPackage.MANY_TO_MANY__MAPPED_BY:
+ return MAPPED_BY_EDEFAULT == null ? mappedBy != null : !MAPPED_BY_EDEFAULT.equals(mappedBy);
+ case PannotationPackage.MANY_TO_MANY__INDEXED:
+ return indexed != INDEXED_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (targetEntity: ");
+ result.append(targetEntity);
+ result.append(", cascade: ");
+ result.append(cascade);
+ result.append(", fetch: ");
+ result.append(fetch);
+ result.append(", mappedBy: ");
+ result.append(mappedBy);
+ result.append(", indexed: ");
+ result.append(indexed);
+ result.append(')');
+ return result.toString();
+ }
+
+ /** Returns true if this one to many should be modeled as a list */
+ public boolean isList() {
+ return isIndexed();
+ }
+
+ @Override
+ protected String getAnnotationValue(org.eclipse.emf.ecore.EObject eObject, EStructuralFeature eFeature,
+ boolean prependComma, List<String> imports) {
+ if (eFeature == PannotationPackage.eINSTANCE.getManyToMany_TargetEntity()) {
+ // do not return anything because jpa expects a real classname,
+ // the targetentity only has an entityname here.
+ return "";
+ }
+ return super.getAnnotationValue(eObject, eFeature, prependComma, imports);
+ }
+
+} // ManyToManyImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/ManyToOneImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/ManyToOneImpl.java
new file mode 100755
index 000000000..53c42d6fa
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/ManyToOneImpl.java
@@ -0,0 +1,345 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ManyToOneImpl.java,v 1.9 2009/06/11 04:59:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.emf.teneo.annotations.pannotation.CascadeType;
+import org.eclipse.emf.teneo.annotations.pannotation.FetchType;
+import org.eclipse.emf.teneo.annotations.pannotation.ManyToOne;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Many To One</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ManyToOneImpl#getTargetEntity <em>Target Entity</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ManyToOneImpl#getCascade <em>Cascade</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ManyToOneImpl#getFetch <em>Fetch</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.ManyToOneImpl#isOptional <em>Optional</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ManyToOneImpl extends PAnnotationImpl implements ManyToOne {
+ /**
+ * The default value of the '{@link #getTargetEntity() <em>Target Entity</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getTargetEntity()
+ * @generated
+ * @ordered
+ */
+ protected static final String TARGET_ENTITY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTargetEntity() <em>Target Entity</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTargetEntity()
+ * @generated
+ * @ordered
+ */
+ protected String targetEntity = TARGET_ENTITY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getCascade() <em>Cascade</em>}' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getCascade()
+ * @generated
+ * @ordered
+ */
+ protected EList<CascadeType> cascade;
+
+ /**
+ * The default value of the '{@link #getFetch() <em>Fetch</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getFetch()
+ * @generated
+ * @ordered
+ */
+ protected static final FetchType FETCH_EDEFAULT = FetchType.EAGER;
+
+ /**
+ * The cached value of the '{@link #getFetch() <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @see #getFetch()
+ * @generated
+ * @ordered
+ */
+ protected FetchType fetch = FETCH_EDEFAULT;
+
+ /**
+ * This is true if the Fetch attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean fetchESet;
+
+ /**
+ * The default value of the '{@link #isOptional() <em>Optional</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isOptional()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean OPTIONAL_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isOptional() <em>Optional</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isOptional()
+ * @generated
+ * @ordered
+ */
+ protected boolean optional = OPTIONAL_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected ManyToOneImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.MANY_TO_ONE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public FetchType getFetch() {
+ return fetch;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFetch(FetchType newFetch) {
+ FetchType oldFetch = fetch;
+ fetch = newFetch == null ? FETCH_EDEFAULT : newFetch;
+ boolean oldFetchESet = fetchESet;
+ fetchESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.MANY_TO_ONE__FETCH, oldFetch, fetch, !oldFetchESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetFetch() {
+ FetchType oldFetch = fetch;
+ boolean oldFetchESet = fetchESet;
+ fetch = FETCH_EDEFAULT;
+ fetchESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, PannotationPackage.MANY_TO_ONE__FETCH, oldFetch, FETCH_EDEFAULT, oldFetchESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetFetch() {
+ return fetchESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isOptional() {
+ return optional;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOptional(boolean newOptional) {
+ boolean oldOptional = optional;
+ optional = newOptional;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.MANY_TO_ONE__OPTIONAL, oldOptional, optional));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PannotationPackage.MANY_TO_ONE__TARGET_ENTITY:
+ return getTargetEntity();
+ case PannotationPackage.MANY_TO_ONE__CASCADE:
+ return getCascade();
+ case PannotationPackage.MANY_TO_ONE__FETCH:
+ return getFetch();
+ case PannotationPackage.MANY_TO_ONE__OPTIONAL:
+ return isOptional();
+ }
+ 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 PannotationPackage.MANY_TO_ONE__TARGET_ENTITY:
+ setTargetEntity((String)newValue);
+ return;
+ case PannotationPackage.MANY_TO_ONE__CASCADE:
+ getCascade().clear();
+ getCascade().addAll((Collection<? extends CascadeType>)newValue);
+ return;
+ case PannotationPackage.MANY_TO_ONE__FETCH:
+ setFetch((FetchType)newValue);
+ return;
+ case PannotationPackage.MANY_TO_ONE__OPTIONAL:
+ setOptional((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.MANY_TO_ONE__TARGET_ENTITY:
+ setTargetEntity(TARGET_ENTITY_EDEFAULT);
+ return;
+ case PannotationPackage.MANY_TO_ONE__CASCADE:
+ getCascade().clear();
+ return;
+ case PannotationPackage.MANY_TO_ONE__FETCH:
+ unsetFetch();
+ return;
+ case PannotationPackage.MANY_TO_ONE__OPTIONAL:
+ setOptional(OPTIONAL_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.MANY_TO_ONE__TARGET_ENTITY:
+ return TARGET_ENTITY_EDEFAULT == null ? targetEntity != null : !TARGET_ENTITY_EDEFAULT.equals(targetEntity);
+ case PannotationPackage.MANY_TO_ONE__CASCADE:
+ return cascade != null && !cascade.isEmpty();
+ case PannotationPackage.MANY_TO_ONE__FETCH:
+ return isSetFetch();
+ case PannotationPackage.MANY_TO_ONE__OPTIONAL:
+ return optional != OPTIONAL_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTargetEntity() {
+ return targetEntity;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTargetEntity(String newTargetEntity) {
+ String oldTargetEntity = targetEntity;
+ targetEntity = newTargetEntity;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.MANY_TO_ONE__TARGET_ENTITY, oldTargetEntity, targetEntity));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CascadeType> getCascade() {
+ if (cascade == null) {
+ cascade = new EDataTypeUniqueEList<CascadeType>(CascadeType.class, this, PannotationPackage.MANY_TO_ONE__CASCADE);
+ }
+ return cascade;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (targetEntity: ");
+ result.append(targetEntity);
+ result.append(", cascade: ");
+ result.append(cascade);
+ result.append(", fetch: ");
+ if (fetchESet) result.append(fetch); else result.append("<unset>");
+ result.append(", optional: ");
+ result.append(optional);
+ result.append(')');
+ return result.toString();
+ }
+
+ @Override
+ protected String getAnnotationValue(org.eclipse.emf.ecore.EObject eObject, EStructuralFeature eFeature,
+ boolean prependComma, List<String> imports) {
+ if (eFeature == PannotationPackage.eINSTANCE.getManyToOne_TargetEntity()) {
+ // do not return anything because jpa expects a real classname,
+ // the targetentity only has an entityname here.
+ return "";
+ }
+ return super.getAnnotationValue(eObject, eFeature, prependComma, imports);
+ }
+
+} // ManyToOneImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/MapKeyImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/MapKeyImpl.java
new file mode 100755
index 000000000..50ddd5711
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/MapKeyImpl.java
@@ -0,0 +1,163 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: MapKeyImpl.java,v 1.7 2007/11/14 16:37:53 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.annotations.pannotation.MapKey;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Map Key</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.MapKeyImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MapKeyImpl extends PAnnotationImpl implements MapKey {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MapKeyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.MAP_KEY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.MAP_KEY__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PannotationPackage.MAP_KEY__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PannotationPackage.MAP_KEY__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.MAP_KEY__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.MAP_KEY__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //MapKeyImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/MappedSuperclassImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/MappedSuperclassImpl.java
new file mode 100755
index 000000000..2de599637
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/MappedSuperclassImpl.java
@@ -0,0 +1,42 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: MappedSuperclassImpl.java,v 1.7 2007/11/14 16:37:53 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.teneo.annotations.pannotation.MappedSuperclass;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Mapped Superclass</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class MappedSuperclassImpl extends PAnnotationImpl implements MappedSuperclass {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MappedSuperclassImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.MAPPED_SUPERCLASS;
+ }
+
+} //MappedSuperclassImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/NoEAVMappingImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/NoEAVMappingImpl.java
new file mode 100644
index 000000000..64bb123d2
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/NoEAVMappingImpl.java
@@ -0,0 +1,42 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: NoEAVMappingImpl.java,v 1.2 2009/12/13 10:14:18 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.teneo.annotations.pannotation.NoEAVMapping;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>No EAV Mapping</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class NoEAVMappingImpl extends PAnnotationImpl implements NoEAVMapping {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NoEAVMappingImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.NO_EAV_MAPPING;
+ }
+
+} //NoEAVMappingImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/OneToManyImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/OneToManyImpl.java
new file mode 100755
index 000000000..e64e249f0
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/OneToManyImpl.java
@@ -0,0 +1,428 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: OneToManyImpl.java,v 1.15 2009/06/11 04:59:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.emf.teneo.annotations.pannotation.CascadeType;
+import org.eclipse.emf.teneo.annotations.pannotation.FetchType;
+import org.eclipse.emf.teneo.annotations.pannotation.OneToMany;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>One To Many</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.OneToManyImpl#getTargetEntity <em>Target Entity</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.OneToManyImpl#getCascade <em>Cascade</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.OneToManyImpl#getFetch <em>Fetch</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.OneToManyImpl#getMappedBy <em>Mapped By</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.OneToManyImpl#isIndexed <em>Indexed</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.OneToManyImpl#isUnique <em>Unique</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OneToManyImpl extends PAnnotationImpl implements OneToMany {
+ /**
+ * The default value of the '{@link #getTargetEntity() <em>Target Entity</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getTargetEntity()
+ * @generated
+ * @ordered
+ */
+ protected static final String TARGET_ENTITY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTargetEntity() <em>Target Entity</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTargetEntity()
+ * @generated
+ * @ordered
+ */
+ protected String targetEntity = TARGET_ENTITY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getCascade() <em>Cascade</em>}' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getCascade()
+ * @generated
+ * @ordered
+ */
+ protected EList<CascadeType> cascade;
+
+ /**
+ * The default value of the '{@link #getFetch() <em>Fetch</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getFetch()
+ * @generated
+ * @ordered
+ */
+ protected static final FetchType FETCH_EDEFAULT = FetchType.LAZY;
+
+ /**
+ * The cached value of the '{@link #getFetch() <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @see #getFetch()
+ * @generated
+ * @ordered
+ */
+ protected FetchType fetch = FETCH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getMappedBy() <em>Mapped By</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getMappedBy()
+ * @generated
+ * @ordered
+ */
+ protected static final String MAPPED_BY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMappedBy() <em>Mapped By</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getMappedBy()
+ * @generated
+ * @ordered
+ */
+ protected String mappedBy = MAPPED_BY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isIndexed() <em>Indexed</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isIndexed()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean INDEXED_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isIndexed() <em>Indexed</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isIndexed()
+ * @generated
+ * @ordered
+ */
+ protected boolean indexed = INDEXED_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isUnique() <em>Unique</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isUnique()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean UNIQUE_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isUnique() <em>Unique</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isUnique()
+ * @generated
+ * @ordered
+ */
+ protected boolean unique = UNIQUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected OneToManyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.ONE_TO_MANY;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public FetchType getFetch() {
+ return fetch;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFetch(FetchType newFetch) {
+ FetchType oldFetch = fetch;
+ fetch = newFetch == null ? FETCH_EDEFAULT : newFetch;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.ONE_TO_MANY__FETCH, oldFetch, fetch));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTargetEntity() {
+ return targetEntity;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTargetEntity(String newTargetEntity) {
+ String oldTargetEntity = targetEntity;
+ targetEntity = newTargetEntity;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.ONE_TO_MANY__TARGET_ENTITY, oldTargetEntity, targetEntity));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CascadeType> getCascade() {
+ if (cascade == null) {
+ cascade = new EDataTypeUniqueEList<CascadeType>(CascadeType.class, this, PannotationPackage.ONE_TO_MANY__CASCADE);
+ }
+ return cascade;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getMappedBy() {
+ return mappedBy;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMappedBy(String newMappedBy) {
+ String oldMappedBy = mappedBy;
+ mappedBy = newMappedBy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.ONE_TO_MANY__MAPPED_BY, oldMappedBy, mappedBy));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIndexed() {
+ return indexed;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIndexed(boolean newIndexed) {
+ boolean oldIndexed = indexed;
+ indexed = newIndexed;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.ONE_TO_MANY__INDEXED, oldIndexed, indexed));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isUnique() {
+ return unique;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUnique(boolean newUnique) {
+ boolean oldUnique = unique;
+ unique = newUnique;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.ONE_TO_MANY__UNIQUE, oldUnique, unique));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PannotationPackage.ONE_TO_MANY__TARGET_ENTITY:
+ return getTargetEntity();
+ case PannotationPackage.ONE_TO_MANY__CASCADE:
+ return getCascade();
+ case PannotationPackage.ONE_TO_MANY__FETCH:
+ return getFetch();
+ case PannotationPackage.ONE_TO_MANY__MAPPED_BY:
+ return getMappedBy();
+ case PannotationPackage.ONE_TO_MANY__INDEXED:
+ return isIndexed();
+ case PannotationPackage.ONE_TO_MANY__UNIQUE:
+ return isUnique();
+ }
+ 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 PannotationPackage.ONE_TO_MANY__TARGET_ENTITY:
+ setTargetEntity((String)newValue);
+ return;
+ case PannotationPackage.ONE_TO_MANY__CASCADE:
+ getCascade().clear();
+ getCascade().addAll((Collection<? extends CascadeType>)newValue);
+ return;
+ case PannotationPackage.ONE_TO_MANY__FETCH:
+ setFetch((FetchType)newValue);
+ return;
+ case PannotationPackage.ONE_TO_MANY__MAPPED_BY:
+ setMappedBy((String)newValue);
+ return;
+ case PannotationPackage.ONE_TO_MANY__INDEXED:
+ setIndexed((Boolean)newValue);
+ return;
+ case PannotationPackage.ONE_TO_MANY__UNIQUE:
+ setUnique((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.ONE_TO_MANY__TARGET_ENTITY:
+ setTargetEntity(TARGET_ENTITY_EDEFAULT);
+ return;
+ case PannotationPackage.ONE_TO_MANY__CASCADE:
+ getCascade().clear();
+ return;
+ case PannotationPackage.ONE_TO_MANY__FETCH:
+ setFetch(FETCH_EDEFAULT);
+ return;
+ case PannotationPackage.ONE_TO_MANY__MAPPED_BY:
+ setMappedBy(MAPPED_BY_EDEFAULT);
+ return;
+ case PannotationPackage.ONE_TO_MANY__INDEXED:
+ setIndexed(INDEXED_EDEFAULT);
+ return;
+ case PannotationPackage.ONE_TO_MANY__UNIQUE:
+ setUnique(UNIQUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.ONE_TO_MANY__TARGET_ENTITY:
+ return TARGET_ENTITY_EDEFAULT == null ? targetEntity != null : !TARGET_ENTITY_EDEFAULT.equals(targetEntity);
+ case PannotationPackage.ONE_TO_MANY__CASCADE:
+ return cascade != null && !cascade.isEmpty();
+ case PannotationPackage.ONE_TO_MANY__FETCH:
+ return fetch != FETCH_EDEFAULT;
+ case PannotationPackage.ONE_TO_MANY__MAPPED_BY:
+ return MAPPED_BY_EDEFAULT == null ? mappedBy != null : !MAPPED_BY_EDEFAULT.equals(mappedBy);
+ case PannotationPackage.ONE_TO_MANY__INDEXED:
+ return indexed != INDEXED_EDEFAULT;
+ case PannotationPackage.ONE_TO_MANY__UNIQUE:
+ return unique != UNIQUE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (targetEntity: ");
+ result.append(targetEntity);
+ result.append(", cascade: ");
+ result.append(cascade);
+ result.append(", fetch: ");
+ result.append(fetch);
+ result.append(", mappedBy: ");
+ result.append(mappedBy);
+ result.append(", indexed: ");
+ result.append(indexed);
+ result.append(", unique: ");
+ result.append(unique);
+ result.append(')');
+ return result.toString();
+ }
+
+ /** Returns true if this one to many should be modeled as a list */
+ public boolean isList() {
+ return isIndexed() || !isUnique();
+ }
+
+ @Override
+ protected String getAnnotationValue(org.eclipse.emf.ecore.EObject eObject, EStructuralFeature eFeature,
+ boolean prependComma, List<String> imports) {
+ if (eFeature == PannotationPackage.eINSTANCE.getOneToMany_TargetEntity()) {
+ // do not return anything because jpa expects a real classname,
+ // the targetentity only has an entityname here.
+ return "";
+ }
+ return super.getAnnotationValue(eObject, eFeature, prependComma, imports);
+ }
+
+ @Override
+ protected boolean isFeatureValidJavaAnnotation(EStructuralFeature eFeature) {
+ if (eFeature == PannotationPackage.eINSTANCE.getOneToMany_Indexed() ||
+ eFeature == PannotationPackage.eINSTANCE.getOneToMany_Unique()) {
+ return false;
+ }
+ return super.isFeatureValidJavaAnnotation(eFeature);
+ }
+} // OneToManyImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/OneToOneImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/OneToOneImpl.java
new file mode 100755
index 000000000..b6141937a
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/OneToOneImpl.java
@@ -0,0 +1,397 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: OneToOneImpl.java,v 1.9 2009/06/11 04:59:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.emf.teneo.annotations.pannotation.CascadeType;
+import org.eclipse.emf.teneo.annotations.pannotation.FetchType;
+import org.eclipse.emf.teneo.annotations.pannotation.OneToOne;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>One To One</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.OneToOneImpl#getTargetEntity <em>Target Entity</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.OneToOneImpl#getCascade <em>Cascade</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.OneToOneImpl#getFetch <em>Fetch</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.OneToOneImpl#isOptional <em>Optional</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.OneToOneImpl#getMappedBy <em>Mapped By</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OneToOneImpl extends PAnnotationImpl implements OneToOne {
+ /**
+ * The default value of the '{@link #getTargetEntity() <em>Target Entity</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getTargetEntity()
+ * @generated
+ * @ordered
+ */
+ protected static final String TARGET_ENTITY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTargetEntity() <em>Target Entity</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTargetEntity()
+ * @generated
+ * @ordered
+ */
+ protected String targetEntity = TARGET_ENTITY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getCascade() <em>Cascade</em>}' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getCascade()
+ * @generated
+ * @ordered
+ */
+ protected EList<CascadeType> cascade;
+
+ /**
+ * The default value of the '{@link #getFetch() <em>Fetch</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getFetch()
+ * @generated
+ * @ordered
+ */
+ protected static final FetchType FETCH_EDEFAULT = FetchType.EAGER;
+
+ /**
+ * The cached value of the '{@link #getFetch() <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @see #getFetch()
+ * @generated
+ * @ordered
+ */
+ protected FetchType fetch = FETCH_EDEFAULT;
+
+ /**
+ * This is true if the Fetch attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean fetchESet;
+
+ /**
+ * The default value of the '{@link #isOptional() <em>Optional</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isOptional()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean OPTIONAL_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isOptional() <em>Optional</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isOptional()
+ * @generated
+ * @ordered
+ */
+ protected boolean optional = OPTIONAL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getMappedBy() <em>Mapped By</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getMappedBy()
+ * @generated
+ * @ordered
+ */
+ protected static final String MAPPED_BY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMappedBy() <em>Mapped By</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getMappedBy()
+ * @generated
+ * @ordered
+ */
+ protected String mappedBy = MAPPED_BY_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected OneToOneImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.ONE_TO_ONE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public FetchType getFetch() {
+ return fetch;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFetch(FetchType newFetch) {
+ FetchType oldFetch = fetch;
+ fetch = newFetch == null ? FETCH_EDEFAULT : newFetch;
+ boolean oldFetchESet = fetchESet;
+ fetchESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.ONE_TO_ONE__FETCH, oldFetch, fetch, !oldFetchESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetFetch() {
+ FetchType oldFetch = fetch;
+ boolean oldFetchESet = fetchESet;
+ fetch = FETCH_EDEFAULT;
+ fetchESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, PannotationPackage.ONE_TO_ONE__FETCH, oldFetch, FETCH_EDEFAULT, oldFetchESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetFetch() {
+ return fetchESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isOptional() {
+ return optional;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOptional(boolean newOptional) {
+ boolean oldOptional = optional;
+ optional = newOptional;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.ONE_TO_ONE__OPTIONAL, oldOptional, optional));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTargetEntity() {
+ return targetEntity;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTargetEntity(String newTargetEntity) {
+ String oldTargetEntity = targetEntity;
+ targetEntity = newTargetEntity;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.ONE_TO_ONE__TARGET_ENTITY, oldTargetEntity, targetEntity));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CascadeType> getCascade() {
+ if (cascade == null) {
+ cascade = new EDataTypeUniqueEList<CascadeType>(CascadeType.class, this, PannotationPackage.ONE_TO_ONE__CASCADE);
+ }
+ return cascade;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public String getMappedBy() {
+ return mappedBy;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMappedBy(String newMappedBy) {
+ String oldMappedBy = mappedBy;
+ mappedBy = newMappedBy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.ONE_TO_ONE__MAPPED_BY, oldMappedBy, mappedBy));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PannotationPackage.ONE_TO_ONE__TARGET_ENTITY:
+ return getTargetEntity();
+ case PannotationPackage.ONE_TO_ONE__CASCADE:
+ return getCascade();
+ case PannotationPackage.ONE_TO_ONE__FETCH:
+ return getFetch();
+ case PannotationPackage.ONE_TO_ONE__OPTIONAL:
+ return isOptional();
+ case PannotationPackage.ONE_TO_ONE__MAPPED_BY:
+ return getMappedBy();
+ }
+ 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 PannotationPackage.ONE_TO_ONE__TARGET_ENTITY:
+ setTargetEntity((String)newValue);
+ return;
+ case PannotationPackage.ONE_TO_ONE__CASCADE:
+ getCascade().clear();
+ getCascade().addAll((Collection<? extends CascadeType>)newValue);
+ return;
+ case PannotationPackage.ONE_TO_ONE__FETCH:
+ setFetch((FetchType)newValue);
+ return;
+ case PannotationPackage.ONE_TO_ONE__OPTIONAL:
+ setOptional((Boolean)newValue);
+ return;
+ case PannotationPackage.ONE_TO_ONE__MAPPED_BY:
+ setMappedBy((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.ONE_TO_ONE__TARGET_ENTITY:
+ setTargetEntity(TARGET_ENTITY_EDEFAULT);
+ return;
+ case PannotationPackage.ONE_TO_ONE__CASCADE:
+ getCascade().clear();
+ return;
+ case PannotationPackage.ONE_TO_ONE__FETCH:
+ unsetFetch();
+ return;
+ case PannotationPackage.ONE_TO_ONE__OPTIONAL:
+ setOptional(OPTIONAL_EDEFAULT);
+ return;
+ case PannotationPackage.ONE_TO_ONE__MAPPED_BY:
+ setMappedBy(MAPPED_BY_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.ONE_TO_ONE__TARGET_ENTITY:
+ return TARGET_ENTITY_EDEFAULT == null ? targetEntity != null : !TARGET_ENTITY_EDEFAULT.equals(targetEntity);
+ case PannotationPackage.ONE_TO_ONE__CASCADE:
+ return cascade != null && !cascade.isEmpty();
+ case PannotationPackage.ONE_TO_ONE__FETCH:
+ return isSetFetch();
+ case PannotationPackage.ONE_TO_ONE__OPTIONAL:
+ return optional != OPTIONAL_EDEFAULT;
+ case PannotationPackage.ONE_TO_ONE__MAPPED_BY:
+ return MAPPED_BY_EDEFAULT == null ? mappedBy != null : !MAPPED_BY_EDEFAULT.equals(mappedBy);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (targetEntity: ");
+ result.append(targetEntity);
+ result.append(", cascade: ");
+ result.append(cascade);
+ result.append(", fetch: ");
+ if (fetchESet) result.append(fetch); else result.append("<unset>");
+ result.append(", optional: ");
+ result.append(optional);
+ result.append(", mappedBy: ");
+ result.append(mappedBy);
+ result.append(')');
+ return result.toString();
+ }
+
+ @Override
+ protected String getAnnotationValue(org.eclipse.emf.ecore.EObject eObject, EStructuralFeature eFeature,
+ boolean prependComma, List<String> imports) {
+ if (eFeature == PannotationPackage.eINSTANCE.getOneToOne_TargetEntity()) {
+ // do not return anything because jpa expects a real classname,
+ // the targetentity only has an entityname here.
+ return "";
+ }
+ return super.getAnnotationValue(eObject, eFeature, prependComma, imports);
+ }
+
+} // OneToOneImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/OrderByImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/OrderByImpl.java
new file mode 100755
index 000000000..c73ce0716
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/OrderByImpl.java
@@ -0,0 +1,163 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: OrderByImpl.java,v 1.7 2007/11/14 16:37:53 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.annotations.pannotation.OrderBy;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Order By</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.OrderByImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OrderByImpl extends PAnnotationImpl implements OrderBy {
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OrderByImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.ORDER_BY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue) {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.ORDER_BY__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PannotationPackage.ORDER_BY__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PannotationPackage.ORDER_BY__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.ORDER_BY__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.ORDER_BY__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //OrderByImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/PAnnotationImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/PAnnotationImpl.java
new file mode 100755
index 000000000..43211eafd
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/PAnnotationImpl.java
@@ -0,0 +1,352 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotationImpl.java,v 1.4 2011/02/21 06:40:11 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.Enumerator;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EModelElement;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.teneo.annotations.pannotation.CascadeType;
+import org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorType;
+import org.eclipse.emf.teneo.annotations.pannotation.EnumType;
+import org.eclipse.emf.teneo.annotations.pannotation.FetchType;
+import org.eclipse.emf.teneo.annotations.pannotation.GenerationType;
+import org.eclipse.emf.teneo.annotations.pannotation.InheritanceType;
+import org.eclipse.emf.teneo.annotations.pannotation.PAnnotation;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+import org.eclipse.emf.teneo.annotations.pannotation.TemporalType;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>PAnnotation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.PAnnotationImpl#getEModelElement <em>EModel Element</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.PAnnotationImpl#isGenerated <em>Generated</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class PAnnotationImpl extends EObjectImpl implements PAnnotation {
+
+ /** Translation from enumerate class to import annotation class */
+ private static Map<Class<?>, String> enumToImport = new HashMap<Class<?>, String>();
+
+ static {
+ enumToImport.put(CascadeType.class, "javax.persistence.CascadeType");
+ enumToImport.put(DiscriminatorType.class, "javax.persistence.DiscriminatorType");
+ enumToImport.put(EnumType.class, "javax.persistence.EnumType");
+ enumToImport.put(FetchType.class, "javax.persistence.FetchType");
+ enumToImport.put(GenerationType.class, "javax.persistence.GenerationType");
+ enumToImport.put(InheritanceType.class, "javax.persistence.InheritanceType");
+ enumToImport.put(TemporalType.class, "javax.persistence.TemporalType");
+ }
+
+ /**
+ * The cached value of the '{@link #getEModelElement() <em>EModel Element</em>}' reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see #getEModelElement()
+ * @generated
+ * @ordered
+ */
+ protected EModelElement eModelElement;
+
+ /**
+ * The default value of the '{@link #isGenerated() <em>Generated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isGenerated()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean GENERATED_EDEFAULT = true;
+ /**
+ * The cached value of the '{@link #isGenerated() <em>Generated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isGenerated()
+ * @generated
+ * @ordered
+ */
+ protected boolean generated = GENERATED_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected PAnnotationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.PANNOTATION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EModelElement getEModelElement() {
+ if (eModelElement != null && eModelElement.eIsProxy()) {
+ InternalEObject oldEModelElement = (InternalEObject)eModelElement;
+ eModelElement = (EModelElement)eResolveProxy(oldEModelElement);
+ if (eModelElement != oldEModelElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, PannotationPackage.PANNOTATION__EMODEL_ELEMENT, oldEModelElement, eModelElement));
+ }
+ }
+ return eModelElement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EModelElement basicGetEModelElement() {
+ return eModelElement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEModelElement(EModelElement newEModelElement) {
+ EModelElement oldEModelElement = eModelElement;
+ eModelElement = newEModelElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.PANNOTATION__EMODEL_ELEMENT, oldEModelElement, eModelElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isGenerated() {
+ return generated;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setGenerated(boolean newGenerated) {
+ boolean oldGenerated = generated;
+ generated = newGenerated;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.PANNOTATION__GENERATED, oldGenerated, generated));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PannotationPackage.PANNOTATION__EMODEL_ELEMENT:
+ if (resolve) return getEModelElement();
+ return basicGetEModelElement();
+ case PannotationPackage.PANNOTATION__GENERATED:
+ return isGenerated();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PannotationPackage.PANNOTATION__EMODEL_ELEMENT:
+ setEModelElement((EModelElement)newValue);
+ return;
+ case PannotationPackage.PANNOTATION__GENERATED:
+ setGenerated((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.PANNOTATION__EMODEL_ELEMENT:
+ setEModelElement((EModelElement)null);
+ return;
+ case PannotationPackage.PANNOTATION__GENERATED:
+ setGenerated(GENERATED_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.PANNOTATION__EMODEL_ELEMENT:
+ return eModelElement != null;
+ case PannotationPackage.PANNOTATION__GENERATED:
+ return generated != GENERATED_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (generated: ");
+ result.append(generated);
+ result.append(')');
+ return result.toString();
+ }
+
+ /** Return the class name of the annotation */
+ public String getAnnotationClassName() {
+ return "javax.persistence." + this.eClass().getName();
+ }
+
+ /** Return the java annotation, any importStatements are added to the passed list */
+ public String getJavaAnnotation(List<String> imports) {
+ final StringBuffer sb = new StringBuffer();
+ for (EStructuralFeature eFeature : eClass().getEStructuralFeatures()) {
+ if (isFeatureValidJavaAnnotation(eFeature)) {
+ sb.append(getAnnotationValue(this, eFeature, sb.length() > 0, imports));
+ }
+ }
+
+ // ensure that there is always at most one
+ addImport(imports, getAnnotationClassName());
+
+ if (sb.length() == 0) {
+ return "@" + eClass().getName();
+ }
+ return "@" + eClass().getName() + "(" + sb.toString() + ")";
+ }
+
+ // to handle some non standard annotation
+ protected boolean isFeatureValidJavaAnnotation(EStructuralFeature eFeature) {
+ return true;
+ }
+
+ /** Returns an annotation correct name value pair if the feature is set */
+ protected String getAnnotationValue(org.eclipse.emf.ecore.EObject eObject, EStructuralFeature eFeature,
+ boolean prependComma, List<String> imports) {
+ final Object value = eObject.eGet(eFeature);
+ if (value == null) {
+ return "";
+ }
+ if (!eObject.eIsSet(eFeature)) {
+ return "";
+ }
+ final String result;
+ if (value instanceof List<?>) {
+ final List<?> values = (List<?>) value;
+ if (values.size() == 0) {
+ return "";
+ }
+ final StringBuffer sb = new StringBuffer();
+ for (Object o : values) {
+ if (o instanceof PAnnotation) {
+ final PAnnotation pAnnotation = (PAnnotation) o;
+ sb.append(pAnnotation.getJavaAnnotation(imports));
+ } else {
+ sb.append(getAnnotationValue(imports, o));
+ }
+ }
+ if (sb.length() == 0) {
+ return "";
+ }
+ result = eFeature.getName() + " = {" + sb.toString() + "}";
+ } else {
+ result = eFeature.getName() + " = " + getAnnotationValue(imports, value);
+ }
+ if (prependComma) {
+ return ", " + result;
+ }
+ return result;
+ }
+
+ protected String getAnnotationValue(List<String> imports, Object value) {
+ if (value instanceof String) {
+ return "\"" + (String) value + "\"";
+ } else if (value instanceof Enumerator) {
+ addImport(imports, getEnumImport(value));
+ return ((Enumerator) value).getClass().getSimpleName() + "." + ((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) {
+ if (sb.length() > 0) {
+ sb.append(", ");
+ }
+ if (o instanceof PAnnotation) {
+ final PAnnotation pAnnotation = (PAnnotation) o;
+ sb.append(pAnnotation.getJavaAnnotation(imports));
+ } else {
+ sb.append(getAnnotationValue(imports, o));
+ }
+ }
+ return "{" + sb.toString() + "}";
+ } else {
+ return "" + value;
+ }
+
+ }
+
+ protected void addImport(List<String> imports, String newImport) {
+ if (!imports.contains(newImport)) {
+ imports.add(newImport);
+ }
+ }
+
+ /** Return the import statement required for the enum */
+ protected String getEnumImport(Object enumInstance) {
+ final String enumImport = enumToImport.get(enumInstance.getClass());
+ if (enumImport == null) {
+ throw new IllegalArgumentException("No import defined for enum class: " + enumInstance.getClass().getName());
+ }
+ return enumImport;
+ }
+
+} // PAnnotationImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/PannotationFactoryImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/PannotationFactoryImpl.java
new file mode 100755
index 000000000..631b0a99f
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/PannotationFactoryImpl.java
@@ -0,0 +1,794 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PannotationFactoryImpl.java,v 1.35 2011/02/21 06:40:11 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.teneo.annotations.pannotation.*;
+import org.eclipse.emf.teneo.annotations.pannotation.AssociationOverride;
+import org.eclipse.emf.teneo.annotations.pannotation.AttributeOverride;
+import org.eclipse.emf.teneo.annotations.pannotation.Basic;
+import org.eclipse.emf.teneo.annotations.pannotation.CascadeType;
+import org.eclipse.emf.teneo.annotations.pannotation.Column;
+import org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorType;
+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.Embedded;
+import org.eclipse.emf.teneo.annotations.pannotation.EmbeddedId;
+import org.eclipse.emf.teneo.annotations.pannotation.Entity;
+import org.eclipse.emf.teneo.annotations.pannotation.EnumType;
+import org.eclipse.emf.teneo.annotations.pannotation.Enumerated;
+import org.eclipse.emf.teneo.annotations.pannotation.External;
+import org.eclipse.emf.teneo.annotations.pannotation.FetchType;
+import org.eclipse.emf.teneo.annotations.pannotation.ForeignKey;
+import org.eclipse.emf.teneo.annotations.pannotation.GeneratedValue;
+import org.eclipse.emf.teneo.annotations.pannotation.GenerationType;
+import org.eclipse.emf.teneo.annotations.pannotation.Id;
+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.JoinColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.JoinTable;
+import org.eclipse.emf.teneo.annotations.pannotation.ListIndexColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.Lob;
+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.MappedSuperclass;
+import org.eclipse.emf.teneo.annotations.pannotation.NoEAVMapping;
+import org.eclipse.emf.teneo.annotations.pannotation.OneToMany;
+import org.eclipse.emf.teneo.annotations.pannotation.OneToOne;
+import org.eclipse.emf.teneo.annotations.pannotation.OptimizerType;
+import org.eclipse.emf.teneo.annotations.pannotation.OrderBy;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationFactory;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+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.SequenceStyleGenerator;
+import org.eclipse.emf.teneo.annotations.pannotation.Table;
+import org.eclipse.emf.teneo.annotations.pannotation.TableGenerator;
+import org.eclipse.emf.teneo.annotations.pannotation.Temporal;
+import org.eclipse.emf.teneo.annotations.pannotation.TemporalType;
+import org.eclipse.emf.teneo.annotations.pannotation.Transient;
+import org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint;
+import org.eclipse.emf.teneo.annotations.pannotation.Version;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PannotationFactoryImpl extends EFactoryImpl implements PannotationFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static PannotationFactory init() {
+ try {
+ PannotationFactory thePannotationFactory = (PannotationFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/emf/teneo/elver/2005/PAnnotation");
+ if (thePannotationFactory != null) {
+ return thePannotationFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new PannotationFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PannotationFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case PannotationPackage.ATTRIBUTE_OVERRIDE: return createAttributeOverride();
+ case PannotationPackage.ASSOCIATION_OVERRIDE: return createAssociationOverride();
+ case PannotationPackage.BASIC: return createBasic();
+ case PannotationPackage.COLUMN: return createColumn();
+ case PannotationPackage.DISCRIMINATOR_COLUMN: return createDiscriminatorColumn();
+ case PannotationPackage.DISCRIMINATOR_VALUE: return createDiscriminatorValue();
+ case PannotationPackage.EMBEDDABLE: return createEmbeddable();
+ case PannotationPackage.EMBEDDED: return createEmbedded();
+ case PannotationPackage.EMBEDDED_ID: return createEmbeddedId();
+ case PannotationPackage.ENTITY: return createEntity();
+ case PannotationPackage.ENUMERATED: return createEnumerated();
+ case PannotationPackage.GENERATED_VALUE: return createGeneratedValue();
+ case PannotationPackage.ID: return createId();
+ case PannotationPackage.ID_CLASS: return createIdClass();
+ case PannotationPackage.INHERITANCE: return createInheritance();
+ case PannotationPackage.JOIN_COLUMN: return createJoinColumn();
+ case PannotationPackage.JOIN_TABLE: return createJoinTable();
+ case PannotationPackage.LOB: return createLob();
+ case PannotationPackage.MANY_TO_MANY: return createManyToMany();
+ case PannotationPackage.MANY_TO_ONE: return createManyToOne();
+ case PannotationPackage.MAP_KEY: return createMapKey();
+ case PannotationPackage.MAPPED_SUPERCLASS: return createMappedSuperclass();
+ case PannotationPackage.ONE_TO_MANY: return createOneToMany();
+ case PannotationPackage.ONE_TO_ONE: return createOneToOne();
+ case PannotationPackage.ORDER_BY: return createOrderBy();
+ case PannotationPackage.PRIMARY_KEY_JOIN_COLUMN: return createPrimaryKeyJoinColumn();
+ case PannotationPackage.SECONDARY_TABLE: return createSecondaryTable();
+ case PannotationPackage.SEQUENCE_GENERATOR: return createSequenceGenerator();
+ case PannotationPackage.TABLE: return createTable();
+ case PannotationPackage.TABLE_GENERATOR: return createTableGenerator();
+ case PannotationPackage.TEMPORAL: return createTemporal();
+ case PannotationPackage.TRANSIENT: return createTransient();
+ case PannotationPackage.UNIQUE_CONSTRAINT: return createUniqueConstraint();
+ case PannotationPackage.VERSION: return createVersion();
+ case PannotationPackage.FOREIGN_KEY: return createForeignKey();
+ case PannotationPackage.SEQUENCE_STYLE_GENERATOR: return createSequenceStyleGenerator();
+ case PannotationPackage.EXTERNAL: return createExternal();
+ case PannotationPackage.EAV_MAPPING: return createEAVMapping();
+ case PannotationPackage.NO_EAV_MAPPING: return createNoEAVMapping();
+ case PannotationPackage.LIST_INDEX_COLUMN: return createListIndexColumn();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case PannotationPackage.CASCADE_TYPE:
+ return createCascadeTypeFromString(eDataType, initialValue);
+ case PannotationPackage.DISCRIMINATOR_TYPE:
+ return createDiscriminatorTypeFromString(eDataType, initialValue);
+ case PannotationPackage.ENUM_TYPE:
+ return createEnumTypeFromString(eDataType, initialValue);
+ case PannotationPackage.FETCH_TYPE:
+ return createFetchTypeFromString(eDataType, initialValue);
+ case PannotationPackage.GENERATION_TYPE:
+ return createGenerationTypeFromString(eDataType, initialValue);
+ case PannotationPackage.INHERITANCE_TYPE:
+ return createInheritanceTypeFromString(eDataType, initialValue);
+ case PannotationPackage.TEMPORAL_TYPE:
+ return createTemporalTypeFromString(eDataType, initialValue);
+ case PannotationPackage.OPTIMIZER_TYPE:
+ return createOptimizerTypeFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case PannotationPackage.CASCADE_TYPE:
+ return convertCascadeTypeToString(eDataType, instanceValue);
+ case PannotationPackage.DISCRIMINATOR_TYPE:
+ return convertDiscriminatorTypeToString(eDataType, instanceValue);
+ case PannotationPackage.ENUM_TYPE:
+ return convertEnumTypeToString(eDataType, instanceValue);
+ case PannotationPackage.FETCH_TYPE:
+ return convertFetchTypeToString(eDataType, instanceValue);
+ case PannotationPackage.GENERATION_TYPE:
+ return convertGenerationTypeToString(eDataType, instanceValue);
+ case PannotationPackage.INHERITANCE_TYPE:
+ return convertInheritanceTypeToString(eDataType, instanceValue);
+ case PannotationPackage.TEMPORAL_TYPE:
+ return convertTemporalTypeToString(eDataType, instanceValue);
+ case PannotationPackage.OPTIMIZER_TYPE:
+ return convertOptimizerTypeToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AttributeOverride createAttributeOverride() {
+ AttributeOverrideImpl attributeOverride = new AttributeOverrideImpl();
+ return attributeOverride;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Basic createBasic() {
+ BasicImpl basic = new BasicImpl();
+ return basic;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Column createColumn() {
+ ColumnImpl column = new ColumnImpl();
+ return column;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DiscriminatorColumn createDiscriminatorColumn() {
+ DiscriminatorColumnImpl discriminatorColumn = new DiscriminatorColumnImpl();
+ return discriminatorColumn;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DiscriminatorValue createDiscriminatorValue() {
+ DiscriminatorValueImpl discriminatorValue = new DiscriminatorValueImpl();
+ return discriminatorValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Embeddable createEmbeddable() {
+ EmbeddableImpl embeddable = new EmbeddableImpl();
+ return embeddable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MappedSuperclass createMappedSuperclass() {
+ MappedSuperclassImpl mappedSuperclass = new MappedSuperclassImpl();
+ return mappedSuperclass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Embedded createEmbedded() {
+ EmbeddedImpl embedded = new EmbeddedImpl();
+ return embedded;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EmbeddedId createEmbeddedId() {
+ EmbeddedIdImpl embeddedId = new EmbeddedIdImpl();
+ return embeddedId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Enumerated createEnumerated() {
+ EnumeratedImpl enumerated = new EnumeratedImpl();
+ return enumerated;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Entity createEntity() {
+ EntityImpl entity = new EntityImpl();
+ return entity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GeneratedValue createGeneratedValue() {
+ GeneratedValueImpl generatedValue = new GeneratedValueImpl();
+ return generatedValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Id createId() {
+ IdImpl id = new IdImpl();
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IdClass createIdClass() {
+ IdClassImpl idClass = new IdClassImpl();
+ return idClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Inheritance createInheritance() {
+ InheritanceImpl inheritance = new InheritanceImpl();
+ return inheritance;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public JoinColumn createJoinColumn() {
+ JoinColumnImpl joinColumn = new JoinColumnImpl();
+ return joinColumn;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public JoinTable createJoinTable() {
+ JoinTableImpl joinTable = new JoinTableImpl();
+ return joinTable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Lob createLob() {
+ LobImpl lob = new LobImpl();
+ return lob;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ManyToMany createManyToMany() {
+ ManyToManyImpl manyToMany = new ManyToManyImpl();
+ return manyToMany;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ManyToOne createManyToOne() {
+ ManyToOneImpl manyToOne = new ManyToOneImpl();
+ return manyToOne;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MapKey createMapKey() {
+ MapKeyImpl mapKey = new MapKeyImpl();
+ return mapKey;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OneToMany createOneToMany() {
+ OneToManyImpl oneToMany = new OneToManyImpl();
+ return oneToMany;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OneToOne createOneToOne() {
+ OneToOneImpl oneToOne = new OneToOneImpl();
+ return oneToOne;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OrderBy createOrderBy() {
+ OrderByImpl orderBy = new OrderByImpl();
+ return orderBy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PrimaryKeyJoinColumn createPrimaryKeyJoinColumn() {
+ PrimaryKeyJoinColumnImpl primaryKeyJoinColumn = new PrimaryKeyJoinColumnImpl();
+ return primaryKeyJoinColumn;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SecondaryTable createSecondaryTable() {
+ SecondaryTableImpl secondaryTable = new SecondaryTableImpl();
+ return secondaryTable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequenceGenerator createSequenceGenerator() {
+ SequenceGeneratorImpl sequenceGenerator = new SequenceGeneratorImpl();
+ return sequenceGenerator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Table createTable() {
+ TableImpl table = new TableImpl();
+ return table;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TableGenerator createTableGenerator() {
+ TableGeneratorImpl tableGenerator = new TableGeneratorImpl();
+ return tableGenerator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Temporal createTemporal() {
+ TemporalImpl temporal = new TemporalImpl();
+ return temporal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Transient createTransient() {
+ TransientImpl transient_ = new TransientImpl();
+ return transient_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UniqueConstraint createUniqueConstraint() {
+ UniqueConstraintImpl uniqueConstraint = new UniqueConstraintImpl();
+ return uniqueConstraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Version createVersion() {
+ VersionImpl version = new VersionImpl();
+ return version;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ForeignKey createForeignKey() {
+ ForeignKeyImpl foreignKey = new ForeignKeyImpl();
+ return foreignKey;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequenceStyleGenerator createSequenceStyleGenerator() {
+ SequenceStyleGeneratorImpl sequenceStyleGenerator = new SequenceStyleGeneratorImpl();
+ return sequenceStyleGenerator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public External createExternal() {
+ ExternalImpl external = new ExternalImpl();
+ return external;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAVMapping createEAVMapping() {
+ EAVMappingImpl eavMapping = new EAVMappingImpl();
+ return eavMapping;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NoEAVMapping createNoEAVMapping() {
+ NoEAVMappingImpl noEAVMapping = new NoEAVMappingImpl();
+ return noEAVMapping;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ListIndexColumn createListIndexColumn() {
+ ListIndexColumnImpl listIndexColumn = new ListIndexColumnImpl();
+ return listIndexColumn;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CascadeType createCascadeTypeFromString(EDataType eDataType, String initialValue) {
+ CascadeType result = CascadeType.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertCascadeTypeToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DiscriminatorType createDiscriminatorTypeFromString(EDataType eDataType, String initialValue) {
+ DiscriminatorType result = DiscriminatorType.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertDiscriminatorTypeToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EnumType createEnumTypeFromString(EDataType eDataType, String initialValue) {
+ EnumType result = EnumType.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertEnumTypeToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FetchType createFetchTypeFromString(EDataType eDataType, String initialValue) {
+ FetchType result = FetchType.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertFetchTypeToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GenerationType createGenerationTypeFromString(EDataType eDataType, String initialValue) {
+ GenerationType result = GenerationType.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertGenerationTypeToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InheritanceType createInheritanceTypeFromString(EDataType eDataType, String initialValue) {
+ InheritanceType result = InheritanceType.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertInheritanceTypeToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemporalType createTemporalTypeFromString(EDataType eDataType, String initialValue) {
+ TemporalType result = TemporalType.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertTemporalTypeToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OptimizerType createOptimizerTypeFromString(EDataType eDataType, String initialValue) {
+ OptimizerType result = OptimizerType.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertOptimizerTypeToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AssociationOverride createAssociationOverride() {
+ AssociationOverrideImpl associationOverride = new AssociationOverrideImpl();
+ return associationOverride;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PannotationPackage getPannotationPackage() {
+ return (PannotationPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static PannotationPackage getPackage() {
+ return PannotationPackage.eINSTANCE;
+ }
+
+} //PannotationFactoryImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/PannotationPackageImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/PannotationPackageImpl.java
new file mode 100755
index 000000000..7454653c4
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/PannotationPackageImpl.java
@@ -0,0 +1,2740 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PannotationPackageImpl.java,v 1.35 2011/02/21 06:40:11 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import java.util.Collection;
+import java.util.Collections;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EValidator;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.emf.teneo.annotations.pamodel.PamodelPackage;
+import org.eclipse.emf.teneo.annotations.pamodel.impl.PamodelPackageImpl;
+import org.eclipse.emf.teneo.annotations.pannotation.AssociationOverride;
+import org.eclipse.emf.teneo.annotations.pannotation.AttributeOverride;
+import org.eclipse.emf.teneo.annotations.pannotation.Basic;
+import org.eclipse.emf.teneo.annotations.pannotation.CascadeType;
+import org.eclipse.emf.teneo.annotations.pannotation.Column;
+import org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorType;
+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.Embedded;
+import org.eclipse.emf.teneo.annotations.pannotation.EmbeddedId;
+import org.eclipse.emf.teneo.annotations.pannotation.Entity;
+import org.eclipse.emf.teneo.annotations.pannotation.EnumType;
+import org.eclipse.emf.teneo.annotations.pannotation.Enumerated;
+import org.eclipse.emf.teneo.annotations.pannotation.External;
+import org.eclipse.emf.teneo.annotations.pannotation.FetchType;
+import org.eclipse.emf.teneo.annotations.pannotation.ForeignKey;
+import org.eclipse.emf.teneo.annotations.pannotation.GeneratedValue;
+import org.eclipse.emf.teneo.annotations.pannotation.GenerationType;
+import org.eclipse.emf.teneo.annotations.pannotation.Id;
+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.JoinColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.JoinTable;
+import org.eclipse.emf.teneo.annotations.pannotation.ListIndexColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.Lob;
+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.MappedSuperclass;
+import org.eclipse.emf.teneo.annotations.pannotation.NoEAVMapping;
+import org.eclipse.emf.teneo.annotations.pannotation.OneToMany;
+import org.eclipse.emf.teneo.annotations.pannotation.OneToOne;
+import org.eclipse.emf.teneo.annotations.pannotation.OptimizerType;
+import org.eclipse.emf.teneo.annotations.pannotation.OrderBy;
+import org.eclipse.emf.teneo.annotations.pannotation.PAnnotation;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationFactory;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+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.SequenceStyleGenerator;
+import org.eclipse.emf.teneo.annotations.pannotation.Table;
+import org.eclipse.emf.teneo.annotations.pannotation.TableGenerator;
+import org.eclipse.emf.teneo.annotations.pannotation.Temporal;
+import org.eclipse.emf.teneo.annotations.pannotation.TemporalType;
+import org.eclipse.emf.teneo.annotations.pannotation.Transient;
+import org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint;
+import org.eclipse.emf.teneo.annotations.pannotation.Version;
+import org.eclipse.emf.teneo.annotations.pannotation.util.PannotationValidator;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!--
+ * end-user-doc -->
+ * @generated
+ */
+public class PannotationPackageImpl extends EPackageImpl implements
+ PannotationPackage {
+ public static final String TARGET_ANNOTATION_SOURCE = "teneo/internal/Target";
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pAnnotationEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass attributeOverrideEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass basicEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass columnEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass discriminatorColumnEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass discriminatorValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass embeddableEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass mappedSuperclassEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass embeddedEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass embeddedIdEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass enumeratedEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass entityEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass generatedValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass idEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass idClassEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass inheritanceEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass joinColumnEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass joinTableEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass lobEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass manyToManyEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass manyToOneEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass mapKeyEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass oneToManyEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass oneToOneEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass orderByEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass primaryKeyJoinColumnEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass secondaryTableEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass sequenceGeneratorEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass tableEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass tableGeneratorEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass temporalEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass transientEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass uniqueConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass versionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass foreignKeyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass sequenceStyleGeneratorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass externalEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass eavMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass noEAVMappingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass listIndexColumnEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass associationOverrideEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum fetchTypeEEnum = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum discriminatorTypeEEnum = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum enumTypeEEnum = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum inheritanceTypeEEnum = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum cascadeTypeEEnum = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum temporalTypeEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum optimizerTypeEEnum = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum generationTypeEEnum = 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.pannotation.PannotationPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private PannotationPackageImpl() {
+ super(eNS_URI, PannotationFactory.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 PannotationPackage#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 PannotationPackage init() {
+ if (isInited) return (PannotationPackage)EPackage.Registry.INSTANCE.getEPackage(PannotationPackage.eNS_URI);
+
+ // Obtain or create and register package
+ PannotationPackageImpl thePannotationPackage = (PannotationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof PannotationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new PannotationPackageImpl());
+
+ isInited = true;
+
+ // Obtain or create and register interdependencies
+ PamodelPackageImpl thePamodelPackage = (PamodelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(PamodelPackage.eNS_URI) instanceof PamodelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PamodelPackage.eNS_URI) : PamodelPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ thePannotationPackage.createPackageContents();
+ thePamodelPackage.createPackageContents();
+
+ // Initialize created meta-data
+ thePannotationPackage.initializePackageContents();
+ thePamodelPackage.initializePackageContents();
+
+ // Register package validator
+ EValidator.Registry.INSTANCE.put
+ (thePannotationPackage,
+ new EValidator.Descriptor() {
+ public EValidator getEValidator() {
+ return PannotationValidator.INSTANCE;
+ }
+ });
+
+ // Mark meta-data to indicate it can't be changed
+ thePannotationPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(PannotationPackage.eNS_URI, thePannotationPackage);
+ return thePannotationPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPAnnotation() {
+ return pAnnotationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPAnnotation_EModelElement() {
+ return (EReference)pAnnotationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPAnnotation_Generated() {
+ return (EAttribute)pAnnotationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAttributeOverride() {
+ return attributeOverrideEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAttributeOverride_Name() {
+ return (EAttribute)attributeOverrideEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAttributeOverride_Column() {
+ return (EReference)attributeOverrideEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBasic() {
+ return basicEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBasic_Fetch() {
+ return (EAttribute)basicEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBasic_Optional() {
+ return (EAttribute)basicEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getColumn() {
+ return columnEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getColumn_Name() {
+ return (EAttribute)columnEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getColumn_Length() {
+ return (EAttribute)columnEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getColumn_Scale() {
+ return (EAttribute)columnEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getColumn_UniqueKey() {
+ return (EAttribute)columnEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getColumn_Index() {
+ return (EAttribute)columnEClass.getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getColumn_Unique() {
+ return (EAttribute)columnEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getColumn_Precision() {
+ return (EAttribute)columnEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getColumn_Nullable() {
+ return (EAttribute)columnEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getColumn_Insertable() {
+ return (EAttribute)columnEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getColumn_Updatable() {
+ return (EAttribute)columnEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getColumn_ColumnDefinition() {
+ return (EAttribute)columnEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getColumn_Table() {
+ return (EAttribute)columnEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDiscriminatorColumn() {
+ return discriminatorColumnEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDiscriminatorColumn_Name() {
+ return (EAttribute)discriminatorColumnEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDiscriminatorColumn_DiscriminatorType() {
+ return (EAttribute)discriminatorColumnEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDiscriminatorColumn_Length() {
+ return (EAttribute)discriminatorColumnEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDiscriminatorColumn_Column() {
+ return (EReference)discriminatorColumnEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDiscriminatorValue() {
+ return discriminatorValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDiscriminatorValue_Value() {
+ return (EAttribute)discriminatorValueEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDiscriminatorColumn_ColumnDefinition() {
+ return (EAttribute)discriminatorColumnEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEmbeddable() {
+ return embeddableEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMappedSuperclass() {
+ return mappedSuperclassEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEmbedded() {
+ return embeddedEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEmbeddedId() {
+ return embeddedIdEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEnumerated() {
+ return enumeratedEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getEnumerated_Value() {
+ return (EAttribute)enumeratedEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEntity() {
+ return entityEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getEntity_Name() {
+ return (EAttribute)entityEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getEntity_Extends() {
+ return (EAttribute)entityEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGeneratedValue() {
+ return generatedValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGeneratedValue_Strategy() {
+ return (EAttribute)generatedValueEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGeneratedValue_Generator() {
+ return (EAttribute)generatedValueEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getId() {
+ return idEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getIdClass() {
+ return idClassEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getIdClass_Value() {
+ return (EAttribute)idClassEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInheritance() {
+ return inheritanceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getInheritance_Strategy() {
+ return (EAttribute)inheritanceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getJoinColumn() {
+ return joinColumnEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getJoinColumn_Name() {
+ return (EAttribute)joinColumnEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getJoinColumn_Unique() {
+ return (EAttribute)joinColumnEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getJoinColumn_Nullable() {
+ return (EAttribute)joinColumnEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getJoinColumn_Insertable() {
+ return (EAttribute)joinColumnEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getJoinColumn_Updatable() {
+ return (EAttribute)joinColumnEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getJoinColumn_ColumnDefinition() {
+ return (EAttribute)joinColumnEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getJoinColumn_Table() {
+ return (EAttribute)joinColumnEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getJoinColumn_ReferencedColumnName() {
+ return (EAttribute)joinColumnEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getJoinTable() {
+ return joinTableEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getJoinTable_Name() {
+ return (EAttribute)joinTableEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getJoinTable_Catalog() {
+ return (EAttribute)joinTableEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getJoinTable_Schema() {
+ return (EAttribute)joinTableEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getJoinTable_JoinColumns() {
+ return (EReference)joinTableEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getJoinTable_InverseJoinColumns() {
+ return (EReference)joinTableEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getJoinTable_UniqueConstraints() {
+ return (EReference)joinTableEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLob() {
+ return lobEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getManyToMany() {
+ return manyToManyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getManyToMany_Fetch() {
+ return (EAttribute)manyToManyEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getManyToMany_TargetEntity() {
+ return (EAttribute)manyToManyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getManyToMany_Cascade() {
+ return (EAttribute)manyToManyEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getManyToMany_MappedBy() {
+ return (EAttribute)manyToManyEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getManyToMany_Indexed() {
+ return (EAttribute)manyToManyEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getManyToOne() {
+ return manyToOneEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getManyToOne_TargetEntity() {
+ return (EAttribute)manyToOneEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getManyToOne_Fetch() {
+ return (EAttribute)manyToOneEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getManyToOne_Optional() {
+ return (EAttribute)manyToOneEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getManyToOne_Cascade() {
+ return (EAttribute)manyToOneEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMapKey() {
+ return mapKeyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMapKey_Name() {
+ return (EAttribute)mapKeyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOneToMany() {
+ return oneToManyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOneToMany_Fetch() {
+ return (EAttribute)oneToManyEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOneToMany_TargetEntity() {
+ return (EAttribute)oneToManyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOneToMany_Cascade() {
+ return (EAttribute)oneToManyEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOneToMany_MappedBy() {
+ return (EAttribute)oneToManyEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOneToMany_Indexed() {
+ return (EAttribute)oneToManyEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOneToMany_Unique() {
+ return (EAttribute)oneToManyEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOneToOne() {
+ return oneToOneEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOneToOne_Fetch() {
+ return (EAttribute)oneToOneEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOneToOne_Optional() {
+ return (EAttribute)oneToOneEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOneToOne_TargetEntity() {
+ return (EAttribute)oneToOneEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOneToOne_Cascade() {
+ return (EAttribute)oneToOneEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOneToOne_MappedBy() {
+ return (EAttribute)oneToOneEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOrderBy() {
+ return orderByEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOrderBy_Value() {
+ return (EAttribute)orderByEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPrimaryKeyJoinColumn() {
+ return primaryKeyJoinColumnEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPrimaryKeyJoinColumn_Name() {
+ return (EAttribute)primaryKeyJoinColumnEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPrimaryKeyJoinColumn_ColumnDefinition() {
+ return (EAttribute)primaryKeyJoinColumnEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPrimaryKeyJoinColumn_ReferencedColumnName() {
+ return (EAttribute)primaryKeyJoinColumnEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSecondaryTable() {
+ return secondaryTableEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSecondaryTable_Name() {
+ return (EAttribute)secondaryTableEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSecondaryTable_Catalog() {
+ return (EAttribute)secondaryTableEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSecondaryTable_Schema() {
+ return (EAttribute)secondaryTableEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSecondaryTable_PkJoinColumns() {
+ return (EReference)secondaryTableEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSecondaryTable_UniqueConstraints() {
+ return (EReference)secondaryTableEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSequenceGenerator() {
+ return sequenceGeneratorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSequenceGenerator_Name() {
+ return (EAttribute)sequenceGeneratorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSequenceGenerator_InitialValue() {
+ return (EAttribute)sequenceGeneratorEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSequenceGenerator_SequenceName() {
+ return (EAttribute)sequenceGeneratorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSequenceGenerator_AllocationSize() {
+ return (EAttribute)sequenceGeneratorEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTable() {
+ return tableEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTable_Name() {
+ return (EAttribute)tableEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTable_Catalog() {
+ return (EAttribute)tableEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTable_Schema() {
+ return (EAttribute)tableEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTable_UniqueConstraints() {
+ return (EReference)tableEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTableGenerator() {
+ return tableGeneratorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTableGenerator_Name() {
+ return (EAttribute)tableGeneratorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTableGenerator_AllocationSize() {
+ return (EAttribute)tableGeneratorEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTableGenerator_Table() {
+ return (EAttribute)tableGeneratorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTableGenerator_Catalog() {
+ return (EAttribute)tableGeneratorEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTableGenerator_Schema() {
+ return (EAttribute)tableGeneratorEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTableGenerator_PkColumnName() {
+ return (EAttribute)tableGeneratorEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTableGenerator_ValueColumnName() {
+ return (EAttribute)tableGeneratorEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTableGenerator_InitialValue() {
+ return (EAttribute)tableGeneratorEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTableGenerator_PkColumnValue() {
+ return (EAttribute)tableGeneratorEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTableGenerator_UniqueConstraints() {
+ return (EReference)tableGeneratorEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTemporal() {
+ return temporalEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTemporal_Value() {
+ return (EAttribute)temporalEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTransient() {
+ return transientEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getUniqueConstraint() {
+ return uniqueConstraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getUniqueConstraint_ColumnNames() {
+ return (EAttribute)uniqueConstraintEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVersion() {
+ return versionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getForeignKey() {
+ return foreignKeyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getForeignKey_Name() {
+ return (EAttribute)foreignKeyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSequenceStyleGenerator() {
+ return sequenceStyleGeneratorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSequenceStyleGenerator_Name() {
+ return (EAttribute)sequenceStyleGeneratorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSequenceStyleGenerator_SequenceName() {
+ return (EAttribute)sequenceStyleGeneratorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSequenceStyleGenerator_InitialValue() {
+ return (EAttribute)sequenceStyleGeneratorEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSequenceStyleGenerator_IncrementSize() {
+ return (EAttribute)sequenceStyleGeneratorEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSequenceStyleGenerator_Optimizer() {
+ return (EAttribute)sequenceStyleGeneratorEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExternal() {
+ return externalEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getExternal_Type() {
+ return (EAttribute)externalEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEAVMapping() {
+ return eavMappingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNoEAVMapping() {
+ return noEAVMappingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getListIndexColumn() {
+ return listIndexColumnEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getListIndexColumn_Name() {
+ return (EAttribute)listIndexColumnEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAssociationOverride() {
+ return associationOverrideEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAssociationOverride_Name() {
+ return (EAttribute)associationOverrideEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAssociationOverride_JoinColumns() {
+ return (EReference)associationOverrideEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getFetchType() {
+ return fetchTypeEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getDiscriminatorType() {
+ return discriminatorTypeEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getEnumType() {
+ return enumTypeEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getInheritanceType() {
+ return inheritanceTypeEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getCascadeType() {
+ return cascadeTypeEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getTemporalType() {
+ return temporalTypeEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getOptimizerType() {
+ return optimizerTypeEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getGenerationType() {
+ return generationTypeEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public PannotationFactory getPannotationFactory() {
+ return (PannotationFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ pAnnotationEClass = createEClass(PANNOTATION);
+ createEReference(pAnnotationEClass, PANNOTATION__EMODEL_ELEMENT);
+ createEAttribute(pAnnotationEClass, PANNOTATION__GENERATED);
+
+ attributeOverrideEClass = createEClass(ATTRIBUTE_OVERRIDE);
+ createEAttribute(attributeOverrideEClass, ATTRIBUTE_OVERRIDE__NAME);
+ createEReference(attributeOverrideEClass, ATTRIBUTE_OVERRIDE__COLUMN);
+
+ associationOverrideEClass = createEClass(ASSOCIATION_OVERRIDE);
+ createEAttribute(associationOverrideEClass, ASSOCIATION_OVERRIDE__NAME);
+ createEReference(associationOverrideEClass, ASSOCIATION_OVERRIDE__JOIN_COLUMNS);
+
+ basicEClass = createEClass(BASIC);
+ createEAttribute(basicEClass, BASIC__FETCH);
+ createEAttribute(basicEClass, BASIC__OPTIONAL);
+
+ columnEClass = createEClass(COLUMN);
+ createEAttribute(columnEClass, COLUMN__NAME);
+ createEAttribute(columnEClass, COLUMN__UNIQUE);
+ createEAttribute(columnEClass, COLUMN__NULLABLE);
+ createEAttribute(columnEClass, COLUMN__INSERTABLE);
+ createEAttribute(columnEClass, COLUMN__UPDATABLE);
+ createEAttribute(columnEClass, COLUMN__COLUMN_DEFINITION);
+ createEAttribute(columnEClass, COLUMN__TABLE);
+ createEAttribute(columnEClass, COLUMN__LENGTH);
+ createEAttribute(columnEClass, COLUMN__PRECISION);
+ createEAttribute(columnEClass, COLUMN__SCALE);
+ createEAttribute(columnEClass, COLUMN__UNIQUE_KEY);
+ createEAttribute(columnEClass, COLUMN__INDEX);
+
+ discriminatorColumnEClass = createEClass(DISCRIMINATOR_COLUMN);
+ createEAttribute(discriminatorColumnEClass, DISCRIMINATOR_COLUMN__NAME);
+ createEAttribute(discriminatorColumnEClass, DISCRIMINATOR_COLUMN__DISCRIMINATOR_TYPE);
+ createEAttribute(discriminatorColumnEClass, DISCRIMINATOR_COLUMN__COLUMN_DEFINITION);
+ createEAttribute(discriminatorColumnEClass, DISCRIMINATOR_COLUMN__LENGTH);
+ createEReference(discriminatorColumnEClass, DISCRIMINATOR_COLUMN__COLUMN);
+
+ discriminatorValueEClass = createEClass(DISCRIMINATOR_VALUE);
+ createEAttribute(discriminatorValueEClass, DISCRIMINATOR_VALUE__VALUE);
+
+ embeddableEClass = createEClass(EMBEDDABLE);
+
+ embeddedEClass = createEClass(EMBEDDED);
+
+ embeddedIdEClass = createEClass(EMBEDDED_ID);
+
+ entityEClass = createEClass(ENTITY);
+ createEAttribute(entityEClass, ENTITY__NAME);
+ createEAttribute(entityEClass, ENTITY__EXTENDS);
+
+ enumeratedEClass = createEClass(ENUMERATED);
+ createEAttribute(enumeratedEClass, ENUMERATED__VALUE);
+
+ generatedValueEClass = createEClass(GENERATED_VALUE);
+ createEAttribute(generatedValueEClass, GENERATED_VALUE__STRATEGY);
+ createEAttribute(generatedValueEClass, GENERATED_VALUE__GENERATOR);
+
+ idEClass = createEClass(ID);
+
+ idClassEClass = createEClass(ID_CLASS);
+ createEAttribute(idClassEClass, ID_CLASS__VALUE);
+
+ inheritanceEClass = createEClass(INHERITANCE);
+ createEAttribute(inheritanceEClass, INHERITANCE__STRATEGY);
+
+ joinColumnEClass = createEClass(JOIN_COLUMN);
+ createEAttribute(joinColumnEClass, JOIN_COLUMN__NAME);
+ createEAttribute(joinColumnEClass, JOIN_COLUMN__REFERENCED_COLUMN_NAME);
+ createEAttribute(joinColumnEClass, JOIN_COLUMN__UNIQUE);
+ createEAttribute(joinColumnEClass, JOIN_COLUMN__NULLABLE);
+ createEAttribute(joinColumnEClass, JOIN_COLUMN__INSERTABLE);
+ createEAttribute(joinColumnEClass, JOIN_COLUMN__UPDATABLE);
+ createEAttribute(joinColumnEClass, JOIN_COLUMN__COLUMN_DEFINITION);
+ createEAttribute(joinColumnEClass, JOIN_COLUMN__TABLE);
+
+ joinTableEClass = createEClass(JOIN_TABLE);
+ createEAttribute(joinTableEClass, JOIN_TABLE__NAME);
+ createEAttribute(joinTableEClass, JOIN_TABLE__CATALOG);
+ createEAttribute(joinTableEClass, JOIN_TABLE__SCHEMA);
+ createEReference(joinTableEClass, JOIN_TABLE__JOIN_COLUMNS);
+ createEReference(joinTableEClass, JOIN_TABLE__INVERSE_JOIN_COLUMNS);
+ createEReference(joinTableEClass, JOIN_TABLE__UNIQUE_CONSTRAINTS);
+
+ lobEClass = createEClass(LOB);
+
+ manyToManyEClass = createEClass(MANY_TO_MANY);
+ createEAttribute(manyToManyEClass, MANY_TO_MANY__TARGET_ENTITY);
+ createEAttribute(manyToManyEClass, MANY_TO_MANY__CASCADE);
+ createEAttribute(manyToManyEClass, MANY_TO_MANY__FETCH);
+ createEAttribute(manyToManyEClass, MANY_TO_MANY__MAPPED_BY);
+ createEAttribute(manyToManyEClass, MANY_TO_MANY__INDEXED);
+
+ manyToOneEClass = createEClass(MANY_TO_ONE);
+ createEAttribute(manyToOneEClass, MANY_TO_ONE__TARGET_ENTITY);
+ createEAttribute(manyToOneEClass, MANY_TO_ONE__CASCADE);
+ createEAttribute(manyToOneEClass, MANY_TO_ONE__FETCH);
+ createEAttribute(manyToOneEClass, MANY_TO_ONE__OPTIONAL);
+
+ mapKeyEClass = createEClass(MAP_KEY);
+ createEAttribute(mapKeyEClass, MAP_KEY__NAME);
+
+ mappedSuperclassEClass = createEClass(MAPPED_SUPERCLASS);
+
+ oneToManyEClass = createEClass(ONE_TO_MANY);
+ createEAttribute(oneToManyEClass, ONE_TO_MANY__TARGET_ENTITY);
+ createEAttribute(oneToManyEClass, ONE_TO_MANY__CASCADE);
+ createEAttribute(oneToManyEClass, ONE_TO_MANY__FETCH);
+ createEAttribute(oneToManyEClass, ONE_TO_MANY__MAPPED_BY);
+ createEAttribute(oneToManyEClass, ONE_TO_MANY__INDEXED);
+ createEAttribute(oneToManyEClass, ONE_TO_MANY__UNIQUE);
+
+ oneToOneEClass = createEClass(ONE_TO_ONE);
+ createEAttribute(oneToOneEClass, ONE_TO_ONE__TARGET_ENTITY);
+ createEAttribute(oneToOneEClass, ONE_TO_ONE__CASCADE);
+ createEAttribute(oneToOneEClass, ONE_TO_ONE__FETCH);
+ createEAttribute(oneToOneEClass, ONE_TO_ONE__OPTIONAL);
+ createEAttribute(oneToOneEClass, ONE_TO_ONE__MAPPED_BY);
+
+ orderByEClass = createEClass(ORDER_BY);
+ createEAttribute(orderByEClass, ORDER_BY__VALUE);
+
+ primaryKeyJoinColumnEClass = createEClass(PRIMARY_KEY_JOIN_COLUMN);
+ createEAttribute(primaryKeyJoinColumnEClass, PRIMARY_KEY_JOIN_COLUMN__NAME);
+ createEAttribute(primaryKeyJoinColumnEClass, PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME);
+ createEAttribute(primaryKeyJoinColumnEClass, PRIMARY_KEY_JOIN_COLUMN__COLUMN_DEFINITION);
+
+ secondaryTableEClass = createEClass(SECONDARY_TABLE);
+ createEAttribute(secondaryTableEClass, SECONDARY_TABLE__NAME);
+ createEAttribute(secondaryTableEClass, SECONDARY_TABLE__CATALOG);
+ createEAttribute(secondaryTableEClass, SECONDARY_TABLE__SCHEMA);
+ createEReference(secondaryTableEClass, SECONDARY_TABLE__PK_JOIN_COLUMNS);
+ createEReference(secondaryTableEClass, SECONDARY_TABLE__UNIQUE_CONSTRAINTS);
+
+ sequenceGeneratorEClass = createEClass(SEQUENCE_GENERATOR);
+ createEAttribute(sequenceGeneratorEClass, SEQUENCE_GENERATOR__NAME);
+ createEAttribute(sequenceGeneratorEClass, SEQUENCE_GENERATOR__SEQUENCE_NAME);
+ createEAttribute(sequenceGeneratorEClass, SEQUENCE_GENERATOR__INITIAL_VALUE);
+ createEAttribute(sequenceGeneratorEClass, SEQUENCE_GENERATOR__ALLOCATION_SIZE);
+
+ tableEClass = createEClass(TABLE);
+ createEAttribute(tableEClass, TABLE__NAME);
+ createEAttribute(tableEClass, TABLE__CATALOG);
+ createEAttribute(tableEClass, TABLE__SCHEMA);
+ createEReference(tableEClass, TABLE__UNIQUE_CONSTRAINTS);
+
+ tableGeneratorEClass = createEClass(TABLE_GENERATOR);
+ createEAttribute(tableGeneratorEClass, TABLE_GENERATOR__NAME);
+ createEAttribute(tableGeneratorEClass, TABLE_GENERATOR__TABLE);
+ createEAttribute(tableGeneratorEClass, TABLE_GENERATOR__CATALOG);
+ createEAttribute(tableGeneratorEClass, TABLE_GENERATOR__SCHEMA);
+ createEAttribute(tableGeneratorEClass, TABLE_GENERATOR__PK_COLUMN_NAME);
+ createEAttribute(tableGeneratorEClass, TABLE_GENERATOR__VALUE_COLUMN_NAME);
+ createEAttribute(tableGeneratorEClass, TABLE_GENERATOR__PK_COLUMN_VALUE);
+ createEAttribute(tableGeneratorEClass, TABLE_GENERATOR__INITIAL_VALUE);
+ createEAttribute(tableGeneratorEClass, TABLE_GENERATOR__ALLOCATION_SIZE);
+ createEReference(tableGeneratorEClass, TABLE_GENERATOR__UNIQUE_CONSTRAINTS);
+
+ temporalEClass = createEClass(TEMPORAL);
+ createEAttribute(temporalEClass, TEMPORAL__VALUE);
+
+ transientEClass = createEClass(TRANSIENT);
+
+ uniqueConstraintEClass = createEClass(UNIQUE_CONSTRAINT);
+ createEAttribute(uniqueConstraintEClass, UNIQUE_CONSTRAINT__COLUMN_NAMES);
+
+ versionEClass = createEClass(VERSION);
+
+ foreignKeyEClass = createEClass(FOREIGN_KEY);
+ createEAttribute(foreignKeyEClass, FOREIGN_KEY__NAME);
+
+ sequenceStyleGeneratorEClass = createEClass(SEQUENCE_STYLE_GENERATOR);
+ createEAttribute(sequenceStyleGeneratorEClass, SEQUENCE_STYLE_GENERATOR__NAME);
+ createEAttribute(sequenceStyleGeneratorEClass, SEQUENCE_STYLE_GENERATOR__SEQUENCE_NAME);
+ createEAttribute(sequenceStyleGeneratorEClass, SEQUENCE_STYLE_GENERATOR__INITIAL_VALUE);
+ createEAttribute(sequenceStyleGeneratorEClass, SEQUENCE_STYLE_GENERATOR__INCREMENT_SIZE);
+ createEAttribute(sequenceStyleGeneratorEClass, SEQUENCE_STYLE_GENERATOR__OPTIMIZER);
+
+ externalEClass = createEClass(EXTERNAL);
+ createEAttribute(externalEClass, EXTERNAL__TYPE);
+
+ eavMappingEClass = createEClass(EAV_MAPPING);
+
+ noEAVMappingEClass = createEClass(NO_EAV_MAPPING);
+
+ listIndexColumnEClass = createEClass(LIST_INDEX_COLUMN);
+ createEAttribute(listIndexColumnEClass, LIST_INDEX_COLUMN__NAME);
+
+ // Create enums
+ cascadeTypeEEnum = createEEnum(CASCADE_TYPE);
+ discriminatorTypeEEnum = createEEnum(DISCRIMINATOR_TYPE);
+ enumTypeEEnum = createEEnum(ENUM_TYPE);
+ fetchTypeEEnum = createEEnum(FETCH_TYPE);
+ generationTypeEEnum = createEEnum(GENERATION_TYPE);
+ inheritanceTypeEEnum = createEEnum(INHERITANCE_TYPE);
+ temporalTypeEEnum = createEEnum(TEMPORAL_TYPE);
+ optimizerTypeEEnum = createEEnum(OPTIMIZER_TYPE);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ attributeOverrideEClass.getESuperTypes().add(this.getPAnnotation());
+ associationOverrideEClass.getESuperTypes().add(this.getPAnnotation());
+ basicEClass.getESuperTypes().add(this.getPAnnotation());
+ columnEClass.getESuperTypes().add(this.getPAnnotation());
+ discriminatorColumnEClass.getESuperTypes().add(this.getPAnnotation());
+ discriminatorValueEClass.getESuperTypes().add(this.getPAnnotation());
+ embeddableEClass.getESuperTypes().add(this.getPAnnotation());
+ embeddedEClass.getESuperTypes().add(this.getPAnnotation());
+ embeddedIdEClass.getESuperTypes().add(this.getPAnnotation());
+ entityEClass.getESuperTypes().add(this.getPAnnotation());
+ enumeratedEClass.getESuperTypes().add(this.getPAnnotation());
+ generatedValueEClass.getESuperTypes().add(this.getPAnnotation());
+ idEClass.getESuperTypes().add(this.getPAnnotation());
+ idClassEClass.getESuperTypes().add(this.getPAnnotation());
+ inheritanceEClass.getESuperTypes().add(this.getPAnnotation());
+ joinColumnEClass.getESuperTypes().add(this.getPAnnotation());
+ joinTableEClass.getESuperTypes().add(this.getPAnnotation());
+ lobEClass.getESuperTypes().add(this.getPAnnotation());
+ manyToManyEClass.getESuperTypes().add(this.getPAnnotation());
+ manyToOneEClass.getESuperTypes().add(this.getPAnnotation());
+ mapKeyEClass.getESuperTypes().add(this.getPAnnotation());
+ mappedSuperclassEClass.getESuperTypes().add(this.getPAnnotation());
+ oneToManyEClass.getESuperTypes().add(this.getPAnnotation());
+ oneToOneEClass.getESuperTypes().add(this.getPAnnotation());
+ orderByEClass.getESuperTypes().add(this.getPAnnotation());
+ primaryKeyJoinColumnEClass.getESuperTypes().add(this.getPAnnotation());
+ secondaryTableEClass.getESuperTypes().add(this.getPAnnotation());
+ sequenceGeneratorEClass.getESuperTypes().add(this.getPAnnotation());
+ tableEClass.getESuperTypes().add(this.getPAnnotation());
+ tableGeneratorEClass.getESuperTypes().add(this.getPAnnotation());
+ temporalEClass.getESuperTypes().add(this.getPAnnotation());
+ transientEClass.getESuperTypes().add(this.getPAnnotation());
+ uniqueConstraintEClass.getESuperTypes().add(this.getPAnnotation());
+ versionEClass.getESuperTypes().add(this.getPAnnotation());
+ foreignKeyEClass.getESuperTypes().add(this.getPAnnotation());
+ sequenceStyleGeneratorEClass.getESuperTypes().add(this.getPAnnotation());
+ externalEClass.getESuperTypes().add(this.getPAnnotation());
+ eavMappingEClass.getESuperTypes().add(this.getPAnnotation());
+ noEAVMappingEClass.getESuperTypes().add(this.getPAnnotation());
+ listIndexColumnEClass.getESuperTypes().add(this.getPAnnotation());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(pAnnotationEClass, PAnnotation.class, "PAnnotation", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPAnnotation_EModelElement(), ecorePackage.getEModelElement(), null, "eModelElement", null, 1, 1, PAnnotation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPAnnotation_Generated(), ecorePackage.getEBoolean(), "generated", "true", 0, 1, PAnnotation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(attributeOverrideEClass, AttributeOverride.class, "AttributeOverride", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getAttributeOverride_Name(), ecorePackage.getEString(), "name", null, 1, 1, AttributeOverride.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAttributeOverride_Column(), this.getColumn(), null, "column", null, 1, 1, AttributeOverride.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(associationOverrideEClass, AssociationOverride.class, "AssociationOverride", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getAssociationOverride_Name(), ecorePackage.getEString(), "name", null, 1, 1, AssociationOverride.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAssociationOverride_JoinColumns(), this.getJoinColumn(), null, "joinColumns", null, 1, -1, AssociationOverride.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(basicEClass, Basic.class, "Basic", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getBasic_Fetch(), this.getFetchType(), "fetch", "EAGER", 0, 1, Basic.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getBasic_Optional(), ecorePackage.getEBoolean(), "optional", "true", 0, 1, Basic.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(columnEClass, Column.class, "Column", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getColumn_Name(), ecorePackage.getEString(), "name", null, 0, 1, Column.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getColumn_Unique(), ecorePackage.getEBoolean(), "unique", "false", 0, 1, Column.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getColumn_Nullable(), ecorePackage.getEBoolean(), "nullable", "true", 0, 1, Column.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getColumn_Insertable(), ecorePackage.getEBoolean(), "insertable", "true", 0, 1, Column.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getColumn_Updatable(), ecorePackage.getEBoolean(), "updatable", "true", 0, 1, Column.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getColumn_ColumnDefinition(), ecorePackage.getEString(), "columnDefinition", null, 0, 1, Column.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getColumn_Table(), ecorePackage.getEString(), "table", null, 0, 1, Column.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getColumn_Length(), ecorePackage.getEInt(), "length", "255", 0, 1, Column.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getColumn_Precision(), ecorePackage.getEInt(), "precision", "0", 0, 1, Column.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getColumn_Scale(), ecorePackage.getEInt(), "scale", "0", 0, 1, Column.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getColumn_UniqueKey(), ecorePackage.getEString(), "uniqueKey", null, 0, 1, Column.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getColumn_Index(), ecorePackage.getEString(), "index", null, 0, 1, Column.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(discriminatorColumnEClass, DiscriminatorColumn.class, "DiscriminatorColumn", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getDiscriminatorColumn_Name(), ecorePackage.getEString(), "name", "DTYPE", 0, 1, DiscriminatorColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDiscriminatorColumn_DiscriminatorType(), this.getDiscriminatorType(), "discriminatorType", "STRING", 0, 1, DiscriminatorColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDiscriminatorColumn_ColumnDefinition(), ecorePackage.getEString(), "columnDefinition", null, 0, 1, DiscriminatorColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDiscriminatorColumn_Length(), ecorePackage.getEInt(), "length", "31", 0, 1, DiscriminatorColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDiscriminatorColumn_Column(), this.getColumn(), null, "column", null, 0, 1, DiscriminatorColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(discriminatorValueEClass, DiscriminatorValue.class, "DiscriminatorValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getDiscriminatorValue_Value(), ecorePackage.getEString(), "value", null, 0, 1, DiscriminatorValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(embeddableEClass, Embeddable.class, "Embeddable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(embeddedEClass, Embedded.class, "Embedded", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(embeddedIdEClass, EmbeddedId.class, "EmbeddedId", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(entityEClass, Entity.class, "Entity", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getEntity_Name(), ecorePackage.getEString(), "name", null, 0, 1, Entity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getEntity_Extends(), ecorePackage.getEString(), "extends", null, 0, 1, Entity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(enumeratedEClass, Enumerated.class, "Enumerated", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getEnumerated_Value(), this.getEnumType(), "value", "ORDINAL", 0, 1, Enumerated.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(generatedValueEClass, GeneratedValue.class, "GeneratedValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getGeneratedValue_Strategy(), this.getGenerationType(), "strategy", "AUTO", 0, 1, GeneratedValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getGeneratedValue_Generator(), ecorePackage.getEString(), "generator", null, 0, 1, GeneratedValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(idEClass, Id.class, "Id", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(idClassEClass, IdClass.class, "IdClass", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getIdClass_Value(), ecorePackage.getEString(), "value", null, 1, 1, IdClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(inheritanceEClass, Inheritance.class, "Inheritance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getInheritance_Strategy(), this.getInheritanceType(), "strategy", "SINGLE_TABLE", 0, 1, Inheritance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(joinColumnEClass, JoinColumn.class, "JoinColumn", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getJoinColumn_Name(), ecorePackage.getEString(), "name", null, 0, 1, JoinColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getJoinColumn_ReferencedColumnName(), ecorePackage.getEString(), "referencedColumnName", null, 0, 1, JoinColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getJoinColumn_Unique(), ecorePackage.getEBoolean(), "unique", "false", 0, 1, JoinColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getJoinColumn_Nullable(), ecorePackage.getEBoolean(), "nullable", "true", 0, 1, JoinColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getJoinColumn_Insertable(), ecorePackage.getEBoolean(), "insertable", "true", 0, 1, JoinColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getJoinColumn_Updatable(), ecorePackage.getEBoolean(), "updatable", "true", 0, 1, JoinColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getJoinColumn_ColumnDefinition(), ecorePackage.getEString(), "columnDefinition", null, 0, 1, JoinColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getJoinColumn_Table(), ecorePackage.getEString(), "table", null, 0, 1, JoinColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(joinTableEClass, JoinTable.class, "JoinTable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getJoinTable_Name(), ecorePackage.getEString(), "name", null, 0, 1, JoinTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getJoinTable_Catalog(), ecorePackage.getEString(), "catalog", null, 0, 1, JoinTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getJoinTable_Schema(), ecorePackage.getEString(), "schema", null, 0, 1, JoinTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getJoinTable_JoinColumns(), this.getJoinColumn(), null, "joinColumns", null, 0, -1, JoinTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getJoinTable_InverseJoinColumns(), this.getJoinColumn(), null, "inverseJoinColumns", null, 0, -1, JoinTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getJoinTable_UniqueConstraints(), this.getUniqueConstraint(), null, "uniqueConstraints", null, 0, -1, JoinTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(lobEClass, Lob.class, "Lob", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(manyToManyEClass, ManyToMany.class, "ManyToMany", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getManyToMany_TargetEntity(), ecorePackage.getEString(), "targetEntity", null, 0, 1, ManyToMany.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getManyToMany_Cascade(), this.getCascadeType(), "cascade", null, 0, -1, ManyToMany.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getManyToMany_Fetch(), this.getFetchType(), "fetch", "LAZY", 0, 1, ManyToMany.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getManyToMany_MappedBy(), ecorePackage.getEString(), "mappedBy", null, 0, 1, ManyToMany.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getManyToMany_Indexed(), ecorePackage.getEBoolean(), "indexed", "true", 0, 1, ManyToMany.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(manyToOneEClass, ManyToOne.class, "ManyToOne", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getManyToOne_TargetEntity(), ecorePackage.getEString(), "targetEntity", null, 0, 1, ManyToOne.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getManyToOne_Cascade(), this.getCascadeType(), "cascade", null, 0, -1, ManyToOne.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getManyToOne_Fetch(), this.getFetchType(), "fetch", "EAGER", 0, 1, ManyToOne.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getManyToOne_Optional(), ecorePackage.getEBoolean(), "optional", "true", 0, 1, ManyToOne.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(mapKeyEClass, MapKey.class, "MapKey", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMapKey_Name(), ecorePackage.getEString(), "name", null, 0, 1, MapKey.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(mappedSuperclassEClass, MappedSuperclass.class, "MappedSuperclass", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(oneToManyEClass, OneToMany.class, "OneToMany", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getOneToMany_TargetEntity(), ecorePackage.getEString(), "targetEntity", null, 0, 1, OneToMany.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOneToMany_Cascade(), this.getCascadeType(), "cascade", null, 0, -1, OneToMany.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOneToMany_Fetch(), this.getFetchType(), "fetch", "LAZY", 0, 1, OneToMany.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOneToMany_MappedBy(), ecorePackage.getEString(), "mappedBy", null, 0, 1, OneToMany.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOneToMany_Indexed(), ecorePackage.getEBoolean(), "indexed", "true", 0, 1, OneToMany.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOneToMany_Unique(), ecorePackage.getEBoolean(), "unique", "true", 0, 1, OneToMany.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(oneToOneEClass, OneToOne.class, "OneToOne", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getOneToOne_TargetEntity(), ecorePackage.getEString(), "targetEntity", null, 0, 1, OneToOne.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOneToOne_Cascade(), this.getCascadeType(), "cascade", null, 0, -1, OneToOne.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOneToOne_Fetch(), this.getFetchType(), "fetch", "EAGER", 0, 1, OneToOne.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOneToOne_Optional(), ecorePackage.getEBoolean(), "optional", "true", 0, 1, OneToOne.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOneToOne_MappedBy(), ecorePackage.getEString(), "mappedBy", null, 0, 1, OneToOne.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(orderByEClass, OrderBy.class, "OrderBy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getOrderBy_Value(), ecorePackage.getEString(), "value", null, 0, 1, OrderBy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(primaryKeyJoinColumnEClass, PrimaryKeyJoinColumn.class, "PrimaryKeyJoinColumn", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPrimaryKeyJoinColumn_Name(), ecorePackage.getEString(), "name", null, 0, 1, PrimaryKeyJoinColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPrimaryKeyJoinColumn_ReferencedColumnName(), ecorePackage.getEString(), "referencedColumnName", null, 0, 1, PrimaryKeyJoinColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPrimaryKeyJoinColumn_ColumnDefinition(), ecorePackage.getEString(), "columnDefinition", null, 0, 1, PrimaryKeyJoinColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(secondaryTableEClass, SecondaryTable.class, "SecondaryTable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSecondaryTable_Name(), ecorePackage.getEString(), "name", null, 1, 1, SecondaryTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSecondaryTable_Catalog(), ecorePackage.getEString(), "catalog", null, 0, 1, SecondaryTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSecondaryTable_Schema(), ecorePackage.getEString(), "schema", null, 0, 1, SecondaryTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSecondaryTable_PkJoinColumns(), this.getPrimaryKeyJoinColumn(), null, "pkJoinColumns", null, 0, -1, SecondaryTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSecondaryTable_UniqueConstraints(), this.getUniqueConstraint(), null, "uniqueConstraints", null, 0, -1, SecondaryTable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(sequenceGeneratorEClass, SequenceGenerator.class, "SequenceGenerator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSequenceGenerator_Name(), ecorePackage.getEString(), "name", null, 1, 1, SequenceGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSequenceGenerator_SequenceName(), ecorePackage.getEString(), "sequenceName", null, 0, 1, SequenceGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSequenceGenerator_InitialValue(), ecorePackage.getEInt(), "initialValue", "1", 0, 1, SequenceGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSequenceGenerator_AllocationSize(), ecorePackage.getEInt(), "allocationSize", "50", 0, 1, SequenceGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(tableEClass, Table.class, "Table", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getTable_Name(), ecorePackage.getEString(), "name", null, 0, 1, Table.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getTable_Catalog(), ecorePackage.getEString(), "catalog", null, 0, 1, Table.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getTable_Schema(), ecorePackage.getEString(), "schema", null, 0, 1, Table.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getTable_UniqueConstraints(), this.getUniqueConstraint(), null, "uniqueConstraints", null, 0, -1, Table.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(tableGeneratorEClass, TableGenerator.class, "TableGenerator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getTableGenerator_Name(), ecorePackage.getEString(), "name", null, 1, 1, TableGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getTableGenerator_Table(), ecorePackage.getEString(), "table", null, 0, 1, TableGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getTableGenerator_Catalog(), ecorePackage.getEString(), "catalog", null, 0, 1, TableGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getTableGenerator_Schema(), ecorePackage.getEString(), "schema", null, 0, 1, TableGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getTableGenerator_PkColumnName(), ecorePackage.getEString(), "pkColumnName", null, 0, 1, TableGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getTableGenerator_ValueColumnName(), ecorePackage.getEString(), "valueColumnName", null, 0, 1, TableGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getTableGenerator_PkColumnValue(), ecorePackage.getEString(), "pkColumnValue", null, 0, 1, TableGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getTableGenerator_InitialValue(), ecorePackage.getEInt(), "initialValue", "0", 0, 1, TableGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getTableGenerator_AllocationSize(), ecorePackage.getEInt(), "allocationSize", "50", 0, 1, TableGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getTableGenerator_UniqueConstraints(), this.getUniqueConstraint(), null, "uniqueConstraints", null, 0, -1, TableGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(temporalEClass, Temporal.class, "Temporal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getTemporal_Value(), this.getTemporalType(), "value", "", 0, 1, Temporal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(transientEClass, Transient.class, "Transient", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(uniqueConstraintEClass, UniqueConstraint.class, "UniqueConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getUniqueConstraint_ColumnNames(), ecorePackage.getEString(), "columnNames", null, 1, -1, UniqueConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(versionEClass, Version.class, "Version", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(foreignKeyEClass, ForeignKey.class, "ForeignKey", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getForeignKey_Name(), ecorePackage.getEString(), "name", null, 0, 1, ForeignKey.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(sequenceStyleGeneratorEClass, SequenceStyleGenerator.class, "SequenceStyleGenerator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSequenceStyleGenerator_Name(), ecorePackage.getEString(), "name", null, 1, 1, SequenceStyleGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSequenceStyleGenerator_SequenceName(), ecorePackage.getEString(), "sequenceName", null, 0, 1, SequenceStyleGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSequenceStyleGenerator_InitialValue(), ecorePackage.getEInt(), "initialValue", "1", 0, 1, SequenceStyleGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSequenceStyleGenerator_IncrementSize(), ecorePackage.getEInt(), "incrementSize", "50", 0, 1, SequenceStyleGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSequenceStyleGenerator_Optimizer(), this.getOptimizerType(), "optimizer", "NONE", 0, 1, SequenceStyleGenerator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(externalEClass, External.class, "External", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getExternal_Type(), ecorePackage.getEString(), "type", null, 0, 1, External.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(eavMappingEClass, EAVMapping.class, "EAVMapping", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(noEAVMappingEClass, NoEAVMapping.class, "NoEAVMapping", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(listIndexColumnEClass, ListIndexColumn.class, "ListIndexColumn", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getListIndexColumn_Name(), ecorePackage.getEString(), "name", null, 1, 1, ListIndexColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(cascadeTypeEEnum, CascadeType.class, "CascadeType");
+ addEEnumLiteral(cascadeTypeEEnum, CascadeType.ALL);
+ addEEnumLiteral(cascadeTypeEEnum, CascadeType.PERSIST);
+ addEEnumLiteral(cascadeTypeEEnum, CascadeType.MERGE);
+ addEEnumLiteral(cascadeTypeEEnum, CascadeType.REMOVE);
+ addEEnumLiteral(cascadeTypeEEnum, CascadeType.REFRESH);
+ addEEnumLiteral(cascadeTypeEEnum, CascadeType.NONE);
+
+ initEEnum(discriminatorTypeEEnum, DiscriminatorType.class, "DiscriminatorType");
+ addEEnumLiteral(discriminatorTypeEEnum, DiscriminatorType.STRING);
+ addEEnumLiteral(discriminatorTypeEEnum, DiscriminatorType.CHAR);
+ addEEnumLiteral(discriminatorTypeEEnum, DiscriminatorType.INTEGER);
+
+ initEEnum(enumTypeEEnum, EnumType.class, "EnumType");
+ addEEnumLiteral(enumTypeEEnum, EnumType.ORDINAL);
+ addEEnumLiteral(enumTypeEEnum, EnumType.STRING);
+
+ initEEnum(fetchTypeEEnum, FetchType.class, "FetchType");
+ addEEnumLiteral(fetchTypeEEnum, FetchType.LAZY);
+ addEEnumLiteral(fetchTypeEEnum, FetchType.EAGER);
+ addEEnumLiteral(fetchTypeEEnum, FetchType.EXTRA);
+
+ initEEnum(generationTypeEEnum, GenerationType.class, "GenerationType");
+ addEEnumLiteral(generationTypeEEnum, GenerationType.TABLE);
+ addEEnumLiteral(generationTypeEEnum, GenerationType.SEQUENCE);
+ addEEnumLiteral(generationTypeEEnum, GenerationType.IDENTITY);
+ addEEnumLiteral(generationTypeEEnum, GenerationType.AUTO);
+ addEEnumLiteral(generationTypeEEnum, GenerationType.SEQUENCESTYLE);
+ addEEnumLiteral(generationTypeEEnum, GenerationType.ASSIGNED);
+
+ initEEnum(inheritanceTypeEEnum, InheritanceType.class, "InheritanceType");
+ addEEnumLiteral(inheritanceTypeEEnum, InheritanceType.SINGLE_TABLE);
+ addEEnumLiteral(inheritanceTypeEEnum, InheritanceType.TABLE_PER_CLASS);
+ addEEnumLiteral(inheritanceTypeEEnum, InheritanceType.JOINED);
+
+ initEEnum(temporalTypeEEnum, TemporalType.class, "TemporalType");
+ addEEnumLiteral(temporalTypeEEnum, TemporalType.DATE);
+ addEEnumLiteral(temporalTypeEEnum, TemporalType.TIME);
+ addEEnumLiteral(temporalTypeEEnum, TemporalType.TIMESTAMP);
+
+ initEEnum(optimizerTypeEEnum, OptimizerType.class, "OptimizerType");
+ addEEnumLiteral(optimizerTypeEEnum, OptimizerType.NONE);
+ addEEnumLiteral(optimizerTypeEEnum, OptimizerType.HILO);
+ addEEnumLiteral(optimizerTypeEEnum, OptimizerType.POOLED);
+
+ // Create resource
+ createResource(eNS_URI);
+
+ // Create annotations
+ // http://www.eclipse.org/emf/2004/EmfaticAnnotationMap
+ createEmfaticAnnotationMapAnnotations();
+ // teneo.mapping.source
+ createTeneoAnnotations();
+ // http://www.eclipse.org/emf/2002/Ecore
+ createEcoreAnnotations();
+ // teneo/internal/PersistenceMapping
+ createPersistenceMappingAnnotations();
+ // teneo/internal/Target
+ createTargetAnnotations();
+ // teneo/PeristenceMapping
+ createPeristenceMappingAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for
+ * <b>http://www.eclipse.org/emf/2004/EmfaticAnnotationMap</b>. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void createEmfaticAnnotationMapAnnotations() {
+ String source = "http://www.eclipse.org/emf/2004/EmfaticAnnotationMap";
+ addAnnotation
+ (this,
+ source,
+ new String[] {
+ "Target", "teneo/internal/Target",
+ "Unsupported", "teneo/internal/Unsupported"
+ });
+ }
+
+ /**
+ * Initializes the annotations for <b>teneo.mapping.source</b>. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void createTeneoAnnotations() {
+ String source = "teneo.mapping.source";
+ addAnnotation
+ (this,
+ source,
+ new String[] {
+ "0", "http://annotation.elver.org/",
+ "1", "http://ejb.elver.org/"
+ });
+ }
+
+ /**
+ * Initializes the annotations for <b>http://www.eclipse.org/emf/2002/Ecore</b>.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createEcoreAnnotations() {
+ String source = "http://www.eclipse.org/emf/2002/Ecore";
+ addAnnotation
+ (pAnnotationEClass,
+ source,
+ new String[] {
+ "constraints", "CompatibleEModelElementType AnnotationIsSupported"
+ });
+ addAnnotation
+ (basicEClass,
+ source,
+ new String[] {
+ "constraints", "AllowedElementType"
+ });
+ addAnnotation
+ (columnEClass,
+ source,
+ new String[] {
+ "constraints", "ScalePrecisionForNumeric LengthForString"
+ });
+ addAnnotation
+ (discriminatorValueEClass,
+ source,
+ new String[] {
+ "constraints", "NoAbstract"
+ });
+ addAnnotation
+ (embeddableEClass,
+ source,
+ new String[] {
+ "constraints", "NoInterface"
+ });
+ addAnnotation
+ (embeddedEClass,
+ source,
+ new String[] {
+ "constraints", "EmbedByValue"
+ });
+ addAnnotation
+ (embeddedIdEClass,
+ source,
+ new String[] {
+ "constraints", "EmbedByValue"
+ });
+ addAnnotation
+ (entityEClass,
+ source,
+ new String[] {
+ "constraints", "NoInterface NoReservedName"
+ });
+ addAnnotation
+ (enumeratedEClass,
+ source,
+ new String[] {
+ "constraints", "AllowedElementType"
+ });
+ addAnnotation
+ (idEClass,
+ source,
+ new String[] {
+ "constraints", "AllowedElementType"
+ });
+ addAnnotation
+ (lobEClass,
+ source,
+ new String[] {
+ "constraints", "AllowedType"
+ });
+ addAnnotation
+ (manyToManyEClass,
+ source,
+ new String[] {
+ "constraints", "IsManyValued"
+ });
+ addAnnotation
+ (manyToOneEClass,
+ source,
+ new String[] {
+ "constraints", "IsNotManyValued"
+ });
+ addAnnotation
+ (mappedSuperclassEClass,
+ source,
+ new String[] {
+ "constraints", "NoInterface"
+ });
+ addAnnotation
+ (oneToManyEClass,
+ source,
+ new String[] {
+ "constraints", "IsManyValued"
+ });
+ addAnnotation
+ (oneToOneEClass,
+ source,
+ new String[] {
+ "constraints", "IsNotManyValued"
+ });
+ addAnnotation
+ (orderByEClass,
+ source,
+ new String[] {
+ "constraints", "WellFormedOrder IsManyValued"
+ });
+ addAnnotation
+ (temporalEClass,
+ source,
+ new String[] {
+ "constraints", "AllowedElementType"
+ });
+ addAnnotation
+ (versionEClass,
+ source,
+ new String[] {
+ "constraints", "AllowedElementType"
+ });
+ }
+
+ /**
+ * Initializes the annotations for <b>teneo/internal/Target</b>. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void createTargetAnnotations() {
+ String source = "teneo/internal/Target";
+ addAnnotation
+ (attributeOverrideEClass,
+ source,
+ new String[] {
+ "0", "EClass",
+ "1", "EStructuralFeature"
+ });
+ addAnnotation
+ (associationOverrideEClass,
+ source,
+ new String[] {
+ "0", "EClass"
+ });
+ addAnnotation
+ (basicEClass,
+ source,
+ new String[] {
+ "0", "EAttribute"
+ });
+ addAnnotation
+ (columnEClass,
+ source,
+ new String[] {
+ "0", "EStructuralFeature"
+ });
+ addAnnotation
+ (discriminatorColumnEClass,
+ source,
+ new String[] {
+ "0", "EClass"
+ });
+ addAnnotation
+ (discriminatorValueEClass,
+ source,
+ new String[] {
+ "0", "EClass"
+ });
+ addAnnotation
+ (embeddableEClass,
+ source,
+ new String[] {
+ "0", "EClass"
+ });
+ addAnnotation
+ (embeddedEClass,
+ source,
+ new String[] {
+ "0", "EReference"
+ });
+ addAnnotation
+ (embeddedIdEClass,
+ source,
+ new String[] {
+ "0", "EReference"
+ });
+ addAnnotation
+ (entityEClass,
+ source,
+ new String[] {
+ "0", "EClass"
+ });
+ addAnnotation
+ (enumeratedEClass,
+ source,
+ new String[] {
+ "0", "EStructuralFeature"
+ });
+ addAnnotation
+ (generatedValueEClass,
+ source,
+ new String[] {
+ "0", "EAttribute"
+ });
+ addAnnotation
+ (idEClass,
+ source,
+ new String[] {
+ "0", "EAttribute"
+ });
+ addAnnotation
+ (idClassEClass,
+ source,
+ new String[] {
+ "0", "EClass"
+ });
+ addAnnotation
+ (inheritanceEClass,
+ source,
+ new String[] {
+ "0", "EClass"
+ });
+ addAnnotation
+ (joinColumnEClass,
+ source,
+ new String[] {
+ "0", "EClass",
+ "1", "EReference"
+ });
+ addAnnotation
+ (joinTableEClass,
+ source,
+ new String[] {
+ "0", "EStructuralFeature"
+ });
+ addAnnotation
+ (lobEClass,
+ source,
+ new String[] {
+ "0", "EAttribute"
+ });
+ addAnnotation
+ (manyToManyEClass,
+ source,
+ new String[] {
+ "0", "EReference"
+ });
+ addAnnotation
+ (manyToOneEClass,
+ source,
+ new String[] {
+ "0", "EReference"
+ });
+ addAnnotation
+ (mapKeyEClass,
+ source,
+ new String[] {
+ "0", "EStructuralFeature"
+ });
+ addAnnotation
+ (mappedSuperclassEClass,
+ source,
+ new String[] {
+ "0", "EClass"
+ });
+ addAnnotation
+ (oneToManyEClass,
+ source,
+ new String[] {
+ "0", "EStructuralFeature"
+ });
+ addAnnotation
+ (oneToOneEClass,
+ source,
+ new String[] {
+ "0", "EReference"
+ });
+ addAnnotation
+ (orderByEClass,
+ source,
+ new String[] {
+ "0", "EReference"
+ });
+ addAnnotation
+ (primaryKeyJoinColumnEClass,
+ source,
+ new String[] {
+ "0", "EClass",
+ "1", "EReference"
+ });
+ addAnnotation
+ (secondaryTableEClass,
+ source,
+ new String[] {
+ "0", "EClass"
+ });
+ addAnnotation
+ (sequenceGeneratorEClass,
+ source,
+ new String[] {
+ "0", "EClass",
+ "1", "EStructuralFeature",
+ "2", "EPackage"
+ });
+ addAnnotation
+ (tableEClass,
+ source,
+ new String[] {
+ "0", "EClass"
+ });
+ addAnnotation
+ (tableGeneratorEClass,
+ source,
+ new String[] {
+ "0", "EClass",
+ "1", "EStructuralFeature",
+ "2", "EPackage"
+ });
+ addAnnotation
+ (temporalEClass,
+ source,
+ new String[] {
+ "0", "EAttribute"
+ });
+ addAnnotation
+ (transientEClass,
+ source,
+ new String[] {
+ "0", "EModelElement"
+ });
+ addAnnotation
+ (versionEClass,
+ source,
+ new String[] {
+ "0", "EAttribute"
+ });
+ addAnnotation
+ (foreignKeyEClass,
+ source,
+ new String[] {
+ "0", "EStructuralFeature"
+ });
+ addAnnotation
+ (sequenceStyleGeneratorEClass,
+ source,
+ new String[] {
+ "0", "EClass",
+ "1", "EStructuralFeature",
+ "2", "EPackage"
+ });
+ addAnnotation
+ (externalEClass,
+ source,
+ new String[] {
+ "0", "EReference"
+ });
+ addAnnotation
+ (eavMappingEClass,
+ source,
+ new String[] {
+ "0", "EClass"
+ });
+ addAnnotation
+ (noEAVMappingEClass,
+ source,
+ new String[] {
+ "0", "EClass"
+ });
+ addAnnotation
+ (listIndexColumnEClass,
+ source,
+ new String[] {
+ "0", "EStructuralFeature"
+ });
+ }
+
+ /**
+ * Initializes the annotations for <b>teneo/internal/PersistenceMapping</b>.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createPersistenceMappingAnnotations() {
+ String source = "teneo/internal/PersistenceMapping";
+ addAnnotation
+ (getPAnnotation_EModelElement(),
+ source,
+ new String[] {
+ "ignore", "true"
+ });
+ }
+
+ /**
+ * Initializes the annotations for <b>teneo/PeristenceMapping</b>. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void createPeristenceMappingAnnotations() {
+ String source = "teneo/PeristenceMapping";
+ addAnnotation
+ (embeddableEClass,
+ source,
+ new String[] {
+ "ignore", "true"
+ });
+ }
+
+ /**
+ * Compute the list of targets starting from the
+ * <code>java.lang.annotation.Target</code> annotation.
+ */
+ public EClass[] getTargets(EClass pAnnotationEClass) {
+ // TODO cache result
+ EClass[] result = null;
+ if (getPAnnotation().isSuperTypeOf(pAnnotationEClass)) {
+ EAnnotation targetAnnotation = pAnnotationEClass
+ .getEAnnotation(TARGET_ANNOTATION_SOURCE);
+ Collection<String> targets = Collections.emptyList();
+ if (targetAnnotation != null) {
+ targets = targetAnnotation.getDetails().values();
+ }
+ result = new EClass[targets.size()];
+ int j = 0;
+ for (String target : targets) {
+ EClassifier eClassifier = EcorePackage.eINSTANCE
+ .getEClassifier(target);
+ result[j] = eClassifier instanceof EClass ? (EClass) eClassifier
+ : null;
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Compute if the given targetElementEClass is a target for the pAnnotation
+ * EClass basing on the <code>java.lang.annotation.Target</code>
+ * annotation.
+ */
+ public boolean isTarget(EClass pAnnotationEClass, EClass targetElementEClass) {
+ boolean hasTarget = false;
+ if (getPAnnotation().isSuperTypeOf(pAnnotationEClass)) {
+ EClass[] admissibleTargets = getTargets(pAnnotationEClass);
+ for (int i = 0; !hasTarget && i < admissibleTargets.length; i++)
+ hasTarget |= admissibleTargets[i]
+ .isSuperTypeOf(targetElementEClass);
+ }
+ return hasTarget;
+ }
+
+} // PannotationPackageImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/PrimaryKeyJoinColumnImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/PrimaryKeyJoinColumnImpl.java
new file mode 100755
index 000000000..7eecca5c2
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/PrimaryKeyJoinColumnImpl.java
@@ -0,0 +1,271 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PrimaryKeyJoinColumnImpl.java,v 1.7 2007/11/14 16:37:53 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+import org.eclipse.emf.teneo.annotations.pannotation.PrimaryKeyJoinColumn;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Primary Key Join Column</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.PrimaryKeyJoinColumnImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.PrimaryKeyJoinColumnImpl#getReferencedColumnName <em>Referenced Column Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.PrimaryKeyJoinColumnImpl#getColumnDefinition <em>Column Definition</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PrimaryKeyJoinColumnImpl extends PAnnotationImpl implements PrimaryKeyJoinColumn {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getReferencedColumnName() <em>Referenced Column Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReferencedColumnName()
+ * @generated
+ * @ordered
+ */
+ protected static final String REFERENCED_COLUMN_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getReferencedColumnName() <em>Referenced Column Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReferencedColumnName()
+ * @generated
+ * @ordered
+ */
+ protected String referencedColumnName = REFERENCED_COLUMN_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getColumnDefinition() <em>Column Definition</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getColumnDefinition()
+ * @generated
+ * @ordered
+ */
+ protected static final String COLUMN_DEFINITION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getColumnDefinition() <em>Column Definition</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getColumnDefinition()
+ * @generated
+ * @ordered
+ */
+ protected String columnDefinition = COLUMN_DEFINITION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PrimaryKeyJoinColumnImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.PRIMARY_KEY_JOIN_COLUMN;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.PRIMARY_KEY_JOIN_COLUMN__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getColumnDefinition() {
+ return columnDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setColumnDefinition(String newColumnDefinition) {
+ String oldColumnDefinition = columnDefinition;
+ columnDefinition = newColumnDefinition;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.PRIMARY_KEY_JOIN_COLUMN__COLUMN_DEFINITION, oldColumnDefinition, columnDefinition));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PannotationPackage.PRIMARY_KEY_JOIN_COLUMN__NAME:
+ return getName();
+ case PannotationPackage.PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME:
+ return getReferencedColumnName();
+ case PannotationPackage.PRIMARY_KEY_JOIN_COLUMN__COLUMN_DEFINITION:
+ return getColumnDefinition();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PannotationPackage.PRIMARY_KEY_JOIN_COLUMN__NAME:
+ setName((String)newValue);
+ return;
+ case PannotationPackage.PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME:
+ setReferencedColumnName((String)newValue);
+ return;
+ case PannotationPackage.PRIMARY_KEY_JOIN_COLUMN__COLUMN_DEFINITION:
+ setColumnDefinition((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.PRIMARY_KEY_JOIN_COLUMN__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PannotationPackage.PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME:
+ setReferencedColumnName(REFERENCED_COLUMN_NAME_EDEFAULT);
+ return;
+ case PannotationPackage.PRIMARY_KEY_JOIN_COLUMN__COLUMN_DEFINITION:
+ setColumnDefinition(COLUMN_DEFINITION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.PRIMARY_KEY_JOIN_COLUMN__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case PannotationPackage.PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME:
+ return REFERENCED_COLUMN_NAME_EDEFAULT == null ? referencedColumnName != null : !REFERENCED_COLUMN_NAME_EDEFAULT.equals(referencedColumnName);
+ case PannotationPackage.PRIMARY_KEY_JOIN_COLUMN__COLUMN_DEFINITION:
+ return COLUMN_DEFINITION_EDEFAULT == null ? columnDefinition != null : !COLUMN_DEFINITION_EDEFAULT.equals(columnDefinition);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getReferencedColumnName() {
+ return referencedColumnName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setReferencedColumnName(String newReferencedColumnName) {
+ String oldReferencedColumnName = referencedColumnName;
+ referencedColumnName = newReferencedColumnName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.PRIMARY_KEY_JOIN_COLUMN__REFERENCED_COLUMN_NAME, oldReferencedColumnName, referencedColumnName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", referencedColumnName: ");
+ result.append(referencedColumnName);
+ result.append(", columnDefinition: ");
+ result.append(columnDefinition);
+ result.append(')');
+ return result.toString();
+ }
+
+} //PrimaryKeyJoinColumnImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/SecondaryTableImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/SecondaryTableImpl.java
new file mode 100755
index 000000000..c2f29f8a9
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/SecondaryTableImpl.java
@@ -0,0 +1,365 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SecondaryTableImpl.java,v 1.7 2007/11/14 16:37:53 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.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.pannotation.PannotationPackage;
+import org.eclipse.emf.teneo.annotations.pannotation.PrimaryKeyJoinColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable;
+import org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Secondary Table</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.SecondaryTableImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.SecondaryTableImpl#getCatalog <em>Catalog</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.SecondaryTableImpl#getSchema <em>Schema</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.SecondaryTableImpl#getPkJoinColumns <em>Pk Join Columns</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.SecondaryTableImpl#getUniqueConstraints <em>Unique Constraints</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SecondaryTableImpl extends PAnnotationImpl implements SecondaryTable {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getCatalog() <em>Catalog</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCatalog()
+ * @generated
+ * @ordered
+ */
+ protected static final String CATALOG_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCatalog() <em>Catalog</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCatalog()
+ * @generated
+ * @ordered
+ */
+ protected String catalog = CATALOG_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSchema() <em>Schema</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSchema()
+ * @generated
+ * @ordered
+ */
+ protected static final String SCHEMA_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSchema() <em>Schema</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSchema()
+ * @generated
+ * @ordered
+ */
+ protected String schema = SCHEMA_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getPkJoinColumns() <em>Pk Join Columns</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPkJoinColumns()
+ * @generated
+ * @ordered
+ */
+ protected EList<PrimaryKeyJoinColumn> pkJoinColumns;
+
+ /**
+ * The cached value of the '{@link #getUniqueConstraints() <em>Unique Constraints</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUniqueConstraints()
+ * @generated
+ * @ordered
+ */
+ protected EList<UniqueConstraint> uniqueConstraints;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SecondaryTableImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.SECONDARY_TABLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.SECONDARY_TABLE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCatalog() {
+ return catalog;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCatalog(String newCatalog) {
+ String oldCatalog = catalog;
+ catalog = newCatalog;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.SECONDARY_TABLE__CATALOG, oldCatalog, catalog));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getSchema() {
+ return schema;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSchema(String newSchema) {
+ String oldSchema = schema;
+ schema = newSchema;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.SECONDARY_TABLE__SCHEMA, oldSchema, schema));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PrimaryKeyJoinColumn> getPkJoinColumns() {
+ if (pkJoinColumns == null) {
+ pkJoinColumns = new EObjectContainmentEList<PrimaryKeyJoinColumn>(PrimaryKeyJoinColumn.class, this, PannotationPackage.SECONDARY_TABLE__PK_JOIN_COLUMNS);
+ }
+ return pkJoinColumns;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<UniqueConstraint> getUniqueConstraints() {
+ if (uniqueConstraints == null) {
+ uniqueConstraints = new EObjectContainmentEList<UniqueConstraint>(UniqueConstraint.class, this, PannotationPackage.SECONDARY_TABLE__UNIQUE_CONSTRAINTS);
+ }
+ return uniqueConstraints;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PannotationPackage.SECONDARY_TABLE__PK_JOIN_COLUMNS:
+ return ((InternalEList<?>)getPkJoinColumns()).basicRemove(otherEnd, msgs);
+ case PannotationPackage.SECONDARY_TABLE__UNIQUE_CONSTRAINTS:
+ return ((InternalEList<?>)getUniqueConstraints()).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 PannotationPackage.SECONDARY_TABLE__NAME:
+ return getName();
+ case PannotationPackage.SECONDARY_TABLE__CATALOG:
+ return getCatalog();
+ case PannotationPackage.SECONDARY_TABLE__SCHEMA:
+ return getSchema();
+ case PannotationPackage.SECONDARY_TABLE__PK_JOIN_COLUMNS:
+ return getPkJoinColumns();
+ case PannotationPackage.SECONDARY_TABLE__UNIQUE_CONSTRAINTS:
+ return getUniqueConstraints();
+ }
+ 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 PannotationPackage.SECONDARY_TABLE__NAME:
+ setName((String)newValue);
+ return;
+ case PannotationPackage.SECONDARY_TABLE__CATALOG:
+ setCatalog((String)newValue);
+ return;
+ case PannotationPackage.SECONDARY_TABLE__SCHEMA:
+ setSchema((String)newValue);
+ return;
+ case PannotationPackage.SECONDARY_TABLE__PK_JOIN_COLUMNS:
+ getPkJoinColumns().clear();
+ getPkJoinColumns().addAll((Collection<? extends PrimaryKeyJoinColumn>)newValue);
+ return;
+ case PannotationPackage.SECONDARY_TABLE__UNIQUE_CONSTRAINTS:
+ getUniqueConstraints().clear();
+ getUniqueConstraints().addAll((Collection<? extends UniqueConstraint>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.SECONDARY_TABLE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PannotationPackage.SECONDARY_TABLE__CATALOG:
+ setCatalog(CATALOG_EDEFAULT);
+ return;
+ case PannotationPackage.SECONDARY_TABLE__SCHEMA:
+ setSchema(SCHEMA_EDEFAULT);
+ return;
+ case PannotationPackage.SECONDARY_TABLE__PK_JOIN_COLUMNS:
+ getPkJoinColumns().clear();
+ return;
+ case PannotationPackage.SECONDARY_TABLE__UNIQUE_CONSTRAINTS:
+ getUniqueConstraints().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.SECONDARY_TABLE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case PannotationPackage.SECONDARY_TABLE__CATALOG:
+ return CATALOG_EDEFAULT == null ? catalog != null : !CATALOG_EDEFAULT.equals(catalog);
+ case PannotationPackage.SECONDARY_TABLE__SCHEMA:
+ return SCHEMA_EDEFAULT == null ? schema != null : !SCHEMA_EDEFAULT.equals(schema);
+ case PannotationPackage.SECONDARY_TABLE__PK_JOIN_COLUMNS:
+ return pkJoinColumns != null && !pkJoinColumns.isEmpty();
+ case PannotationPackage.SECONDARY_TABLE__UNIQUE_CONSTRAINTS:
+ return uniqueConstraints != null && !uniqueConstraints.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", catalog: ");
+ result.append(catalog);
+ result.append(", schema: ");
+ result.append(schema);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SecondaryTableImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/SequenceGeneratorImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/SequenceGeneratorImpl.java
new file mode 100755
index 000000000..379bc957f
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/SequenceGeneratorImpl.java
@@ -0,0 +1,393 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SequenceGeneratorImpl.java,v 1.10 2009/06/11 04:59:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+import org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sequence Generator</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.SequenceGeneratorImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.SequenceGeneratorImpl#getSequenceName <em>Sequence Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.SequenceGeneratorImpl#getInitialValue <em>Initial Value</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.SequenceGeneratorImpl#getAllocationSize <em>Allocation Size</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SequenceGeneratorImpl extends PAnnotationImpl implements SequenceGenerator {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSequenceName() <em>Sequence Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSequenceName()
+ * @generated
+ * @ordered
+ */
+ protected static final String SEQUENCE_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSequenceName() <em>Sequence Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSequenceName()
+ * @generated
+ * @ordered
+ */
+ protected String sequenceName = SEQUENCE_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getInitialValue() <em>Initial Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInitialValue()
+ * @generated
+ * @ordered
+ */
+ protected static final int INITIAL_VALUE_EDEFAULT = 1;
+
+ /**
+ * The cached value of the '{@link #getInitialValue() <em>Initial Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInitialValue()
+ * @generated
+ * @ordered
+ */
+ protected int initialValue = INITIAL_VALUE_EDEFAULT;
+
+ /**
+ * This is true if the Initial Value attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean initialValueESet;
+
+ /**
+ * The default value of the '{@link #getAllocationSize() <em>Allocation Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAllocationSize()
+ * @generated
+ * @ordered
+ */
+ protected static final int ALLOCATION_SIZE_EDEFAULT = 50;
+
+ /**
+ * The cached value of the '{@link #getAllocationSize() <em>Allocation Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAllocationSize()
+ * @generated
+ * @ordered
+ */
+ protected int allocationSize = ALLOCATION_SIZE_EDEFAULT;
+
+ /**
+ * This is true if the Allocation Size attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean allocationSizeESet;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SequenceGeneratorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.SEQUENCE_GENERATOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.SEQUENCE_GENERATOR__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getInitialValue() {
+ return initialValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInitialValue(int newInitialValue) {
+ int oldInitialValue = initialValue;
+ initialValue = newInitialValue;
+ boolean oldInitialValueESet = initialValueESet;
+ initialValueESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.SEQUENCE_GENERATOR__INITIAL_VALUE, oldInitialValue, initialValue, !oldInitialValueESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetInitialValue() {
+ int oldInitialValue = initialValue;
+ boolean oldInitialValueESet = initialValueESet;
+ initialValue = INITIAL_VALUE_EDEFAULT;
+ initialValueESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, PannotationPackage.SEQUENCE_GENERATOR__INITIAL_VALUE, oldInitialValue, INITIAL_VALUE_EDEFAULT, oldInitialValueESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetInitialValue() {
+ return initialValueESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getSequenceName() {
+ return sequenceName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSequenceName(String newSequenceName) {
+ String oldSequenceName = sequenceName;
+ sequenceName = newSequenceName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.SEQUENCE_GENERATOR__SEQUENCE_NAME, oldSequenceName, sequenceName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getAllocationSize() {
+ return allocationSize;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAllocationSize(int newAllocationSize) {
+ int oldAllocationSize = allocationSize;
+ allocationSize = newAllocationSize;
+ boolean oldAllocationSizeESet = allocationSizeESet;
+ allocationSizeESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.SEQUENCE_GENERATOR__ALLOCATION_SIZE, oldAllocationSize, allocationSize, !oldAllocationSizeESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetAllocationSize() {
+ int oldAllocationSize = allocationSize;
+ boolean oldAllocationSizeESet = allocationSizeESet;
+ allocationSize = ALLOCATION_SIZE_EDEFAULT;
+ allocationSizeESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, PannotationPackage.SEQUENCE_GENERATOR__ALLOCATION_SIZE, oldAllocationSize, ALLOCATION_SIZE_EDEFAULT, oldAllocationSizeESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetAllocationSize() {
+ return allocationSizeESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PannotationPackage.SEQUENCE_GENERATOR__NAME:
+ return getName();
+ case PannotationPackage.SEQUENCE_GENERATOR__SEQUENCE_NAME:
+ return getSequenceName();
+ case PannotationPackage.SEQUENCE_GENERATOR__INITIAL_VALUE:
+ return getInitialValue();
+ case PannotationPackage.SEQUENCE_GENERATOR__ALLOCATION_SIZE:
+ return getAllocationSize();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PannotationPackage.SEQUENCE_GENERATOR__NAME:
+ setName((String)newValue);
+ return;
+ case PannotationPackage.SEQUENCE_GENERATOR__SEQUENCE_NAME:
+ setSequenceName((String)newValue);
+ return;
+ case PannotationPackage.SEQUENCE_GENERATOR__INITIAL_VALUE:
+ setInitialValue((Integer)newValue);
+ return;
+ case PannotationPackage.SEQUENCE_GENERATOR__ALLOCATION_SIZE:
+ setAllocationSize((Integer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.SEQUENCE_GENERATOR__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PannotationPackage.SEQUENCE_GENERATOR__SEQUENCE_NAME:
+ setSequenceName(SEQUENCE_NAME_EDEFAULT);
+ return;
+ case PannotationPackage.SEQUENCE_GENERATOR__INITIAL_VALUE:
+ unsetInitialValue();
+ return;
+ case PannotationPackage.SEQUENCE_GENERATOR__ALLOCATION_SIZE:
+ unsetAllocationSize();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.SEQUENCE_GENERATOR__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case PannotationPackage.SEQUENCE_GENERATOR__SEQUENCE_NAME:
+ return SEQUENCE_NAME_EDEFAULT == null ? sequenceName != null : !SEQUENCE_NAME_EDEFAULT.equals(sequenceName);
+ case PannotationPackage.SEQUENCE_GENERATOR__INITIAL_VALUE:
+ return isSetInitialValue();
+ case PannotationPackage.SEQUENCE_GENERATOR__ALLOCATION_SIZE:
+ return isSetAllocationSize();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", sequenceName: ");
+ result.append(sequenceName);
+ result.append(", initialValue: ");
+ if (initialValueESet) result.append(initialValue); else result.append("<unset>");
+ result.append(", allocationSize: ");
+ if (allocationSizeESet) result.append(allocationSize); else result.append("<unset>");
+ result.append(')');
+ return result.toString();
+ }
+
+} //SequenceGeneratorImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/SequenceStyleGeneratorImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/SequenceStyleGeneratorImpl.java
new file mode 100755
index 000000000..f45dd9961
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/SequenceStyleGeneratorImpl.java
@@ -0,0 +1,380 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SequenceStyleGeneratorImpl.java,v 1.3 2009/12/13 10:14:20 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.annotations.pannotation.OptimizerType;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+import org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sequence Style Generator</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.SequenceStyleGeneratorImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.SequenceStyleGeneratorImpl#getSequenceName <em>Sequence Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.SequenceStyleGeneratorImpl#getInitialValue <em>Initial Value</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.SequenceStyleGeneratorImpl#getIncrementSize <em>Increment Size</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.SequenceStyleGeneratorImpl#getOptimizer <em>Optimizer</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SequenceStyleGeneratorImpl extends PAnnotationImpl implements SequenceStyleGenerator {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSequenceName() <em>Sequence Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSequenceName()
+ * @generated
+ * @ordered
+ */
+ protected static final String SEQUENCE_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSequenceName() <em>Sequence Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSequenceName()
+ * @generated
+ * @ordered
+ */
+ protected String sequenceName = SEQUENCE_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getInitialValue() <em>Initial Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInitialValue()
+ * @generated
+ * @ordered
+ */
+ protected static final int INITIAL_VALUE_EDEFAULT = 1;
+
+ /**
+ * The cached value of the '{@link #getInitialValue() <em>Initial Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInitialValue()
+ * @generated
+ * @ordered
+ */
+ protected int initialValue = INITIAL_VALUE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getIncrementSize() <em>Increment Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIncrementSize()
+ * @generated
+ * @ordered
+ */
+ protected static final int INCREMENT_SIZE_EDEFAULT = 50;
+
+ /**
+ * The cached value of the '{@link #getIncrementSize() <em>Increment Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIncrementSize()
+ * @generated
+ * @ordered
+ */
+ protected int incrementSize = INCREMENT_SIZE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOptimizer() <em>Optimizer</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOptimizer()
+ * @generated
+ * @ordered
+ */
+ protected static final OptimizerType OPTIMIZER_EDEFAULT = OptimizerType.NONE;
+
+ /**
+ * The cached value of the '{@link #getOptimizer() <em>Optimizer</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOptimizer()
+ * @generated
+ * @ordered
+ */
+ protected OptimizerType optimizer = OPTIMIZER_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SequenceStyleGeneratorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.SEQUENCE_STYLE_GENERATOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.SEQUENCE_STYLE_GENERATOR__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getSequenceName() {
+ return sequenceName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSequenceName(String newSequenceName) {
+ String oldSequenceName = sequenceName;
+ sequenceName = newSequenceName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.SEQUENCE_STYLE_GENERATOR__SEQUENCE_NAME, oldSequenceName, sequenceName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getInitialValue() {
+ return initialValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInitialValue(int newInitialValue) {
+ int oldInitialValue = initialValue;
+ initialValue = newInitialValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.SEQUENCE_STYLE_GENERATOR__INITIAL_VALUE, oldInitialValue, initialValue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getIncrementSize() {
+ return incrementSize;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIncrementSize(int newIncrementSize) {
+ int oldIncrementSize = incrementSize;
+ incrementSize = newIncrementSize;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.SEQUENCE_STYLE_GENERATOR__INCREMENT_SIZE, oldIncrementSize, incrementSize));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OptimizerType getOptimizer() {
+ return optimizer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOptimizer(OptimizerType newOptimizer) {
+ OptimizerType oldOptimizer = optimizer;
+ optimizer = newOptimizer == null ? OPTIMIZER_EDEFAULT : newOptimizer;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.SEQUENCE_STYLE_GENERATOR__OPTIMIZER, oldOptimizer, optimizer));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PannotationPackage.SEQUENCE_STYLE_GENERATOR__NAME:
+ return getName();
+ case PannotationPackage.SEQUENCE_STYLE_GENERATOR__SEQUENCE_NAME:
+ return getSequenceName();
+ case PannotationPackage.SEQUENCE_STYLE_GENERATOR__INITIAL_VALUE:
+ return getInitialValue();
+ case PannotationPackage.SEQUENCE_STYLE_GENERATOR__INCREMENT_SIZE:
+ return getIncrementSize();
+ case PannotationPackage.SEQUENCE_STYLE_GENERATOR__OPTIMIZER:
+ return getOptimizer();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PannotationPackage.SEQUENCE_STYLE_GENERATOR__NAME:
+ setName((String)newValue);
+ return;
+ case PannotationPackage.SEQUENCE_STYLE_GENERATOR__SEQUENCE_NAME:
+ setSequenceName((String)newValue);
+ return;
+ case PannotationPackage.SEQUENCE_STYLE_GENERATOR__INITIAL_VALUE:
+ setInitialValue((Integer)newValue);
+ return;
+ case PannotationPackage.SEQUENCE_STYLE_GENERATOR__INCREMENT_SIZE:
+ setIncrementSize((Integer)newValue);
+ return;
+ case PannotationPackage.SEQUENCE_STYLE_GENERATOR__OPTIMIZER:
+ setOptimizer((OptimizerType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.SEQUENCE_STYLE_GENERATOR__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PannotationPackage.SEQUENCE_STYLE_GENERATOR__SEQUENCE_NAME:
+ setSequenceName(SEQUENCE_NAME_EDEFAULT);
+ return;
+ case PannotationPackage.SEQUENCE_STYLE_GENERATOR__INITIAL_VALUE:
+ setInitialValue(INITIAL_VALUE_EDEFAULT);
+ return;
+ case PannotationPackage.SEQUENCE_STYLE_GENERATOR__INCREMENT_SIZE:
+ setIncrementSize(INCREMENT_SIZE_EDEFAULT);
+ return;
+ case PannotationPackage.SEQUENCE_STYLE_GENERATOR__OPTIMIZER:
+ setOptimizer(OPTIMIZER_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.SEQUENCE_STYLE_GENERATOR__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case PannotationPackage.SEQUENCE_STYLE_GENERATOR__SEQUENCE_NAME:
+ return SEQUENCE_NAME_EDEFAULT == null ? sequenceName != null : !SEQUENCE_NAME_EDEFAULT.equals(sequenceName);
+ case PannotationPackage.SEQUENCE_STYLE_GENERATOR__INITIAL_VALUE:
+ return initialValue != INITIAL_VALUE_EDEFAULT;
+ case PannotationPackage.SEQUENCE_STYLE_GENERATOR__INCREMENT_SIZE:
+ return incrementSize != INCREMENT_SIZE_EDEFAULT;
+ case PannotationPackage.SEQUENCE_STYLE_GENERATOR__OPTIMIZER:
+ return optimizer != OPTIMIZER_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", sequenceName: ");
+ result.append(sequenceName);
+ result.append(", initialValue: ");
+ result.append(initialValue);
+ result.append(", incrementSize: ");
+ result.append(incrementSize);
+ result.append(", optimizer: ");
+ result.append(optimizer);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SequenceStyleGeneratorImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/TableGeneratorImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/TableGeneratorImpl.java
new file mode 100755
index 000000000..b361f23fa
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/TableGeneratorImpl.java
@@ -0,0 +1,686 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TableGeneratorImpl.java,v 1.8 2009/06/11 04:59:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.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.pannotation.PannotationPackage;
+import org.eclipse.emf.teneo.annotations.pannotation.TableGenerator;
+import org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Table Generator</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.TableGeneratorImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.TableGeneratorImpl#getTable <em>Table</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.TableGeneratorImpl#getCatalog <em>Catalog</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.TableGeneratorImpl#getSchema <em>Schema</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.TableGeneratorImpl#getPkColumnName <em>Pk Column Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.TableGeneratorImpl#getValueColumnName <em>Value Column Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.TableGeneratorImpl#getPkColumnValue <em>Pk Column Value</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.TableGeneratorImpl#getInitialValue <em>Initial Value</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.TableGeneratorImpl#getAllocationSize <em>Allocation Size</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.TableGeneratorImpl#getUniqueConstraints <em>Unique Constraints</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TableGeneratorImpl extends PAnnotationImpl implements TableGenerator {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTable() <em>Table</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTable()
+ * @generated
+ * @ordered
+ */
+ protected static final String TABLE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTable() <em>Table</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTable()
+ * @generated
+ * @ordered
+ */
+ protected String table = TABLE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getCatalog() <em>Catalog</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCatalog()
+ * @generated
+ * @ordered
+ */
+ protected static final String CATALOG_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCatalog() <em>Catalog</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCatalog()
+ * @generated
+ * @ordered
+ */
+ protected String catalog = CATALOG_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSchema() <em>Schema</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSchema()
+ * @generated
+ * @ordered
+ */
+ protected static final String SCHEMA_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSchema() <em>Schema</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSchema()
+ * @generated
+ * @ordered
+ */
+ protected String schema = SCHEMA_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getPkColumnName() <em>Pk Column Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPkColumnName()
+ * @generated
+ * @ordered
+ */
+ protected static final String PK_COLUMN_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPkColumnName() <em>Pk Column Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPkColumnName()
+ * @generated
+ * @ordered
+ */
+ protected String pkColumnName = PK_COLUMN_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getValueColumnName() <em>Value Column Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValueColumnName()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_COLUMN_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValueColumnName() <em>Value Column Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValueColumnName()
+ * @generated
+ * @ordered
+ */
+ protected String valueColumnName = VALUE_COLUMN_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getPkColumnValue() <em>Pk Column Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPkColumnValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String PK_COLUMN_VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPkColumnValue() <em>Pk Column Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPkColumnValue()
+ * @generated
+ * @ordered
+ */
+ protected String pkColumnValue = PK_COLUMN_VALUE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getInitialValue() <em>Initial Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInitialValue()
+ * @generated
+ * @ordered
+ */
+ protected static final int INITIAL_VALUE_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getInitialValue() <em>Initial Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInitialValue()
+ * @generated
+ * @ordered
+ */
+ protected int initialValue = INITIAL_VALUE_EDEFAULT;
+
+ /**
+ * This is true if the Initial Value attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean initialValueESet;
+
+ /**
+ * The default value of the '{@link #getAllocationSize() <em>Allocation Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAllocationSize()
+ * @generated
+ * @ordered
+ */
+ protected static final int ALLOCATION_SIZE_EDEFAULT = 50;
+
+ /**
+ * The cached value of the '{@link #getAllocationSize() <em>Allocation Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAllocationSize()
+ * @generated
+ * @ordered
+ */
+ protected int allocationSize = ALLOCATION_SIZE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getUniqueConstraints() <em>Unique Constraints</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUniqueConstraints()
+ * @generated
+ * @ordered
+ */
+ protected EList<UniqueConstraint> uniqueConstraints;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TableGeneratorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.TABLE_GENERATOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.TABLE_GENERATOR__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getAllocationSize() {
+ return allocationSize;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAllocationSize(int newAllocationSize) {
+ int oldAllocationSize = allocationSize;
+ allocationSize = newAllocationSize;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.TABLE_GENERATOR__ALLOCATION_SIZE, oldAllocationSize, allocationSize));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTable() {
+ return table;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTable(String newTable) {
+ String oldTable = table;
+ table = newTable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.TABLE_GENERATOR__TABLE, oldTable, table));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCatalog() {
+ return catalog;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCatalog(String newCatalog) {
+ String oldCatalog = catalog;
+ catalog = newCatalog;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.TABLE_GENERATOR__CATALOG, oldCatalog, catalog));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getSchema() {
+ return schema;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSchema(String newSchema) {
+ String oldSchema = schema;
+ schema = newSchema;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.TABLE_GENERATOR__SCHEMA, oldSchema, schema));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPkColumnName() {
+ return pkColumnName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPkColumnName(String newPkColumnName) {
+ String oldPkColumnName = pkColumnName;
+ pkColumnName = newPkColumnName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.TABLE_GENERATOR__PK_COLUMN_NAME, oldPkColumnName, pkColumnName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValueColumnName() {
+ return valueColumnName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValueColumnName(String newValueColumnName) {
+ String oldValueColumnName = valueColumnName;
+ valueColumnName = newValueColumnName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.TABLE_GENERATOR__VALUE_COLUMN_NAME, oldValueColumnName, valueColumnName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getInitialValue() {
+ return initialValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInitialValue(int newInitialValue) {
+ int oldInitialValue = initialValue;
+ initialValue = newInitialValue;
+ boolean oldInitialValueESet = initialValueESet;
+ initialValueESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.TABLE_GENERATOR__INITIAL_VALUE, oldInitialValue, initialValue, !oldInitialValueESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetInitialValue() {
+ int oldInitialValue = initialValue;
+ boolean oldInitialValueESet = initialValueESet;
+ initialValue = INITIAL_VALUE_EDEFAULT;
+ initialValueESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, PannotationPackage.TABLE_GENERATOR__INITIAL_VALUE, oldInitialValue, INITIAL_VALUE_EDEFAULT, oldInitialValueESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetInitialValue() {
+ return initialValueESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPkColumnValue() {
+ return pkColumnValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPkColumnValue(String newPkColumnValue) {
+ String oldPkColumnValue = pkColumnValue;
+ pkColumnValue = newPkColumnValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.TABLE_GENERATOR__PK_COLUMN_VALUE, oldPkColumnValue, pkColumnValue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<UniqueConstraint> getUniqueConstraints() {
+ if (uniqueConstraints == null) {
+ uniqueConstraints = new EObjectContainmentEList<UniqueConstraint>(UniqueConstraint.class, this, PannotationPackage.TABLE_GENERATOR__UNIQUE_CONSTRAINTS);
+ }
+ return uniqueConstraints;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PannotationPackage.TABLE_GENERATOR__UNIQUE_CONSTRAINTS:
+ return ((InternalEList<?>)getUniqueConstraints()).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 PannotationPackage.TABLE_GENERATOR__NAME:
+ return getName();
+ case PannotationPackage.TABLE_GENERATOR__TABLE:
+ return getTable();
+ case PannotationPackage.TABLE_GENERATOR__CATALOG:
+ return getCatalog();
+ case PannotationPackage.TABLE_GENERATOR__SCHEMA:
+ return getSchema();
+ case PannotationPackage.TABLE_GENERATOR__PK_COLUMN_NAME:
+ return getPkColumnName();
+ case PannotationPackage.TABLE_GENERATOR__VALUE_COLUMN_NAME:
+ return getValueColumnName();
+ case PannotationPackage.TABLE_GENERATOR__PK_COLUMN_VALUE:
+ return getPkColumnValue();
+ case PannotationPackage.TABLE_GENERATOR__INITIAL_VALUE:
+ return getInitialValue();
+ case PannotationPackage.TABLE_GENERATOR__ALLOCATION_SIZE:
+ return getAllocationSize();
+ case PannotationPackage.TABLE_GENERATOR__UNIQUE_CONSTRAINTS:
+ return getUniqueConstraints();
+ }
+ 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 PannotationPackage.TABLE_GENERATOR__NAME:
+ setName((String)newValue);
+ return;
+ case PannotationPackage.TABLE_GENERATOR__TABLE:
+ setTable((String)newValue);
+ return;
+ case PannotationPackage.TABLE_GENERATOR__CATALOG:
+ setCatalog((String)newValue);
+ return;
+ case PannotationPackage.TABLE_GENERATOR__SCHEMA:
+ setSchema((String)newValue);
+ return;
+ case PannotationPackage.TABLE_GENERATOR__PK_COLUMN_NAME:
+ setPkColumnName((String)newValue);
+ return;
+ case PannotationPackage.TABLE_GENERATOR__VALUE_COLUMN_NAME:
+ setValueColumnName((String)newValue);
+ return;
+ case PannotationPackage.TABLE_GENERATOR__PK_COLUMN_VALUE:
+ setPkColumnValue((String)newValue);
+ return;
+ case PannotationPackage.TABLE_GENERATOR__INITIAL_VALUE:
+ setInitialValue((Integer)newValue);
+ return;
+ case PannotationPackage.TABLE_GENERATOR__ALLOCATION_SIZE:
+ setAllocationSize((Integer)newValue);
+ return;
+ case PannotationPackage.TABLE_GENERATOR__UNIQUE_CONSTRAINTS:
+ getUniqueConstraints().clear();
+ getUniqueConstraints().addAll((Collection<? extends UniqueConstraint>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.TABLE_GENERATOR__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PannotationPackage.TABLE_GENERATOR__TABLE:
+ setTable(TABLE_EDEFAULT);
+ return;
+ case PannotationPackage.TABLE_GENERATOR__CATALOG:
+ setCatalog(CATALOG_EDEFAULT);
+ return;
+ case PannotationPackage.TABLE_GENERATOR__SCHEMA:
+ setSchema(SCHEMA_EDEFAULT);
+ return;
+ case PannotationPackage.TABLE_GENERATOR__PK_COLUMN_NAME:
+ setPkColumnName(PK_COLUMN_NAME_EDEFAULT);
+ return;
+ case PannotationPackage.TABLE_GENERATOR__VALUE_COLUMN_NAME:
+ setValueColumnName(VALUE_COLUMN_NAME_EDEFAULT);
+ return;
+ case PannotationPackage.TABLE_GENERATOR__PK_COLUMN_VALUE:
+ setPkColumnValue(PK_COLUMN_VALUE_EDEFAULT);
+ return;
+ case PannotationPackage.TABLE_GENERATOR__INITIAL_VALUE:
+ unsetInitialValue();
+ return;
+ case PannotationPackage.TABLE_GENERATOR__ALLOCATION_SIZE:
+ setAllocationSize(ALLOCATION_SIZE_EDEFAULT);
+ return;
+ case PannotationPackage.TABLE_GENERATOR__UNIQUE_CONSTRAINTS:
+ getUniqueConstraints().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.TABLE_GENERATOR__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case PannotationPackage.TABLE_GENERATOR__TABLE:
+ return TABLE_EDEFAULT == null ? table != null : !TABLE_EDEFAULT.equals(table);
+ case PannotationPackage.TABLE_GENERATOR__CATALOG:
+ return CATALOG_EDEFAULT == null ? catalog != null : !CATALOG_EDEFAULT.equals(catalog);
+ case PannotationPackage.TABLE_GENERATOR__SCHEMA:
+ return SCHEMA_EDEFAULT == null ? schema != null : !SCHEMA_EDEFAULT.equals(schema);
+ case PannotationPackage.TABLE_GENERATOR__PK_COLUMN_NAME:
+ return PK_COLUMN_NAME_EDEFAULT == null ? pkColumnName != null : !PK_COLUMN_NAME_EDEFAULT.equals(pkColumnName);
+ case PannotationPackage.TABLE_GENERATOR__VALUE_COLUMN_NAME:
+ return VALUE_COLUMN_NAME_EDEFAULT == null ? valueColumnName != null : !VALUE_COLUMN_NAME_EDEFAULT.equals(valueColumnName);
+ case PannotationPackage.TABLE_GENERATOR__PK_COLUMN_VALUE:
+ return PK_COLUMN_VALUE_EDEFAULT == null ? pkColumnValue != null : !PK_COLUMN_VALUE_EDEFAULT.equals(pkColumnValue);
+ case PannotationPackage.TABLE_GENERATOR__INITIAL_VALUE:
+ return isSetInitialValue();
+ case PannotationPackage.TABLE_GENERATOR__ALLOCATION_SIZE:
+ return allocationSize != ALLOCATION_SIZE_EDEFAULT;
+ case PannotationPackage.TABLE_GENERATOR__UNIQUE_CONSTRAINTS:
+ return uniqueConstraints != null && !uniqueConstraints.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", table: ");
+ result.append(table);
+ result.append(", catalog: ");
+ result.append(catalog);
+ result.append(", schema: ");
+ result.append(schema);
+ result.append(", pkColumnName: ");
+ result.append(pkColumnName);
+ result.append(", valueColumnName: ");
+ result.append(valueColumnName);
+ result.append(", pkColumnValue: ");
+ result.append(pkColumnValue);
+ result.append(", initialValue: ");
+ if (initialValueESet) result.append(initialValue); else result.append("<unset>");
+ result.append(", allocationSize: ");
+ result.append(allocationSize);
+ result.append(')');
+ return result.toString();
+ }
+
+} //TableGeneratorImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/TableImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/TableImpl.java
new file mode 100755
index 000000000..ae022704f
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/TableImpl.java
@@ -0,0 +1,328 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TableImpl.java,v 1.7 2007/11/14 16:37:53 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.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.pannotation.PannotationPackage;
+import org.eclipse.emf.teneo.annotations.pannotation.Table;
+import org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Table</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.TableImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.TableImpl#getCatalog <em>Catalog</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.TableImpl#getSchema <em>Schema</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.TableImpl#getUniqueConstraints <em>Unique Constraints</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TableImpl extends PAnnotationImpl implements Table {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getCatalog() <em>Catalog</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCatalog()
+ * @generated
+ * @ordered
+ */
+ protected static final String CATALOG_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCatalog() <em>Catalog</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCatalog()
+ * @generated
+ * @ordered
+ */
+ protected String catalog = CATALOG_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSchema() <em>Schema</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSchema()
+ * @generated
+ * @ordered
+ */
+ protected static final String SCHEMA_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSchema() <em>Schema</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSchema()
+ * @generated
+ * @ordered
+ */
+ protected String schema = SCHEMA_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getUniqueConstraints() <em>Unique Constraints</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUniqueConstraints()
+ * @generated
+ * @ordered
+ */
+ protected EList<UniqueConstraint> uniqueConstraints;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TableImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.TABLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.TABLE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCatalog() {
+ return catalog;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCatalog(String newCatalog) {
+ String oldCatalog = catalog;
+ catalog = newCatalog;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.TABLE__CATALOG, oldCatalog, catalog));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getSchema() {
+ return schema;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSchema(String newSchema) {
+ String oldSchema = schema;
+ schema = newSchema;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.TABLE__SCHEMA, oldSchema, schema));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<UniqueConstraint> getUniqueConstraints() {
+ if (uniqueConstraints == null) {
+ uniqueConstraints = new EObjectContainmentEList<UniqueConstraint>(UniqueConstraint.class, this, PannotationPackage.TABLE__UNIQUE_CONSTRAINTS);
+ }
+ return uniqueConstraints;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PannotationPackage.TABLE__UNIQUE_CONSTRAINTS:
+ return ((InternalEList<?>)getUniqueConstraints()).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 PannotationPackage.TABLE__NAME:
+ return getName();
+ case PannotationPackage.TABLE__CATALOG:
+ return getCatalog();
+ case PannotationPackage.TABLE__SCHEMA:
+ return getSchema();
+ case PannotationPackage.TABLE__UNIQUE_CONSTRAINTS:
+ return getUniqueConstraints();
+ }
+ 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 PannotationPackage.TABLE__NAME:
+ setName((String)newValue);
+ return;
+ case PannotationPackage.TABLE__CATALOG:
+ setCatalog((String)newValue);
+ return;
+ case PannotationPackage.TABLE__SCHEMA:
+ setSchema((String)newValue);
+ return;
+ case PannotationPackage.TABLE__UNIQUE_CONSTRAINTS:
+ getUniqueConstraints().clear();
+ getUniqueConstraints().addAll((Collection<? extends UniqueConstraint>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.TABLE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PannotationPackage.TABLE__CATALOG:
+ setCatalog(CATALOG_EDEFAULT);
+ return;
+ case PannotationPackage.TABLE__SCHEMA:
+ setSchema(SCHEMA_EDEFAULT);
+ return;
+ case PannotationPackage.TABLE__UNIQUE_CONSTRAINTS:
+ getUniqueConstraints().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.TABLE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case PannotationPackage.TABLE__CATALOG:
+ return CATALOG_EDEFAULT == null ? catalog != null : !CATALOG_EDEFAULT.equals(catalog);
+ case PannotationPackage.TABLE__SCHEMA:
+ return SCHEMA_EDEFAULT == null ? schema != null : !SCHEMA_EDEFAULT.equals(schema);
+ case PannotationPackage.TABLE__UNIQUE_CONSTRAINTS:
+ return uniqueConstraints != null && !uniqueConstraints.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", catalog: ");
+ result.append(catalog);
+ result.append(", schema: ");
+ result.append(schema);
+ result.append(')');
+ return result.toString();
+ }
+
+} //TableImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/TemporalImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/TemporalImpl.java
new file mode 100755
index 000000000..da55a9688
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/TemporalImpl.java
@@ -0,0 +1,164 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TemporalImpl.java,v 1.7 2007/11/14 16:37:53 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+import org.eclipse.emf.teneo.annotations.pannotation.Temporal;
+import org.eclipse.emf.teneo.annotations.pannotation.TemporalType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Temporal</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.TemporalImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TemporalImpl extends PAnnotationImpl implements Temporal {
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final TemporalType VALUE_EDEFAULT = TemporalType.DATE;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected TemporalType value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TemporalImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.TEMPORAL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TemporalType getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(TemporalType newValue) {
+ TemporalType oldValue = value;
+ value = newValue == null ? VALUE_EDEFAULT : newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PannotationPackage.TEMPORAL__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PannotationPackage.TEMPORAL__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PannotationPackage.TEMPORAL__VALUE:
+ setValue((TemporalType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.TEMPORAL__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.TEMPORAL__VALUE:
+ return value != VALUE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //TemporalImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/TransientImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/TransientImpl.java
new file mode 100755
index 000000000..85f30833b
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/TransientImpl.java
@@ -0,0 +1,42 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TransientImpl.java,v 1.7 2007/11/14 16:37:54 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+import org.eclipse.emf.teneo.annotations.pannotation.Transient;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Transient</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class TransientImpl extends PAnnotationImpl implements Transient {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TransientImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.TRANSIENT;
+ }
+
+} //TransientImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/UniqueConstraintImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/UniqueConstraintImpl.java
new file mode 100755
index 000000000..7a3681c2c
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/UniqueConstraintImpl.java
@@ -0,0 +1,148 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: UniqueConstraintImpl.java,v 1.7 2007/11/14 16:37:53 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+import org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Unique Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.annotations.pannotation.impl.UniqueConstraintImpl#getColumnNames <em>Column Names</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class UniqueConstraintImpl extends PAnnotationImpl implements UniqueConstraint {
+ /**
+ * The cached value of the '{@link #getColumnNames() <em>Column Names</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getColumnNames()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> columnNames;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UniqueConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.UNIQUE_CONSTRAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getColumnNames() {
+ if (columnNames == null) {
+ columnNames = new EDataTypeUniqueEList<String>(String.class, this, PannotationPackage.UNIQUE_CONSTRAINT__COLUMN_NAMES);
+ }
+ return columnNames;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PannotationPackage.UNIQUE_CONSTRAINT__COLUMN_NAMES:
+ return getColumnNames();
+ }
+ 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 PannotationPackage.UNIQUE_CONSTRAINT__COLUMN_NAMES:
+ getColumnNames().clear();
+ getColumnNames().addAll((Collection<? extends String>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.UNIQUE_CONSTRAINT__COLUMN_NAMES:
+ getColumnNames().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PannotationPackage.UNIQUE_CONSTRAINT__COLUMN_NAMES:
+ return columnNames != null && !columnNames.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (columnNames: ");
+ result.append(columnNames);
+ result.append(')');
+ return result.toString();
+ }
+
+} //UniqueConstraintImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/VersionImpl.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/VersionImpl.java
new file mode 100755
index 000000000..007c9b745
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/impl/VersionImpl.java
@@ -0,0 +1,42 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: VersionImpl.java,v 1.7 2007/11/14 16:37:52 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+import org.eclipse.emf.teneo.annotations.pannotation.Version;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Version</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class VersionImpl extends PAnnotationImpl implements Version {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VersionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PannotationPackage.Literals.VERSION;
+ }
+
+} //VersionImpl
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/util/PannotationAdapterFactory.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/util/PannotationAdapterFactory.java
new file mode 100755
index 000000000..f7ea8256a
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/util/PannotationAdapterFactory.java
@@ -0,0 +1,883 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PannotationAdapterFactory.java,v 1.36 2011/02/21 06:40:10 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.teneo.annotations.pannotation.*;
+import org.eclipse.emf.teneo.annotations.pannotation.AssociationOverride;
+import org.eclipse.emf.teneo.annotations.pannotation.AttributeOverride;
+import org.eclipse.emf.teneo.annotations.pannotation.Basic;
+import org.eclipse.emf.teneo.annotations.pannotation.Column;
+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.Embedded;
+import org.eclipse.emf.teneo.annotations.pannotation.EmbeddedId;
+import org.eclipse.emf.teneo.annotations.pannotation.Entity;
+import org.eclipse.emf.teneo.annotations.pannotation.Enumerated;
+import org.eclipse.emf.teneo.annotations.pannotation.External;
+import org.eclipse.emf.teneo.annotations.pannotation.ForeignKey;
+import org.eclipse.emf.teneo.annotations.pannotation.GeneratedValue;
+import org.eclipse.emf.teneo.annotations.pannotation.Id;
+import org.eclipse.emf.teneo.annotations.pannotation.IdClass;
+import org.eclipse.emf.teneo.annotations.pannotation.Inheritance;
+import org.eclipse.emf.teneo.annotations.pannotation.JoinColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.JoinTable;
+import org.eclipse.emf.teneo.annotations.pannotation.ListIndexColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.Lob;
+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.MappedSuperclass;
+import org.eclipse.emf.teneo.annotations.pannotation.NoEAVMapping;
+import org.eclipse.emf.teneo.annotations.pannotation.OneToMany;
+import org.eclipse.emf.teneo.annotations.pannotation.OneToOne;
+import org.eclipse.emf.teneo.annotations.pannotation.OrderBy;
+import org.eclipse.emf.teneo.annotations.pannotation.PAnnotation;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+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.SequenceStyleGenerator;
+import org.eclipse.emf.teneo.annotations.pannotation.Table;
+import org.eclipse.emf.teneo.annotations.pannotation.TableGenerator;
+import org.eclipse.emf.teneo.annotations.pannotation.Temporal;
+import org.eclipse.emf.teneo.annotations.pannotation.Transient;
+import org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint;
+import org.eclipse.emf.teneo.annotations.pannotation.Version;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage
+ * @generated
+ */
+public class PannotationAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static PannotationPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PannotationAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = PannotationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PannotationSwitch<Adapter> modelSwitch =
+ new PannotationSwitch<Adapter>() {
+ @Override
+ public Adapter casePAnnotation(PAnnotation object) {
+ return createPAnnotationAdapter();
+ }
+ @Override
+ public Adapter caseAttributeOverride(AttributeOverride object) {
+ return createAttributeOverrideAdapter();
+ }
+ @Override
+ public Adapter caseAssociationOverride(AssociationOverride object) {
+ return createAssociationOverrideAdapter();
+ }
+ @Override
+ public Adapter caseBasic(Basic object) {
+ return createBasicAdapter();
+ }
+ @Override
+ public Adapter caseColumn(Column object) {
+ return createColumnAdapter();
+ }
+ @Override
+ public Adapter caseDiscriminatorColumn(DiscriminatorColumn object) {
+ return createDiscriminatorColumnAdapter();
+ }
+ @Override
+ public Adapter caseDiscriminatorValue(DiscriminatorValue object) {
+ return createDiscriminatorValueAdapter();
+ }
+ @Override
+ public Adapter caseEmbeddable(Embeddable object) {
+ return createEmbeddableAdapter();
+ }
+ @Override
+ public Adapter caseEmbedded(Embedded object) {
+ return createEmbeddedAdapter();
+ }
+ @Override
+ public Adapter caseEmbeddedId(EmbeddedId object) {
+ return createEmbeddedIdAdapter();
+ }
+ @Override
+ public Adapter caseEntity(Entity object) {
+ return createEntityAdapter();
+ }
+ @Override
+ public Adapter caseEnumerated(Enumerated object) {
+ return createEnumeratedAdapter();
+ }
+ @Override
+ public Adapter caseGeneratedValue(GeneratedValue object) {
+ return createGeneratedValueAdapter();
+ }
+ @Override
+ public Adapter caseId(Id object) {
+ return createIdAdapter();
+ }
+ @Override
+ public Adapter caseIdClass(IdClass object) {
+ return createIdClassAdapter();
+ }
+ @Override
+ public Adapter caseInheritance(Inheritance object) {
+ return createInheritanceAdapter();
+ }
+ @Override
+ public Adapter caseJoinColumn(JoinColumn object) {
+ return createJoinColumnAdapter();
+ }
+ @Override
+ public Adapter caseJoinTable(JoinTable object) {
+ return createJoinTableAdapter();
+ }
+ @Override
+ public Adapter caseLob(Lob object) {
+ return createLobAdapter();
+ }
+ @Override
+ public Adapter caseManyToMany(ManyToMany object) {
+ return createManyToManyAdapter();
+ }
+ @Override
+ public Adapter caseManyToOne(ManyToOne object) {
+ return createManyToOneAdapter();
+ }
+ @Override
+ public Adapter caseMapKey(MapKey object) {
+ return createMapKeyAdapter();
+ }
+ @Override
+ public Adapter caseMappedSuperclass(MappedSuperclass object) {
+ return createMappedSuperclassAdapter();
+ }
+ @Override
+ public Adapter caseOneToMany(OneToMany object) {
+ return createOneToManyAdapter();
+ }
+ @Override
+ public Adapter caseOneToOne(OneToOne object) {
+ return createOneToOneAdapter();
+ }
+ @Override
+ public Adapter caseOrderBy(OrderBy object) {
+ return createOrderByAdapter();
+ }
+ @Override
+ public Adapter casePrimaryKeyJoinColumn(PrimaryKeyJoinColumn object) {
+ return createPrimaryKeyJoinColumnAdapter();
+ }
+ @Override
+ public Adapter caseSecondaryTable(SecondaryTable object) {
+ return createSecondaryTableAdapter();
+ }
+ @Override
+ public Adapter caseSequenceGenerator(SequenceGenerator object) {
+ return createSequenceGeneratorAdapter();
+ }
+ @Override
+ public Adapter caseTable(Table object) {
+ return createTableAdapter();
+ }
+ @Override
+ public Adapter caseTableGenerator(TableGenerator object) {
+ return createTableGeneratorAdapter();
+ }
+ @Override
+ public Adapter caseTemporal(Temporal object) {
+ return createTemporalAdapter();
+ }
+ @Override
+ public Adapter caseTransient(Transient object) {
+ return createTransientAdapter();
+ }
+ @Override
+ public Adapter caseUniqueConstraint(UniqueConstraint object) {
+ return createUniqueConstraintAdapter();
+ }
+ @Override
+ public Adapter caseVersion(Version object) {
+ return createVersionAdapter();
+ }
+ @Override
+ public Adapter caseForeignKey(ForeignKey object) {
+ return createForeignKeyAdapter();
+ }
+ @Override
+ public Adapter caseSequenceStyleGenerator(SequenceStyleGenerator object) {
+ return createSequenceStyleGeneratorAdapter();
+ }
+ @Override
+ public Adapter caseExternal(External object) {
+ return createExternalAdapter();
+ }
+ @Override
+ public Adapter caseEAVMapping(EAVMapping object) {
+ return createEAVMappingAdapter();
+ }
+ @Override
+ public Adapter caseNoEAVMapping(NoEAVMapping object) {
+ return createNoEAVMappingAdapter();
+ }
+ @Override
+ public Adapter caseListIndexColumn(ListIndexColumn object) {
+ return createListIndexColumnAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.PAnnotation <em>PAnnotation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PAnnotation
+ * @generated
+ */
+ public Adapter createPAnnotationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.AttributeOverride <em>Attribute Override</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.AttributeOverride
+ * @generated
+ */
+ public Adapter createAttributeOverrideAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.Basic <em>Basic</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Basic
+ * @generated
+ */
+ public Adapter createBasicAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.Column <em>Column</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Column
+ * @generated
+ */
+ public Adapter createColumnAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn <em>Discriminator Column</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn
+ * @generated
+ */
+ public Adapter createDiscriminatorColumnAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorValue <em>Discriminator Value</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorValue
+ * @generated
+ */
+ public Adapter createDiscriminatorValueAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.Embeddable <em>Embeddable</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Embeddable
+ * @generated
+ */
+ public Adapter createEmbeddableAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.MappedSuperclass <em>Mapped Superclass</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.MappedSuperclass
+ * @generated
+ */
+ public Adapter createMappedSuperclassAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.Embedded <em>Embedded</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Embedded
+ * @generated
+ */
+ public Adapter createEmbeddedAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.EmbeddedId <em>Embedded Id</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.EmbeddedId
+ * @generated
+ */
+ public Adapter createEmbeddedIdAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.Enumerated <em>Enumerated</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Enumerated
+ * @generated
+ */
+ public Adapter createEnumeratedAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.Entity <em>Entity</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Entity
+ * @generated
+ */
+ public Adapter createEntityAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.GeneratedValue <em>Generated Value</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.GeneratedValue
+ * @generated
+ */
+ public Adapter createGeneratedValueAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.Id <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Id
+ * @generated
+ */
+ public Adapter createIdAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.IdClass <em>Id Class</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.IdClass
+ * @generated
+ */
+ public Adapter createIdClassAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.Inheritance <em>Inheritance</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Inheritance
+ * @generated
+ */
+ public Adapter createInheritanceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn <em>Join Column</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.JoinColumn
+ * @generated
+ */
+ public Adapter createJoinColumnAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.JoinTable <em>Join Table</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.JoinTable
+ * @generated
+ */
+ public Adapter createJoinTableAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.Lob <em>Lob</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Lob
+ * @generated
+ */
+ public Adapter createLobAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToMany <em>Many To Many</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.ManyToMany
+ * @generated
+ */
+ public Adapter createManyToManyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.ManyToOne <em>Many To One</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.ManyToOne
+ * @generated
+ */
+ public Adapter createManyToOneAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.MapKey <em>Map Key</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.MapKey
+ * @generated
+ */
+ public Adapter createMapKeyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.OneToMany <em>One To Many</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.OneToMany
+ * @generated
+ */
+ public Adapter createOneToManyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.OneToOne <em>One To One</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.OneToOne
+ * @generated
+ */
+ public Adapter createOneToOneAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.OrderBy <em>Order By</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.OrderBy
+ * @generated
+ */
+ public Adapter createOrderByAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.PrimaryKeyJoinColumn <em>Primary Key Join Column</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PrimaryKeyJoinColumn
+ * @generated
+ */
+ public Adapter createPrimaryKeyJoinColumnAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable <em>Secondary Table</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable
+ * @generated
+ */
+ public Adapter createSecondaryTableAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator <em>Sequence Generator</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator
+ * @generated
+ */
+ public Adapter createSequenceGeneratorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.Table <em>Table</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Table
+ * @generated
+ */
+ public Adapter createTableAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator <em>Table Generator</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.TableGenerator
+ * @generated
+ */
+ public Adapter createTableGeneratorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.Temporal <em>Temporal</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Temporal
+ * @generated
+ */
+ public Adapter createTemporalAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.Transient <em>Transient</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Transient
+ * @generated
+ */
+ public Adapter createTransientAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint <em>Unique Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint
+ * @generated
+ */
+ public Adapter createUniqueConstraintAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.Version <em>Version</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.Version
+ * @generated
+ */
+ public Adapter createVersionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.ForeignKey <em>Foreign Key</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.ForeignKey
+ * @generated
+ */
+ public Adapter createForeignKeyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator <em>Sequence Style Generator</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator
+ * @generated
+ */
+ public Adapter createSequenceStyleGeneratorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.External <em>External</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.External
+ * @generated
+ */
+ public Adapter createExternalAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.EAVMapping <em>EAV Mapping</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.EAVMapping
+ * @generated
+ */
+ public Adapter createEAVMappingAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.NoEAVMapping <em>No EAV Mapping</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.NoEAVMapping
+ * @generated
+ */
+ public Adapter createNoEAVMappingAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.ListIndexColumn <em>List Index Column</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.ListIndexColumn
+ * @generated
+ */
+ public Adapter createListIndexColumnAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.annotations.pannotation.AssociationOverride <em>Association Override</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.AssociationOverride
+ * @generated
+ */
+ public Adapter createAssociationOverrideAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //PannotationAdapterFactory
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/util/PannotationSwitch.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/util/PannotationSwitch.java
new file mode 100755
index 000000000..3e66fe632
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/util/PannotationSwitch.java
@@ -0,0 +1,1051 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PannotationSwitch.java,v 1.33 2011/02/21 06:40:10 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.teneo.annotations.pannotation.*;
+import org.eclipse.emf.teneo.annotations.pannotation.AssociationOverride;
+import org.eclipse.emf.teneo.annotations.pannotation.AttributeOverride;
+import org.eclipse.emf.teneo.annotations.pannotation.Basic;
+import org.eclipse.emf.teneo.annotations.pannotation.Column;
+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.Embedded;
+import org.eclipse.emf.teneo.annotations.pannotation.EmbeddedId;
+import org.eclipse.emf.teneo.annotations.pannotation.Entity;
+import org.eclipse.emf.teneo.annotations.pannotation.Enumerated;
+import org.eclipse.emf.teneo.annotations.pannotation.External;
+import org.eclipse.emf.teneo.annotations.pannotation.ForeignKey;
+import org.eclipse.emf.teneo.annotations.pannotation.GeneratedValue;
+import org.eclipse.emf.teneo.annotations.pannotation.Id;
+import org.eclipse.emf.teneo.annotations.pannotation.IdClass;
+import org.eclipse.emf.teneo.annotations.pannotation.Inheritance;
+import org.eclipse.emf.teneo.annotations.pannotation.JoinColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.JoinTable;
+import org.eclipse.emf.teneo.annotations.pannotation.ListIndexColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.Lob;
+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.MappedSuperclass;
+import org.eclipse.emf.teneo.annotations.pannotation.NoEAVMapping;
+import org.eclipse.emf.teneo.annotations.pannotation.OneToMany;
+import org.eclipse.emf.teneo.annotations.pannotation.OneToOne;
+import org.eclipse.emf.teneo.annotations.pannotation.OrderBy;
+import org.eclipse.emf.teneo.annotations.pannotation.PAnnotation;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+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.SequenceStyleGenerator;
+import org.eclipse.emf.teneo.annotations.pannotation.Table;
+import org.eclipse.emf.teneo.annotations.pannotation.TableGenerator;
+import org.eclipse.emf.teneo.annotations.pannotation.Temporal;
+import org.eclipse.emf.teneo.annotations.pannotation.Transient;
+import org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint;
+import org.eclipse.emf.teneo.annotations.pannotation.Version;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage
+ * @generated
+ */
+public class PannotationSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static PannotationPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PannotationSwitch() {
+ if (modelPackage == null) {
+ modelPackage = PannotationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case PannotationPackage.PANNOTATION: {
+ PAnnotation pAnnotation = (PAnnotation)theEObject;
+ T result = casePAnnotation(pAnnotation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.ATTRIBUTE_OVERRIDE: {
+ AttributeOverride attributeOverride = (AttributeOverride)theEObject;
+ T result = caseAttributeOverride(attributeOverride);
+ if (result == null) result = casePAnnotation(attributeOverride);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.ASSOCIATION_OVERRIDE: {
+ AssociationOverride associationOverride = (AssociationOverride)theEObject;
+ T result = caseAssociationOverride(associationOverride);
+ if (result == null) result = casePAnnotation(associationOverride);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.BASIC: {
+ Basic basic = (Basic)theEObject;
+ T result = caseBasic(basic);
+ if (result == null) result = casePAnnotation(basic);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.COLUMN: {
+ Column column = (Column)theEObject;
+ T result = caseColumn(column);
+ if (result == null) result = casePAnnotation(column);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.DISCRIMINATOR_COLUMN: {
+ DiscriminatorColumn discriminatorColumn = (DiscriminatorColumn)theEObject;
+ T result = caseDiscriminatorColumn(discriminatorColumn);
+ if (result == null) result = casePAnnotation(discriminatorColumn);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.DISCRIMINATOR_VALUE: {
+ DiscriminatorValue discriminatorValue = (DiscriminatorValue)theEObject;
+ T result = caseDiscriminatorValue(discriminatorValue);
+ if (result == null) result = casePAnnotation(discriminatorValue);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.EMBEDDABLE: {
+ Embeddable embeddable = (Embeddable)theEObject;
+ T result = caseEmbeddable(embeddable);
+ if (result == null) result = casePAnnotation(embeddable);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.EMBEDDED: {
+ Embedded embedded = (Embedded)theEObject;
+ T result = caseEmbedded(embedded);
+ if (result == null) result = casePAnnotation(embedded);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.EMBEDDED_ID: {
+ EmbeddedId embeddedId = (EmbeddedId)theEObject;
+ T result = caseEmbeddedId(embeddedId);
+ if (result == null) result = casePAnnotation(embeddedId);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.ENTITY: {
+ Entity entity = (Entity)theEObject;
+ T result = caseEntity(entity);
+ if (result == null) result = casePAnnotation(entity);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.ENUMERATED: {
+ Enumerated enumerated = (Enumerated)theEObject;
+ T result = caseEnumerated(enumerated);
+ if (result == null) result = casePAnnotation(enumerated);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.GENERATED_VALUE: {
+ GeneratedValue generatedValue = (GeneratedValue)theEObject;
+ T result = caseGeneratedValue(generatedValue);
+ if (result == null) result = casePAnnotation(generatedValue);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.ID: {
+ Id id = (Id)theEObject;
+ T result = caseId(id);
+ if (result == null) result = casePAnnotation(id);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.ID_CLASS: {
+ IdClass idClass = (IdClass)theEObject;
+ T result = caseIdClass(idClass);
+ if (result == null) result = casePAnnotation(idClass);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.INHERITANCE: {
+ Inheritance inheritance = (Inheritance)theEObject;
+ T result = caseInheritance(inheritance);
+ if (result == null) result = casePAnnotation(inheritance);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.JOIN_COLUMN: {
+ JoinColumn joinColumn = (JoinColumn)theEObject;
+ T result = caseJoinColumn(joinColumn);
+ if (result == null) result = casePAnnotation(joinColumn);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.JOIN_TABLE: {
+ JoinTable joinTable = (JoinTable)theEObject;
+ T result = caseJoinTable(joinTable);
+ if (result == null) result = casePAnnotation(joinTable);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.LOB: {
+ Lob lob = (Lob)theEObject;
+ T result = caseLob(lob);
+ if (result == null) result = casePAnnotation(lob);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.MANY_TO_MANY: {
+ ManyToMany manyToMany = (ManyToMany)theEObject;
+ T result = caseManyToMany(manyToMany);
+ if (result == null) result = casePAnnotation(manyToMany);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.MANY_TO_ONE: {
+ ManyToOne manyToOne = (ManyToOne)theEObject;
+ T result = caseManyToOne(manyToOne);
+ if (result == null) result = casePAnnotation(manyToOne);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.MAP_KEY: {
+ MapKey mapKey = (MapKey)theEObject;
+ T result = caseMapKey(mapKey);
+ if (result == null) result = casePAnnotation(mapKey);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.MAPPED_SUPERCLASS: {
+ MappedSuperclass mappedSuperclass = (MappedSuperclass)theEObject;
+ T result = caseMappedSuperclass(mappedSuperclass);
+ if (result == null) result = casePAnnotation(mappedSuperclass);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.ONE_TO_MANY: {
+ OneToMany oneToMany = (OneToMany)theEObject;
+ T result = caseOneToMany(oneToMany);
+ if (result == null) result = casePAnnotation(oneToMany);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.ONE_TO_ONE: {
+ OneToOne oneToOne = (OneToOne)theEObject;
+ T result = caseOneToOne(oneToOne);
+ if (result == null) result = casePAnnotation(oneToOne);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.ORDER_BY: {
+ OrderBy orderBy = (OrderBy)theEObject;
+ T result = caseOrderBy(orderBy);
+ if (result == null) result = casePAnnotation(orderBy);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.PRIMARY_KEY_JOIN_COLUMN: {
+ PrimaryKeyJoinColumn primaryKeyJoinColumn = (PrimaryKeyJoinColumn)theEObject;
+ T result = casePrimaryKeyJoinColumn(primaryKeyJoinColumn);
+ if (result == null) result = casePAnnotation(primaryKeyJoinColumn);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.SECONDARY_TABLE: {
+ SecondaryTable secondaryTable = (SecondaryTable)theEObject;
+ T result = caseSecondaryTable(secondaryTable);
+ if (result == null) result = casePAnnotation(secondaryTable);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.SEQUENCE_GENERATOR: {
+ SequenceGenerator sequenceGenerator = (SequenceGenerator)theEObject;
+ T result = caseSequenceGenerator(sequenceGenerator);
+ if (result == null) result = casePAnnotation(sequenceGenerator);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.TABLE: {
+ Table table = (Table)theEObject;
+ T result = caseTable(table);
+ if (result == null) result = casePAnnotation(table);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.TABLE_GENERATOR: {
+ TableGenerator tableGenerator = (TableGenerator)theEObject;
+ T result = caseTableGenerator(tableGenerator);
+ if (result == null) result = casePAnnotation(tableGenerator);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.TEMPORAL: {
+ Temporal temporal = (Temporal)theEObject;
+ T result = caseTemporal(temporal);
+ if (result == null) result = casePAnnotation(temporal);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.TRANSIENT: {
+ Transient transient_ = (Transient)theEObject;
+ T result = caseTransient(transient_);
+ if (result == null) result = casePAnnotation(transient_);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.UNIQUE_CONSTRAINT: {
+ UniqueConstraint uniqueConstraint = (UniqueConstraint)theEObject;
+ T result = caseUniqueConstraint(uniqueConstraint);
+ if (result == null) result = casePAnnotation(uniqueConstraint);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.VERSION: {
+ Version version = (Version)theEObject;
+ T result = caseVersion(version);
+ if (result == null) result = casePAnnotation(version);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.FOREIGN_KEY: {
+ ForeignKey foreignKey = (ForeignKey)theEObject;
+ T result = caseForeignKey(foreignKey);
+ if (result == null) result = casePAnnotation(foreignKey);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.SEQUENCE_STYLE_GENERATOR: {
+ SequenceStyleGenerator sequenceStyleGenerator = (SequenceStyleGenerator)theEObject;
+ T result = caseSequenceStyleGenerator(sequenceStyleGenerator);
+ if (result == null) result = casePAnnotation(sequenceStyleGenerator);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.EXTERNAL: {
+ External external = (External)theEObject;
+ T result = caseExternal(external);
+ if (result == null) result = casePAnnotation(external);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.EAV_MAPPING: {
+ EAVMapping eavMapping = (EAVMapping)theEObject;
+ T result = caseEAVMapping(eavMapping);
+ if (result == null) result = casePAnnotation(eavMapping);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.NO_EAV_MAPPING: {
+ NoEAVMapping noEAVMapping = (NoEAVMapping)theEObject;
+ T result = caseNoEAVMapping(noEAVMapping);
+ if (result == null) result = casePAnnotation(noEAVMapping);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case PannotationPackage.LIST_INDEX_COLUMN: {
+ ListIndexColumn listIndexColumn = (ListIndexColumn)theEObject;
+ T result = caseListIndexColumn(listIndexColumn);
+ if (result == null) result = casePAnnotation(listIndexColumn);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>PAnnotation</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>PAnnotation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePAnnotation(PAnnotation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Attribute Override</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Attribute Override</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAttributeOverride(AttributeOverride object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Basic</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Basic</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBasic(Basic object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Column</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Column</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseColumn(Column object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Discriminator Column</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Discriminator Column</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDiscriminatorColumn(DiscriminatorColumn object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Discriminator Value</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Discriminator Value</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDiscriminatorValue(DiscriminatorValue object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Embeddable</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Embeddable</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEmbeddable(Embeddable object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Mapped Superclass</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Mapped Superclass</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMappedSuperclass(MappedSuperclass object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Embedded</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Embedded</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEmbedded(Embedded object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Embedded Id</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Embedded Id</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEmbeddedId(EmbeddedId object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Enumerated</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Enumerated</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEnumerated(Enumerated object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Entity</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Entity</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEntity(Entity object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Generated Value</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Generated Value</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGeneratedValue(GeneratedValue object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Id</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Id</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseId(Id object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Id Class</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Id Class</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIdClass(IdClass object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Inheritance</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Inheritance</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInheritance(Inheritance object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Join Column</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Join Column</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseJoinColumn(JoinColumn object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Join Table</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Join Table</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseJoinTable(JoinTable object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Lob</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Lob</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLob(Lob object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Many To Many</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Many To Many</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseManyToMany(ManyToMany object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Many To One</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Many To One</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseManyToOne(ManyToOne object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Map Key</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Map Key</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMapKey(MapKey object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>One To Many</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>One To Many</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOneToMany(OneToMany object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>One To One</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>One To One</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOneToOne(OneToOne object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Order By</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Order By</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOrderBy(OrderBy object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Primary Key Join Column</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Primary Key Join Column</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePrimaryKeyJoinColumn(PrimaryKeyJoinColumn object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Secondary Table</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Secondary Table</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSecondaryTable(SecondaryTable object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sequence Generator</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sequence Generator</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSequenceGenerator(SequenceGenerator object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Table</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Table</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTable(Table object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Table Generator</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Table Generator</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTableGenerator(TableGenerator object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Temporal</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Temporal</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTemporal(Temporal object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Transient</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Transient</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTransient(Transient object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Unique Constraint</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Unique Constraint</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUniqueConstraint(UniqueConstraint object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Version</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Version</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVersion(Version object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Foreign Key</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Foreign Key</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseForeignKey(ForeignKey object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sequence Style Generator</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sequence Style Generator</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSequenceStyleGenerator(SequenceStyleGenerator object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>External</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>External</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExternal(External object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EAV Mapping</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EAV Mapping</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEAVMapping(EAVMapping object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>No EAV Mapping</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>No EAV Mapping</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNoEAVMapping(NoEAVMapping object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>List Index Column</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>List Index Column</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseListIndexColumn(ListIndexColumn object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Association Override</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Association Override</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAssociationOverride(AssociationOverride object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //PannotationSwitch
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/util/PannotationValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/util/PannotationValidator.java
new file mode 100755
index 000000000..b77e71610
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/util/PannotationValidator.java
@@ -0,0 +1,1814 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PannotationValidator.java,v 1.37 2011/02/21 06:40:10 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.emf.teneo.annotations.pannotation.*;
+import org.eclipse.emf.teneo.annotations.pannotation.AssociationOverride;
+import org.eclipse.emf.teneo.annotations.pannotation.AttributeOverride;
+import org.eclipse.emf.teneo.annotations.pannotation.Basic;
+import org.eclipse.emf.teneo.annotations.pannotation.CascadeType;
+import org.eclipse.emf.teneo.annotations.pannotation.Column;
+import org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorType;
+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.Embedded;
+import org.eclipse.emf.teneo.annotations.pannotation.EmbeddedId;
+import org.eclipse.emf.teneo.annotations.pannotation.Entity;
+import org.eclipse.emf.teneo.annotations.pannotation.EnumType;
+import org.eclipse.emf.teneo.annotations.pannotation.Enumerated;
+import org.eclipse.emf.teneo.annotations.pannotation.External;
+import org.eclipse.emf.teneo.annotations.pannotation.FetchType;
+import org.eclipse.emf.teneo.annotations.pannotation.ForeignKey;
+import org.eclipse.emf.teneo.annotations.pannotation.GeneratedValue;
+import org.eclipse.emf.teneo.annotations.pannotation.GenerationType;
+import org.eclipse.emf.teneo.annotations.pannotation.Id;
+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.JoinColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.JoinTable;
+import org.eclipse.emf.teneo.annotations.pannotation.ListIndexColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.Lob;
+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.MappedSuperclass;
+import org.eclipse.emf.teneo.annotations.pannotation.NoEAVMapping;
+import org.eclipse.emf.teneo.annotations.pannotation.OneToMany;
+import org.eclipse.emf.teneo.annotations.pannotation.OneToOne;
+import org.eclipse.emf.teneo.annotations.pannotation.OptimizerType;
+import org.eclipse.emf.teneo.annotations.pannotation.OrderBy;
+import org.eclipse.emf.teneo.annotations.pannotation.PAnnotation;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+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.SequenceStyleGenerator;
+import org.eclipse.emf.teneo.annotations.pannotation.Table;
+import org.eclipse.emf.teneo.annotations.pannotation.TableGenerator;
+import org.eclipse.emf.teneo.annotations.pannotation.Temporal;
+import org.eclipse.emf.teneo.annotations.pannotation.TemporalType;
+import org.eclipse.emf.teneo.annotations.pannotation.Transient;
+import org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint;
+import org.eclipse.emf.teneo.annotations.pannotation.Version;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Validator</b> for the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage
+ * @generated
+ */
+public class PannotationValidator extends EObjectValidator {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final PannotationValidator INSTANCE = new PannotationValidator();
+
+ /**
+ * A constant for the {@link org.eclipse.emf.common.util.Diagnostic#getSource() source} of diagnostic {@link org.eclipse.emf.common.util.Diagnostic#getCode() codes} from this package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.common.util.Diagnostic#getSource()
+ * @see org.eclipse.emf.common.util.Diagnostic#getCode()
+ * @generated
+ */
+ public static final String DIAGNOSTIC_SOURCE = "org.eclipse.emf.teneo.annotations.pannotation";
+
+ /**
+ * A constant with a fixed name that can be used as the base value for additional hand written constants.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final int GENERATED_DIAGNOSTIC_CODE_COUNT = 0;
+
+ /**
+ * A constant with a fixed name that can be used as the base value for additional hand written constants in a derived class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static final int DIAGNOSTIC_CODE_COUNT = GENERATED_DIAGNOSTIC_CODE_COUNT;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PannotationValidator() {
+ super();
+ }
+
+ /**
+ * Returns the package of this validator switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EPackage getEPackage() {
+ return PannotationPackage.eINSTANCE;
+ }
+
+ /**
+ * Calls <code>validateXXX</code> for the corresponding classifier of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean validate(int classifierID, Object value, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ switch (classifierID) {
+ case PannotationPackage.PANNOTATION:
+ return validatePAnnotation((PAnnotation)value, diagnostics, context);
+ case PannotationPackage.ATTRIBUTE_OVERRIDE:
+ return validateAttributeOverride((AttributeOverride)value, diagnostics, context);
+ case PannotationPackage.ASSOCIATION_OVERRIDE:
+ return validateAssociationOverride((AssociationOverride)value, diagnostics, context);
+ case PannotationPackage.BASIC:
+ return validateBasic((Basic)value, diagnostics, context);
+ case PannotationPackage.COLUMN:
+ return validateColumn((Column)value, diagnostics, context);
+ case PannotationPackage.DISCRIMINATOR_COLUMN:
+ return validateDiscriminatorColumn((DiscriminatorColumn)value, diagnostics, context);
+ case PannotationPackage.DISCRIMINATOR_VALUE:
+ return validateDiscriminatorValue((DiscriminatorValue)value, diagnostics, context);
+ case PannotationPackage.EMBEDDABLE:
+ return validateEmbeddable((Embeddable)value, diagnostics, context);
+ case PannotationPackage.EMBEDDED:
+ return validateEmbedded((Embedded)value, diagnostics, context);
+ case PannotationPackage.EMBEDDED_ID:
+ return validateEmbeddedId((EmbeddedId)value, diagnostics, context);
+ case PannotationPackage.ENTITY:
+ return validateEntity((Entity)value, diagnostics, context);
+ case PannotationPackage.ENUMERATED:
+ return validateEnumerated((Enumerated)value, diagnostics, context);
+ case PannotationPackage.GENERATED_VALUE:
+ return validateGeneratedValue((GeneratedValue)value, diagnostics, context);
+ case PannotationPackage.ID:
+ return validateId((Id)value, diagnostics, context);
+ case PannotationPackage.ID_CLASS:
+ return validateIdClass((IdClass)value, diagnostics, context);
+ case PannotationPackage.INHERITANCE:
+ return validateInheritance((Inheritance)value, diagnostics, context);
+ case PannotationPackage.JOIN_COLUMN:
+ return validateJoinColumn((JoinColumn)value, diagnostics, context);
+ case PannotationPackage.JOIN_TABLE:
+ return validateJoinTable((JoinTable)value, diagnostics, context);
+ case PannotationPackage.LOB:
+ return validateLob((Lob)value, diagnostics, context);
+ case PannotationPackage.MANY_TO_MANY:
+ return validateManyToMany((ManyToMany)value, diagnostics, context);
+ case PannotationPackage.MANY_TO_ONE:
+ return validateManyToOne((ManyToOne)value, diagnostics, context);
+ case PannotationPackage.MAP_KEY:
+ return validateMapKey((MapKey)value, diagnostics, context);
+ case PannotationPackage.MAPPED_SUPERCLASS:
+ return validateMappedSuperclass((MappedSuperclass)value, diagnostics, context);
+ case PannotationPackage.ONE_TO_MANY:
+ return validateOneToMany((OneToMany)value, diagnostics, context);
+ case PannotationPackage.ONE_TO_ONE:
+ return validateOneToOne((OneToOne)value, diagnostics, context);
+ case PannotationPackage.ORDER_BY:
+ return validateOrderBy((OrderBy)value, diagnostics, context);
+ case PannotationPackage.PRIMARY_KEY_JOIN_COLUMN:
+ return validatePrimaryKeyJoinColumn((PrimaryKeyJoinColumn)value, diagnostics, context);
+ case PannotationPackage.SECONDARY_TABLE:
+ return validateSecondaryTable((SecondaryTable)value, diagnostics, context);
+ case PannotationPackage.SEQUENCE_GENERATOR:
+ return validateSequenceGenerator((SequenceGenerator)value, diagnostics, context);
+ case PannotationPackage.TABLE:
+ return validateTable((Table)value, diagnostics, context);
+ case PannotationPackage.TABLE_GENERATOR:
+ return validateTableGenerator((TableGenerator)value, diagnostics, context);
+ case PannotationPackage.TEMPORAL:
+ return validateTemporal((Temporal)value, diagnostics, context);
+ case PannotationPackage.TRANSIENT:
+ return validateTransient((Transient)value, diagnostics, context);
+ case PannotationPackage.UNIQUE_CONSTRAINT:
+ return validateUniqueConstraint((UniqueConstraint)value, diagnostics, context);
+ case PannotationPackage.VERSION:
+ return validateVersion((Version)value, diagnostics, context);
+ case PannotationPackage.FOREIGN_KEY:
+ return validateForeignKey((ForeignKey)value, diagnostics, context);
+ case PannotationPackage.SEQUENCE_STYLE_GENERATOR:
+ return validateSequenceStyleGenerator((SequenceStyleGenerator)value, diagnostics, context);
+ case PannotationPackage.EXTERNAL:
+ return validateExternal((External)value, diagnostics, context);
+ case PannotationPackage.EAV_MAPPING:
+ return validateEAVMapping((EAVMapping)value, diagnostics, context);
+ case PannotationPackage.NO_EAV_MAPPING:
+ return validateNoEAVMapping((NoEAVMapping)value, diagnostics, context);
+ case PannotationPackage.LIST_INDEX_COLUMN:
+ return validateListIndexColumn((ListIndexColumn)value, diagnostics, context);
+ case PannotationPackage.CASCADE_TYPE:
+ return validateCascadeType((CascadeType)value, diagnostics, context);
+ case PannotationPackage.DISCRIMINATOR_TYPE:
+ return validateDiscriminatorType((DiscriminatorType)value, diagnostics, context);
+ case PannotationPackage.ENUM_TYPE:
+ return validateEnumType((EnumType)value, diagnostics, context);
+ case PannotationPackage.FETCH_TYPE:
+ return validateFetchType((FetchType)value, diagnostics, context);
+ case PannotationPackage.GENERATION_TYPE:
+ return validateGenerationType((GenerationType)value, diagnostics, context);
+ case PannotationPackage.INHERITANCE_TYPE:
+ return validateInheritanceType((InheritanceType)value, diagnostics, context);
+ case PannotationPackage.TEMPORAL_TYPE:
+ return validateTemporalType((TemporalType)value, diagnostics, context);
+ case PannotationPackage.OPTIMIZER_TYPE:
+ return validateOptimizerType((OptimizerType)value, diagnostics, context);
+ default:
+ return true;
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotation(PAnnotation pAnnotation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(pAnnotation, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(pAnnotation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(pAnnotation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(pAnnotation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(pAnnotation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(pAnnotation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(pAnnotation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(pAnnotation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(pAnnotation, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(pAnnotation, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(pAnnotation, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the CompatibleEModelElementType constraint of '<em>PAnnotation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotation_CompatibleEModelElementType(PAnnotation pAnnotation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "CompatibleEModelElementType", getObjectLabel(pAnnotation, context) },
+ new Object[] { pAnnotation },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Validates the AnnotationIsSupported constraint of '<em>PAnnotation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePAnnotation_AnnotationIsSupported(PAnnotation pAnnotation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "AnnotationIsSupported", getObjectLabel(pAnnotation, context) },
+ new Object[] { pAnnotation },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateAttributeOverride(AttributeOverride attributeOverride, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(attributeOverride, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(attributeOverride, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(attributeOverride, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(attributeOverride, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(attributeOverride, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(attributeOverride, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(attributeOverride, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(attributeOverride, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(attributeOverride, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(attributeOverride, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(attributeOverride, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateAssociationOverride(AssociationOverride associationOverride, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(associationOverride, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(associationOverride, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(associationOverride, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(associationOverride, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(associationOverride, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(associationOverride, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(associationOverride, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(associationOverride, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(associationOverride, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(associationOverride, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(associationOverride, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBasic(Basic basic, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(basic, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(basic, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(basic, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(basic, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(basic, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(basic, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(basic, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(basic, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(basic, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(basic, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(basic, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBasic_AllowedElementType(basic, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the AllowedElementType constraint of '<em>Basic</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBasic_AllowedElementType(Basic basic, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "AllowedElementType", getObjectLabel(basic, context) },
+ new Object[] { basic },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateColumn(Column column, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(column, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(column, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(column, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(column, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(column, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(column, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(column, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(column, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(column, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(column, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(column, diagnostics, context);
+ if (result || diagnostics != null) result &= validateColumn_ScalePrecisionForNumeric(column, diagnostics, context);
+ if (result || diagnostics != null) result &= validateColumn_LengthForString(column, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the ScalePrecisionForNumeric constraint of '<em>Column</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateColumn_ScalePrecisionForNumeric(Column column, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "ScalePrecisionForNumeric", getObjectLabel(column, context) },
+ new Object[] { column },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Validates the LengthForString constraint of '<em>Column</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateColumn_LengthForString(Column column, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "LengthForString", getObjectLabel(column, context) },
+ new Object[] { column },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDiscriminatorColumn(DiscriminatorColumn discriminatorColumn, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(discriminatorColumn, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(discriminatorColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(discriminatorColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(discriminatorColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(discriminatorColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(discriminatorColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(discriminatorColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(discriminatorColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(discriminatorColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(discriminatorColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(discriminatorColumn, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDiscriminatorValue(DiscriminatorValue discriminatorValue, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(discriminatorValue, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(discriminatorValue, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(discriminatorValue, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(discriminatorValue, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(discriminatorValue, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(discriminatorValue, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(discriminatorValue, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(discriminatorValue, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(discriminatorValue, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(discriminatorValue, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(discriminatorValue, diagnostics, context);
+ if (result || diagnostics != null) result &= validateDiscriminatorValue_NoAbstract(discriminatorValue, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the NoAbstract constraint of '<em>Discriminator Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDiscriminatorValue_NoAbstract(DiscriminatorValue discriminatorValue, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "NoAbstract", getObjectLabel(discriminatorValue, context) },
+ new Object[] { discriminatorValue },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEmbeddable(Embeddable embeddable, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(embeddable, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(embeddable, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(embeddable, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(embeddable, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(embeddable, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(embeddable, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(embeddable, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(embeddable, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(embeddable, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(embeddable, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(embeddable, diagnostics, context);
+ if (result || diagnostics != null) result &= validateEmbeddable_NoInterface(embeddable, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the NoInterface constraint of '<em>Embeddable</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEmbeddable_NoInterface(Embeddable embeddable, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "NoInterface", getObjectLabel(embeddable, context) },
+ new Object[] { embeddable },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEmbedded(Embedded embedded, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(embedded, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(embedded, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(embedded, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(embedded, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(embedded, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(embedded, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(embedded, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(embedded, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(embedded, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(embedded, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(embedded, diagnostics, context);
+ if (result || diagnostics != null) result &= validateEmbedded_EmbedByValue(embedded, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the EmbedByValue constraint of '<em>Embedded</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEmbedded_EmbedByValue(Embedded embedded, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "EmbedByValue", getObjectLabel(embedded, context) },
+ new Object[] { embedded },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEmbeddedId(EmbeddedId embeddedId, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(embeddedId, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(embeddedId, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(embeddedId, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(embeddedId, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(embeddedId, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(embeddedId, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(embeddedId, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(embeddedId, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(embeddedId, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(embeddedId, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(embeddedId, diagnostics, context);
+ if (result || diagnostics != null) result &= validateEmbeddedId_EmbedByValue(embeddedId, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the EmbedByValue constraint of '<em>Embedded Id</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEmbeddedId_EmbedByValue(EmbeddedId embeddedId, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "EmbedByValue", getObjectLabel(embeddedId, context) },
+ new Object[] { embeddedId },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEntity(Entity entity, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(entity, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(entity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(entity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(entity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(entity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(entity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(entity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(entity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(entity, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(entity, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(entity, diagnostics, context);
+ if (result || diagnostics != null) result &= validateEntity_NoInterface(entity, diagnostics, context);
+ if (result || diagnostics != null) result &= validateEntity_NoReservedName(entity, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the NoInterface constraint of '<em>Entity</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEntity_NoInterface(Entity entity, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "NoInterface", getObjectLabel(entity, context) },
+ new Object[] { entity },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Validates the NoReservedName constraint of '<em>Entity</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEntity_NoReservedName(Entity entity, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "NoReservedName", getObjectLabel(entity, context) },
+ new Object[] { entity },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEnumerated(Enumerated enumerated, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(enumerated, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(enumerated, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(enumerated, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(enumerated, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(enumerated, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(enumerated, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(enumerated, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(enumerated, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(enumerated, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(enumerated, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(enumerated, diagnostics, context);
+ if (result || diagnostics != null) result &= validateEnumerated_AllowedElementType(enumerated, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the AllowedElementType constraint of '<em>Enumerated</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEnumerated_AllowedElementType(Enumerated enumerated, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "AllowedElementType", getObjectLabel(enumerated, context) },
+ new Object[] { enumerated },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateGeneratedValue(GeneratedValue generatedValue, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(generatedValue, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(generatedValue, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(generatedValue, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(generatedValue, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(generatedValue, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(generatedValue, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(generatedValue, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(generatedValue, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(generatedValue, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(generatedValue, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(generatedValue, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateId(Id id, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(id, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(id, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(id, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(id, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(id, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(id, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(id, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(id, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(id, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(id, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(id, diagnostics, context);
+ if (result || diagnostics != null) result &= validateId_AllowedElementType(id, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the AllowedElementType constraint of '<em>Id</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateId_AllowedElementType(Id id, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "AllowedElementType", getObjectLabel(id, context) },
+ new Object[] { id },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateIdClass(IdClass idClass, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(idClass, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(idClass, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(idClass, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(idClass, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(idClass, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(idClass, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(idClass, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(idClass, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(idClass, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(idClass, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(idClass, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInheritance(Inheritance inheritance, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(inheritance, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(inheritance, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(inheritance, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(inheritance, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(inheritance, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(inheritance, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(inheritance, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(inheritance, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(inheritance, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(inheritance, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(inheritance, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateJoinColumn(JoinColumn joinColumn, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(joinColumn, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(joinColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(joinColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(joinColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(joinColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(joinColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(joinColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(joinColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(joinColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(joinColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(joinColumn, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateJoinTable(JoinTable joinTable, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(joinTable, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(joinTable, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(joinTable, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(joinTable, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(joinTable, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(joinTable, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(joinTable, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(joinTable, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(joinTable, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(joinTable, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(joinTable, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLob(Lob lob, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(lob, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(lob, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(lob, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(lob, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(lob, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(lob, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(lob, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(lob, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(lob, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(lob, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(lob, diagnostics, context);
+ if (result || diagnostics != null) result &= validateLob_AllowedType(lob, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the AllowedType constraint of '<em>Lob</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLob_AllowedType(Lob lob, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "AllowedType", getObjectLabel(lob, context) },
+ new Object[] { lob },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateManyToMany(ManyToMany manyToMany, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(manyToMany, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(manyToMany, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(manyToMany, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(manyToMany, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(manyToMany, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(manyToMany, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(manyToMany, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(manyToMany, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(manyToMany, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(manyToMany, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(manyToMany, diagnostics, context);
+ if (result || diagnostics != null) result &= validateManyToMany_IsManyValued(manyToMany, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the IsManyValued constraint of '<em>Many To Many</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateManyToMany_IsManyValued(ManyToMany manyToMany, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "IsManyValued", getObjectLabel(manyToMany, context) },
+ new Object[] { manyToMany },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateManyToOne(ManyToOne manyToOne, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(manyToOne, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(manyToOne, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(manyToOne, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(manyToOne, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(manyToOne, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(manyToOne, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(manyToOne, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(manyToOne, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(manyToOne, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(manyToOne, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(manyToOne, diagnostics, context);
+ if (result || diagnostics != null) result &= validateManyToOne_IsNotManyValued(manyToOne, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the IsNotManyValued constraint of '<em>Many To One</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateManyToOne_IsNotManyValued(ManyToOne manyToOne, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "IsNotManyValued", getObjectLabel(manyToOne, context) },
+ new Object[] { manyToOne },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMapKey(MapKey mapKey, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(mapKey, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(mapKey, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(mapKey, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(mapKey, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(mapKey, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(mapKey, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(mapKey, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(mapKey, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(mapKey, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(mapKey, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(mapKey, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMappedSuperclass(MappedSuperclass mappedSuperclass, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(mappedSuperclass, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(mappedSuperclass, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(mappedSuperclass, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(mappedSuperclass, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(mappedSuperclass, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(mappedSuperclass, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(mappedSuperclass, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(mappedSuperclass, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(mappedSuperclass, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(mappedSuperclass, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(mappedSuperclass, diagnostics, context);
+ if (result || diagnostics != null) result &= validateMappedSuperclass_NoInterface(mappedSuperclass, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the NoInterface constraint of '<em>Mapped Superclass</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMappedSuperclass_NoInterface(MappedSuperclass mappedSuperclass, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "NoInterface", getObjectLabel(mappedSuperclass, context) },
+ new Object[] { mappedSuperclass },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOneToMany(OneToMany oneToMany, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(oneToMany, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(oneToMany, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(oneToMany, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(oneToMany, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(oneToMany, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(oneToMany, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(oneToMany, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(oneToMany, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(oneToMany, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(oneToMany, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(oneToMany, diagnostics, context);
+ if (result || diagnostics != null) result &= validateOneToMany_IsManyValued(oneToMany, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the IsManyValued constraint of '<em>One To Many</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOneToMany_IsManyValued(OneToMany oneToMany, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "IsManyValued", getObjectLabel(oneToMany, context) },
+ new Object[] { oneToMany },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOneToOne(OneToOne oneToOne, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(oneToOne, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(oneToOne, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(oneToOne, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(oneToOne, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(oneToOne, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(oneToOne, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(oneToOne, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(oneToOne, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(oneToOne, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(oneToOne, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(oneToOne, diagnostics, context);
+ if (result || diagnostics != null) result &= validateOneToOne_IsNotManyValued(oneToOne, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the IsNotManyValued constraint of '<em>One To One</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOneToOne_IsNotManyValued(OneToOne oneToOne, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "IsNotManyValued", getObjectLabel(oneToOne, context) },
+ new Object[] { oneToOne },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOrderBy(OrderBy orderBy, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(orderBy, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(orderBy, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(orderBy, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(orderBy, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(orderBy, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(orderBy, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(orderBy, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(orderBy, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(orderBy, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(orderBy, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(orderBy, diagnostics, context);
+ if (result || diagnostics != null) result &= validateOrderBy_WellFormedOrder(orderBy, diagnostics, context);
+ if (result || diagnostics != null) result &= validateOrderBy_IsManyValued(orderBy, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the WellFormedOrder constraint of '<em>Order By</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOrderBy_WellFormedOrder(OrderBy orderBy, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "WellFormedOrder", getObjectLabel(orderBy, context) },
+ new Object[] { orderBy },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Validates the IsManyValued constraint of '<em>Order By</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOrderBy_IsManyValued(OrderBy orderBy, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "IsManyValued", getObjectLabel(orderBy, context) },
+ new Object[] { orderBy },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePrimaryKeyJoinColumn(PrimaryKeyJoinColumn primaryKeyJoinColumn, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(primaryKeyJoinColumn, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(primaryKeyJoinColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(primaryKeyJoinColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(primaryKeyJoinColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(primaryKeyJoinColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(primaryKeyJoinColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(primaryKeyJoinColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(primaryKeyJoinColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(primaryKeyJoinColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(primaryKeyJoinColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(primaryKeyJoinColumn, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSecondaryTable(SecondaryTable secondaryTable, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(secondaryTable, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(secondaryTable, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(secondaryTable, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(secondaryTable, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(secondaryTable, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(secondaryTable, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(secondaryTable, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(secondaryTable, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(secondaryTable, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(secondaryTable, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(secondaryTable, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSequenceGenerator(SequenceGenerator sequenceGenerator, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(sequenceGenerator, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(sequenceGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(sequenceGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(sequenceGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(sequenceGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(sequenceGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(sequenceGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(sequenceGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(sequenceGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(sequenceGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(sequenceGenerator, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTable(Table table, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(table, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(table, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(table, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(table, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(table, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(table, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(table, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(table, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(table, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(table, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(table, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTableGenerator(TableGenerator tableGenerator, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(tableGenerator, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(tableGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(tableGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(tableGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(tableGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(tableGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(tableGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(tableGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(tableGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(tableGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(tableGenerator, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTemporal(Temporal temporal, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(temporal, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(temporal, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(temporal, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(temporal, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(temporal, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(temporal, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(temporal, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(temporal, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(temporal, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(temporal, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(temporal, diagnostics, context);
+ if (result || diagnostics != null) result &= validateTemporal_AllowedElementType(temporal, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the AllowedElementType constraint of '<em>Temporal</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTemporal_AllowedElementType(Temporal temporal, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "AllowedElementType", getObjectLabel(temporal, context) },
+ new Object[] { temporal },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTransient(Transient transient_, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(transient_, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(transient_, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(transient_, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(transient_, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(transient_, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(transient_, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(transient_, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(transient_, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(transient_, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(transient_, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(transient_, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateUniqueConstraint(UniqueConstraint uniqueConstraint, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(uniqueConstraint, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(uniqueConstraint, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(uniqueConstraint, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(uniqueConstraint, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(uniqueConstraint, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(uniqueConstraint, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(uniqueConstraint, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(uniqueConstraint, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(uniqueConstraint, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(uniqueConstraint, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(uniqueConstraint, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateVersion(Version version, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(version, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(version, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(version, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(version, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(version, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(version, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(version, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(version, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(version, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(version, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(version, diagnostics, context);
+ if (result || diagnostics != null) result &= validateVersion_AllowedElementType(version, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the AllowedElementType constraint of '<em>Version</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateVersion_AllowedElementType(Version version, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO implement the constraint
+ // -> specify the condition that violates the constraint
+ // -> verify the diagnostic details, including severity, code, and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (createDiagnostic
+ (Diagnostic.ERROR,
+ DIAGNOSTIC_SOURCE,
+ 0,
+ "_UI_GenericConstraint_diagnostic",
+ new Object[] { "AllowedElementType", getObjectLabel(version, context) },
+ new Object[] { version },
+ context));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateForeignKey(ForeignKey foreignKey, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(foreignKey, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(foreignKey, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(foreignKey, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(foreignKey, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(foreignKey, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(foreignKey, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(foreignKey, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(foreignKey, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(foreignKey, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(foreignKey, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(foreignKey, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSequenceStyleGenerator(SequenceStyleGenerator sequenceStyleGenerator, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(sequenceStyleGenerator, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(sequenceStyleGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(sequenceStyleGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(sequenceStyleGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(sequenceStyleGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(sequenceStyleGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(sequenceStyleGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(sequenceStyleGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(sequenceStyleGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(sequenceStyleGenerator, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(sequenceStyleGenerator, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateExternal(External external, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(external, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(external, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(external, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(external, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(external, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(external, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(external, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(external, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(external, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(external, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(external, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEAVMapping(EAVMapping eavMapping, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(eavMapping, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(eavMapping, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(eavMapping, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(eavMapping, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(eavMapping, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(eavMapping, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(eavMapping, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(eavMapping, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(eavMapping, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(eavMapping, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(eavMapping, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNoEAVMapping(NoEAVMapping noEAVMapping, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(noEAVMapping, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(noEAVMapping, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(noEAVMapping, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(noEAVMapping, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(noEAVMapping, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(noEAVMapping, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(noEAVMapping, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(noEAVMapping, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(noEAVMapping, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(noEAVMapping, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(noEAVMapping, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateListIndexColumn(ListIndexColumn listIndexColumn, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(listIndexColumn, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(listIndexColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(listIndexColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(listIndexColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(listIndexColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(listIndexColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(listIndexColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(listIndexColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(listIndexColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_CompatibleEModelElementType(listIndexColumn, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePAnnotation_AnnotationIsSupported(listIndexColumn, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCascadeType(CascadeType cascadeType, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDiscriminatorType(DiscriminatorType discriminatorType, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEnumType(EnumType enumType, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateFetchType(FetchType fetchType, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateGenerationType(GenerationType generationType, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInheritanceType(InheritanceType inheritanceType, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTemporalType(TemporalType temporalType, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOptimizerType(OptimizerType optimizerType, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return true;
+ }
+
+ /**
+ * Returns the resource locator that will be used to fetch messages for this validator's diagnostics.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ // TODO
+ // Specialize this to return a resource locator for messages specific to this validator.
+ // Ensure that you remove @generated or mark it @generated NOT
+ return super.getResourceLocator();
+ }
+
+} //PannotationValidator
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/AssociationOverrideValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/AssociationOverrideValidator.java
new file mode 100755
index 000000000..4fa57d213
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/AssociationOverrideValidator.java
@@ -0,0 +1,24 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: AssociationOverrideValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.teneo.annotations.pannotation.JoinColumn;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.AssociationOverride}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface AssociationOverrideValidator {
+ boolean validate();
+
+ boolean validateName(String value);
+ boolean validateJoinColumns(EList<JoinColumn> value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/AttributeOverrideValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/AttributeOverrideValidator.java
new file mode 100755
index 000000000..9dfc5537f
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/AttributeOverrideValidator.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: AttributeOverrideValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+import org.eclipse.emf.teneo.annotations.pannotation.Column;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.AttributeOverride}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface AttributeOverrideValidator {
+ boolean validate();
+
+ boolean validateName(String value);
+ boolean validateColumn(Column value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/BasicValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/BasicValidator.java
new file mode 100755
index 000000000..363ebd7b1
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/BasicValidator.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: BasicValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+import org.eclipse.emf.teneo.annotations.pannotation.FetchType;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.Basic}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface BasicValidator {
+ boolean validate();
+
+ boolean validateFetch(FetchType value);
+ boolean validateOptional(boolean value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/ColumnValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/ColumnValidator.java
new file mode 100755
index 000000000..4d1c1d459
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/ColumnValidator.java
@@ -0,0 +1,33 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ColumnValidator.java,v 1.2 2009/09/13 14:45:54 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.Column}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface ColumnValidator {
+ boolean validate();
+
+ boolean validateName(String value);
+ boolean validateUnique(boolean value);
+ boolean validateNullable(boolean value);
+ boolean validateInsertable(boolean value);
+ boolean validateUpdatable(boolean value);
+ boolean validateColumnDefinition(String value);
+ boolean validateTable(String value);
+ boolean validateLength(int value);
+ boolean validatePrecision(int value);
+ boolean validateScale(int value);
+
+ boolean validateUniqueKey(String value);
+
+ boolean validateIndex(String value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/DiscriminatorColumnValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/DiscriminatorColumnValidator.java
new file mode 100755
index 000000000..75d03578f
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/DiscriminatorColumnValidator.java
@@ -0,0 +1,27 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: DiscriminatorColumnValidator.java,v 1.2 2009/09/13 14:45:54 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+import org.eclipse.emf.teneo.annotations.pannotation.Column;
+import org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorType;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorColumn}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface DiscriminatorColumnValidator {
+ boolean validate();
+
+ boolean validateName(String value);
+ boolean validateDiscriminatorType(DiscriminatorType value);
+ boolean validateColumnDefinition(String value);
+ boolean validateLength(int value);
+
+ boolean validateColumn(Column value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/DiscriminatorValueValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/DiscriminatorValueValidator.java
new file mode 100755
index 000000000..d23982ec6
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/DiscriminatorValueValidator.java
@@ -0,0 +1,20 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: DiscriminatorValueValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.DiscriminatorValue}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface DiscriminatorValueValidator {
+ boolean validate();
+
+ boolean validateValue(String value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/EAVMappingValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/EAVMappingValidator.java
new file mode 100644
index 000000000..8163bb938
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/EAVMappingValidator.java
@@ -0,0 +1,19 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: EAVMappingValidator.java,v 1.1 2009/08/21 10:16:53 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.EAVMapping}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface EAVMappingValidator {
+ boolean validate();
+
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/EmbeddableValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/EmbeddableValidator.java
new file mode 100755
index 000000000..24bd61d10
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/EmbeddableValidator.java
@@ -0,0 +1,19 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: EmbeddableValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.Embeddable}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface EmbeddableValidator {
+ boolean validate();
+
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/EmbeddedIdValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/EmbeddedIdValidator.java
new file mode 100755
index 000000000..7e3b35986
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/EmbeddedIdValidator.java
@@ -0,0 +1,19 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: EmbeddedIdValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.EmbeddedId}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface EmbeddedIdValidator {
+ boolean validate();
+
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/EmbeddedValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/EmbeddedValidator.java
new file mode 100755
index 000000000..9e6798b4d
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/EmbeddedValidator.java
@@ -0,0 +1,19 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: EmbeddedValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.Embedded}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface EmbeddedValidator {
+ boolean validate();
+
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/EntityValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/EntityValidator.java
new file mode 100755
index 000000000..7b4d2c082
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/EntityValidator.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: EntityValidator.java,v 1.2 2008/03/12 07:30:05 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.Entity}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface EntityValidator {
+ boolean validate();
+
+ boolean validateName(String value);
+
+ boolean validateExtends(String value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/EnumeratedValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/EnumeratedValidator.java
new file mode 100755
index 000000000..aa08dbd67
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/EnumeratedValidator.java
@@ -0,0 +1,21 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: EnumeratedValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+import org.eclipse.emf.teneo.annotations.pannotation.EnumType;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.Enumerated}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface EnumeratedValidator {
+ boolean validate();
+
+ boolean validateValue(EnumType value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/ExternalValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/ExternalValidator.java
new file mode 100644
index 000000000..7141f1468
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/ExternalValidator.java
@@ -0,0 +1,20 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ExternalValidator.java,v 1.1 2009/08/21 10:16:53 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.External}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface ExternalValidator {
+ boolean validate();
+
+ boolean validateType(String value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/ForeignKeyValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/ForeignKeyValidator.java
new file mode 100755
index 000000000..5a3dcea2b
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/ForeignKeyValidator.java
@@ -0,0 +1,20 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ForeignKeyValidator.java,v 1.1 2007/07/11 17:15:11 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.ForeignKey}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface ForeignKeyValidator {
+ boolean validate();
+
+ boolean validateName(String value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/GeneratedValueValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/GeneratedValueValidator.java
new file mode 100755
index 000000000..80d85f1d4
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/GeneratedValueValidator.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: GeneratedValueValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+import org.eclipse.emf.teneo.annotations.pannotation.GenerationType;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.GeneratedValue}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface GeneratedValueValidator {
+ boolean validate();
+
+ boolean validateStrategy(GenerationType value);
+ boolean validateGenerator(String value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/IdClassValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/IdClassValidator.java
new file mode 100755
index 000000000..cc4e47fbb
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/IdClassValidator.java
@@ -0,0 +1,20 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: IdClassValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.IdClass}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface IdClassValidator {
+ boolean validate();
+
+ boolean validateValue(String value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/IdValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/IdValidator.java
new file mode 100755
index 000000000..ae9344fdf
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/IdValidator.java
@@ -0,0 +1,19 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: IdValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.Id}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface IdValidator {
+ boolean validate();
+
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/IndexColumnValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/IndexColumnValidator.java
new file mode 100644
index 000000000..2e05f9b15
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/IndexColumnValidator.java
@@ -0,0 +1,20 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: IndexColumnValidator.java,v 1.1 2009/12/13 10:14:18 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.IndexColumn}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface IndexColumnValidator {
+ boolean validate();
+
+ boolean validateName(String value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/InheritanceValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/InheritanceValidator.java
new file mode 100755
index 000000000..8b9911c5c
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/InheritanceValidator.java
@@ -0,0 +1,21 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: InheritanceValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+import org.eclipse.emf.teneo.annotations.pannotation.InheritanceType;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.Inheritance}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface InheritanceValidator {
+ boolean validate();
+
+ boolean validateStrategy(InheritanceType value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/JoinColumnValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/JoinColumnValidator.java
new file mode 100755
index 000000000..a5705180e
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/JoinColumnValidator.java
@@ -0,0 +1,27 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: JoinColumnValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface JoinColumnValidator {
+ boolean validate();
+
+ boolean validateName(String value);
+ boolean validateReferencedColumnName(String value);
+ boolean validateUnique(boolean value);
+ boolean validateNullable(boolean value);
+ boolean validateInsertable(boolean value);
+ boolean validateUpdatable(boolean value);
+ boolean validateColumnDefinition(String value);
+ boolean validateTable(String value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/JoinTableValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/JoinTableValidator.java
new file mode 100755
index 000000000..c4537cf79
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/JoinTableValidator.java
@@ -0,0 +1,29 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: JoinTableValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.teneo.annotations.pannotation.JoinColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.JoinTable}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface JoinTableValidator {
+ boolean validate();
+
+ boolean validateName(String value);
+ boolean validateCatalog(String value);
+ boolean validateSchema(String value);
+ boolean validateJoinColumns(EList<JoinColumn> value);
+ boolean validateInverseJoinColumns(EList<JoinColumn> value);
+ boolean validateUniqueConstraints(EList<UniqueConstraint> value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/ListIndexColumnValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/ListIndexColumnValidator.java
new file mode 100644
index 000000000..2c5b1f1df
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/ListIndexColumnValidator.java
@@ -0,0 +1,20 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ListIndexColumnValidator.java,v 1.1 2009/12/13 10:14:17 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.ListIndexColumn}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface ListIndexColumnValidator {
+ boolean validate();
+
+ boolean validateName(String value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/LobValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/LobValidator.java
new file mode 100755
index 000000000..97a928b37
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/LobValidator.java
@@ -0,0 +1,19 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: LobValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.Lob}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface LobValidator {
+ boolean validate();
+
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/ManyToManyValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/ManyToManyValidator.java
new file mode 100755
index 000000000..c8bd02b4d
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/ManyToManyValidator.java
@@ -0,0 +1,28 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ManyToManyValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.teneo.annotations.pannotation.CascadeType;
+import org.eclipse.emf.teneo.annotations.pannotation.FetchType;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.ManyToMany}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface ManyToManyValidator {
+ boolean validate();
+
+ boolean validateTargetEntity(String value);
+ boolean validateCascade(EList<CascadeType> value);
+ boolean validateFetch(FetchType value);
+ boolean validateMappedBy(String value);
+ boolean validateIndexed(boolean value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/ManyToOneValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/ManyToOneValidator.java
new file mode 100755
index 000000000..7c3a06f1b
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/ManyToOneValidator.java
@@ -0,0 +1,27 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ManyToOneValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.teneo.annotations.pannotation.CascadeType;
+import org.eclipse.emf.teneo.annotations.pannotation.FetchType;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.ManyToOne}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface ManyToOneValidator {
+ boolean validate();
+
+ boolean validateTargetEntity(String value);
+ boolean validateCascade(EList<CascadeType> value);
+ boolean validateFetch(FetchType value);
+ boolean validateOptional(boolean value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/MapKeyValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/MapKeyValidator.java
new file mode 100755
index 000000000..621a7ff1a
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/MapKeyValidator.java
@@ -0,0 +1,20 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: MapKeyValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.MapKey}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface MapKeyValidator {
+ boolean validate();
+
+ boolean validateName(String value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/MappedSuperclassValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/MappedSuperclassValidator.java
new file mode 100755
index 000000000..d846ed785
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/MappedSuperclassValidator.java
@@ -0,0 +1,19 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: MappedSuperclassValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.MappedSuperclass}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface MappedSuperclassValidator {
+ boolean validate();
+
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/NoEAVMappingValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/NoEAVMappingValidator.java
new file mode 100644
index 000000000..08b681a53
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/NoEAVMappingValidator.java
@@ -0,0 +1,19 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: NoEAVMappingValidator.java,v 1.1 2009/09/11 20:45:03 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.NoEAVMapping}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface NoEAVMappingValidator {
+ boolean validate();
+
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/OneToManyValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/OneToManyValidator.java
new file mode 100755
index 000000000..7ee31fc40
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/OneToManyValidator.java
@@ -0,0 +1,29 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: OneToManyValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.teneo.annotations.pannotation.CascadeType;
+import org.eclipse.emf.teneo.annotations.pannotation.FetchType;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.OneToMany}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface OneToManyValidator {
+ boolean validate();
+
+ boolean validateTargetEntity(String value);
+ boolean validateCascade(EList<CascadeType> value);
+ boolean validateFetch(FetchType value);
+ boolean validateMappedBy(String value);
+ boolean validateIndexed(boolean value);
+ boolean validateUnique(boolean value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/OneToOneValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/OneToOneValidator.java
new file mode 100755
index 000000000..be828895a
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/OneToOneValidator.java
@@ -0,0 +1,28 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: OneToOneValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.teneo.annotations.pannotation.CascadeType;
+import org.eclipse.emf.teneo.annotations.pannotation.FetchType;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.OneToOne}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface OneToOneValidator {
+ boolean validate();
+
+ boolean validateTargetEntity(String value);
+ boolean validateCascade(EList<CascadeType> value);
+ boolean validateFetch(FetchType value);
+ boolean validateOptional(boolean value);
+ boolean validateMappedBy(String value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/OrderByValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/OrderByValidator.java
new file mode 100755
index 000000000..8b6771b3f
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/OrderByValidator.java
@@ -0,0 +1,20 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: OrderByValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.OrderBy}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface OrderByValidator {
+ boolean validate();
+
+ boolean validateValue(String value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/PAnnotationValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/PAnnotationValidator.java
new file mode 100755
index 000000000..e52254b6e
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/PAnnotationValidator.java
@@ -0,0 +1,21 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PAnnotationValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+import org.eclipse.emf.ecore.EModelElement;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.PAnnotation}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface PAnnotationValidator {
+ boolean validate();
+
+ boolean validateEModelElement(EModelElement value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/PrimaryKeyJoinColumnValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/PrimaryKeyJoinColumnValidator.java
new file mode 100755
index 000000000..16b96097e
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/PrimaryKeyJoinColumnValidator.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PrimaryKeyJoinColumnValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.PrimaryKeyJoinColumn}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface PrimaryKeyJoinColumnValidator {
+ boolean validate();
+
+ boolean validateName(String value);
+ boolean validateReferencedColumnName(String value);
+ boolean validateColumnDefinition(String value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/SecondaryTableValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/SecondaryTableValidator.java
new file mode 100755
index 000000000..202b1e7ac
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/SecondaryTableValidator.java
@@ -0,0 +1,28 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SecondaryTableValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.teneo.annotations.pannotation.PrimaryKeyJoinColumn;
+import org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.SecondaryTable}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface SecondaryTableValidator {
+ boolean validate();
+
+ boolean validateName(String value);
+ boolean validateCatalog(String value);
+ boolean validateSchema(String value);
+ boolean validatePkJoinColumns(EList<PrimaryKeyJoinColumn> value);
+ boolean validateUniqueConstraints(EList<UniqueConstraint> value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/SequenceGeneratorValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/SequenceGeneratorValidator.java
new file mode 100755
index 000000000..789ef9231
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/SequenceGeneratorValidator.java
@@ -0,0 +1,23 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SequenceGeneratorValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.SequenceGenerator}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface SequenceGeneratorValidator {
+ boolean validate();
+
+ boolean validateName(String value);
+ boolean validateSequenceName(String value);
+ boolean validateInitialValue(int value);
+ boolean validateAllocationSize(int value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/SequenceStyleGeneratorValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/SequenceStyleGeneratorValidator.java
new file mode 100644
index 000000000..cd3565eb0
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/SequenceStyleGeneratorValidator.java
@@ -0,0 +1,25 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SequenceStyleGeneratorValidator.java,v 1.1 2009/08/21 10:16:53 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+import org.eclipse.emf.teneo.annotations.pannotation.OptimizerType;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.SequenceStyleGenerator}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface SequenceStyleGeneratorValidator {
+ boolean validate();
+
+ boolean validateName(String value);
+ boolean validateSequenceName(String value);
+ boolean validateInitialValue(int value);
+ boolean validateIncrementSize(int value);
+ boolean validateOptimizer(OptimizerType value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/TableGeneratorValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/TableGeneratorValidator.java
new file mode 100755
index 000000000..96d601dda
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/TableGeneratorValidator.java
@@ -0,0 +1,32 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TableGeneratorValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.TableGenerator}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface TableGeneratorValidator {
+ boolean validate();
+
+ boolean validateName(String value);
+ boolean validateTable(String value);
+ boolean validateCatalog(String value);
+ boolean validateSchema(String value);
+ boolean validatePkColumnName(String value);
+ boolean validateValueColumnName(String value);
+ boolean validatePkColumnValue(String value);
+ boolean validateInitialValue(int value);
+ boolean validateAllocationSize(int value);
+ boolean validateUniqueConstraints(EList<UniqueConstraint> value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/TableValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/TableValidator.java
new file mode 100755
index 000000000..f6939cab0
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/TableValidator.java
@@ -0,0 +1,26 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TableValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.Table}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface TableValidator {
+ boolean validate();
+
+ boolean validateName(String value);
+ boolean validateCatalog(String value);
+ boolean validateSchema(String value);
+ boolean validateUniqueConstraints(EList<UniqueConstraint> value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/TemporalValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/TemporalValidator.java
new file mode 100755
index 000000000..4dbb5ff1c
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/TemporalValidator.java
@@ -0,0 +1,21 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TemporalValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+import org.eclipse.emf.teneo.annotations.pannotation.TemporalType;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.Temporal}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface TemporalValidator {
+ boolean validate();
+
+ boolean validateValue(TemporalType value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/TransientValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/TransientValidator.java
new file mode 100755
index 000000000..56df8ce5a
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/TransientValidator.java
@@ -0,0 +1,19 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TransientValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.Transient}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface TransientValidator {
+ boolean validate();
+
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/UniqueConstraintValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/UniqueConstraintValidator.java
new file mode 100755
index 000000000..683e28ff4
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/UniqueConstraintValidator.java
@@ -0,0 +1,21 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: UniqueConstraintValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.UniqueConstraint}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface UniqueConstraintValidator {
+ boolean validate();
+
+ boolean validateColumnNames(EList<String> value);
+}
diff --git a/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/VersionValidator.java b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/VersionValidator.java
new file mode 100755
index 000000000..298dff5ce
--- /dev/null
+++ b/core/org.eclipse.emf.teneo.annotations/src/org/eclipse/emf/teneo/annotations/pannotation/validation/VersionValidator.java
@@ -0,0 +1,19 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: VersionValidator.java,v 1.1 2007/02/08 23:12:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.annotations.pannotation.validation;
+
+
+/**
+ * A sample validator interface for {@link org.eclipse.emf.teneo.annotations.pannotation.Version}.
+ * This doesn't really do anything, and it's not a real EMF artifact.
+ * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
+ * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
+ */
+public interface VersionValidator {
+ boolean validate();
+
+}

Back to the top